autoupdate
[gnulib.git] / ChangeLog
1 2013-09-26  Eric Blake  <eblake@redhat.com>
2
3         dup2, dup3: work around another cygwin crasher
4         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
5         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
6         * tests/test-dup2.c (main): Likewise.
7         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
8         * lib/dup3.c (dup3): Likewise.
9         * doc/posix-functions/dup2.texi (dup2): Document it.
10         * doc/glibc-functions/dup3.texi (dup3): Likewise.
11
12         getdtablesize: work around cygwin issue
13         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
14         * modules/getdtablesize (configure.ac): Build replacement.
15         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
16         * modules/unistd (Makefile.am): Expose the witness.
17         * lib/unistd.in.h (getdtablesize): Declare replacement.
18         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
19         * tests/test-getdtablesize.c (main): Test it.
20         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
21
22 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
23
24         pmccabe2html: escaping of special characters
25         Escape all '<', '>', and '&' in HTML output.
26         * build-aux/pmccabe2html (html_fnc): Call gsub()
27         instead of sub() to capture all '<', '>', and '&'.
28         Neither of '<' and '>' is special in a regexp,
29         so first arguments to gsub() are corrected. Also,
30         in replacement strings, ampersand must be escaped.
31         Finally, '&' must be handled first, then '<' and '>'.
32
33 2013-09-24  Eric Blake  <eblake@redhat.com>
34
35         manywarnings: enable nicer gcc warning messages
36         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
37         some -f options for optimal warnings.
38
39 2013-09-21  Jim Meyering  <meyering@fb.com>
40
41         timespec: use the new TIMESPEC_RESOLUTION in a few more places
42         * lib/timespec-add.c (timespec_add): Also replace 999999999
43         with TIMESPEC_RESOLUTION - 1.
44         * lib/timespec-sub.c (timespec_sub): Likewise.
45
46 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
47
48         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
49         Problem reported by Dagobert Michelsen via Eric Blake in
50         <http://lists.gnu.org/archive/html/bug-gnulib/2013-09/msg00052.html>.
51         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
52         not AC_COMPILE_IFELSE.
53
54 2013-09-23  Eric Blake  <eblake@redhat.com>
55
56         configmake: support new --runstatedir option
57         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
58         even if autoconf was too old to provide the command line option.
59         * modules/configmake (Makefile.am): Propagate it to .h file.
60
61 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62
63         ctype, string: depend on extern-inline
64         This is needed to complete the recent OS X fixes.
65         Also, fix related documentation as suggested by Eric Blake.
66         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
67         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
68         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
69         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
70         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
71         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
72         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
73         * doc/posix-functions/toupper.texi:
74         List the 'ctype' gnulib module.
75         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
76         * doc/posix-functions/strncpy.texi:
77         List the 'string' gnulib module.
78         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
79         Add string.
80         * modules/ctype, modules/string (Depends-on): Add extern-inline.
81
82 2013-09-19  Pádraig Brady  <P@draigBrady.com>
83
84         userspec: support optional parameters to parse_user_spec()
85         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
86         then avoid group processing and treat the full spec as a user.
87         (parse_with_separator): Allow the USERNAME and GROUPNAME to
88         be optional params (NULL), in which case they're ignored.
89
90 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
91
92         timespec: new function make_timespec, and new constants
93         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
94         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
95         (make_timespec): New function.
96         * lib/dtotimespec.c (dtotimespec):
97         * lib/timespec-add.c (timespec_add):
98         * lib/timespec-sub.c (timespec_sub):
99         * lib/utimens.c (validate_timespec):
100         * lib/utimensat.c (rpl_utimensat):
101         Use these new constants and functions.
102
103         stdio: OS X port of putc_unlocked + extern inline
104         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
105         * doc/posix-functions/putc_unlocked.texi:
106         * doc/posix-functions/putchar_unlocked.texi:
107         Document this portability problem.
108
109         signal: OS X port of sigaddset etc. + extern inline
110         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
111         (sigismember): #undef on problematic Apple platforms.
112         * doc/posix-functions/sigaddset.texi:
113         * doc/posix-functions/sigdelset.texi:
114         * doc/posix-functions/sigemptyset.texi:
115         * doc/posix-functions/sigfillset.texi:
116         * doc/posix-functions/sigismember.texi:
117         Document this portability problem.
118
119         extern-inline: do not always suppress extern inline on OS X
120         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
121         extern inline on Apple only if the particular compile-time
122         configuration is known to have the problem.
123         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
124         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
125         other Gnulib modules.
126
127         extern-inline: document fixes for ctype and wctype macros
128         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
129         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
130         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
131         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
132         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
133         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
134         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
135         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
136         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
137         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
138         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
139         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
140         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
141         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
142         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
143         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
144         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
145         * doc/posix-functions/strncpy.texi:
146         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
147         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
148         Document that Gnulib fixes portability problems with these
149         functions on OS X 10.8 and earlier when called from plain inline
150         or extern inline functions.
151
152 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
153
154         fflush, freadahead, fseeko: Fix for Android
155         Suggested by Bruno Haible in:
156         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00306.html>
157         * lib/stdio-impl.h: Use local __sfileext definition.
158
159 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
160
161         pmccabe2html: Portability to other awk versions.
162         The functions systime() and strftime() are available
163         in Gawk only.  Properly close two HTML-tags 'style'
164         and 'span'.
165         * build-aux/pmccabe2html (BEGIN): Store timing
166         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
167         systime() in HTML_COMMENT.
168         (html_header): Correctly close tag 'style'.
169         (END): Replace strftime() by CHRONOS_TIME.  Close
170         tag 'span' correctly, not as 'div'.
171
172 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
173
174         getgroups: statement without effect
175         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
176         Change equality conditional to expected assignment.
177
178 2013-09-09  Eric Blake  <eblake@redhat.com>
179
180         glob: fix compilation
181         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
182
183 2013-09-07  Eric Blake  <eblake@redhat.com>
184
185         glob: fix build for platforms without __THROW
186         * lib/glob.in.h (__THROW): Add definition again.
187
188 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
189
190         regex-quote: fix buffer access out of bounds
191         http://lists.gnu.org/archive/html/bug-gnulib/2013-09/msg00001.html
192         * lib/regex-quote.c (regex_quote_spec_pcre):
193         Fix typo that resulted in an out-of-bounds read.
194
195 2013-09-04  Eric Blake  <eblake@redhat.com>
196
197         glob: avoid -Wattribute warnings on glibc
198         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
199         __THROWNL, not __THROW, on static functions.
200         * lib/glob.in.h (__THROW): Adjust...
201         (__THROWNL): ...accordingly.
202
203 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
204
205         headers: check that _GL_INLINE_HEADER_BEGIN is defined
206         Suggested by Bruce Korb in:
207         http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00070.html
208         * doc/extern-inline.texi (extern inline):
209         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
210         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
211         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
212         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
213         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
214         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
215         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
216         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
217         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
218         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
219         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
220         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
221         * lib/xtime.h:
222         Check that _GL_INLINE_HEADER_BEGIN is defined.
223
224 2013-08-29  Pádraig Brady  <P@draigBrady.com>
225
226         bootstrap: remove the --version requirement from ancillary tools
227         * build-aux/bootstrap (check_exists): A new refactored function to
228         determine if a command exists.
229         (find_tool): Use the new function which does not require the
230         --version option to be supported.
231         (check_versions): Use the new function.
232
233 2013-08-26  Simon Josefsson  <simon@josefsson.org>
234
235         gc: support HMAC-SHA256 and HMAC-SHA512.
236         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
237         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
238         functions.
239         (gc_hmac_md5): Use symbolic constant.
240         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
241         (gc_hmac_sha256, gc_hmac_sha512): New functions.
242         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
243         * m4/sha256.m4: Protect against empty expansion.
244         * m4/sha512.m4: Likewise.
245         * lib/hmac-sha256.c: New file.
246         * lib/hmac-sha512.c: Likewise.
247         * m4/gc-hmac-sha256.m4: Likewise.
248         * m4/gc-hmac-sha512.m4: Likewise.
249         * m4/gc-sha256.m4: Likewise.
250         * m4/gc-sha512.m4: Likewise.
251         * modules/crypto/gc-hmac-sha256: Likewise.
252         * modules/crypto/gc-hmac-sha256-tests: Likewise.
253         * modules/crypto/gc-hmac-sha512: Likewise.
254         * modules/crypto/gc-hmac-sha512-tests: Likewise.
255         * modules/crypto/hmac-sha256: Likewise.
256         * modules/crypto/hmac-sha256-tests: Likewise.
257         * modules/crypto/hmac-sha512: Likewise.
258         * modules/crypto/hmac-sha512-tests: Likewise.
259         * tests/test-gc-hmac-sha256.c: Likewise.
260         * tests/test-gc-hmac-sha512.c: Likewise
261         * tests/test-hmac-sha256.c: Likewise.
262         * tests/test-hmac-sha512.c: Likewise
263
264 2013-08-24  Daiki Ueno  <ueno@gnu.org>
265
266         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
267         of AC_CHECK_DECLS.
268
269 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
270
271         selinux-at: omit unnecessary include
272         * lib/selinux-at.c: Don't include dosname.h; not needed, since
273         this source file doesn't use its macros, and subsidiary files that
274         use the macros already include it.
275
276 2013-08-21  Eric Blake  <eblake@redhat.com>
277
278         d-ino: avoid false negative on symlink
279         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
280         Reported by Stephane Chazelas.
281
282 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
283
284         bootstrap: port to OpenBSD sed
285         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
286         does not interpret `-' as a file argument to mean stdin.
287
288 2013-08-15  Eric Blake  <eblake@redhat.com>
289
290         warnings: minor optimization
291         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
292
293         warnings: check -Wfoo rather than -Wno-foo
294         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
295         -Wno-, test if the compiler recognizes the positive form instead.
296
297 2013-08-15  Karl Berry  <karl@gnu.org>
298
299         * config/srclist-update: add option "doclicense" to placate
300         pulling *.texi files from Emacs.  Write terse usage
301         documentation at the top.
302
303 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
304
305         xvasprintf-tests: port to GCC with hardening flags
306         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
307         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
308         http://lists.gnu.org/archive/html/bug-diffutils/2013-08/msg00002.html
309
310 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
311
312         fpending: port to recent Cygwin change to stdio_ext.h
313         Reported by LRN in
314         <http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00028.html>.
315         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
316         just declare __fpending unless it's a macro.
317         A duplicate decl shouldn't hurt.
318         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
319         call compiles and links, instead of separately checking for
320         decl and lib function.
321         * modules/fpending (configure-ac):
322         Adjust to fpending.m4's renaming of shell variable.
323
324 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
325
326         sys_time: port to OpenBSD
327         * lib/sys_time.in.h: Simply delegate to the system's header
328         in the BSDish cases as well.  Problem reported by Mike Miller in
329         <http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00016.html>.
330         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
331         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
332         wider than time_t.
333
334 2013-08-09  Pádraig Brady <P@draigBrady.com>
335
336         bootstrap: support checksum utils having -c but not --status
337         * build-aux/bootstrap: Only look for sha1sum if updating po files.
338         Add sha1 to the list of supported checksum utils since it's now
339         supported through adjustments below.
340         (update_po_files): Remove the use of --status
341         in a way that will suppress all error messages, but since this is
342         only used to minimize updates, it shouldn't cause an issue.
343         Exit early if there is a problem updating the po file checksums.
344         (find_tool): Remove the check for --version support as this
345         is optional as per commit 86186b17.  Don't even check for the
346         presence of the command as if that is needed, it's supported
347         through configuring prerequisites in bootstrap.conf.
348         Prompt that when a tool isn't found, one can define an environment
349         variable to add to the hardcoded search list.
350
351 2013-08-05  Jim Meyering  <meyering@fb.com>
352
353         regex: port to non-glibc/lock-using systems
354         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
355         system with GNULIB_LOCK would fail due to absence of the
356         included "glthread/lock.h".  This would affect any package
357         for which the "lock" module is used only by the regex module,
358         and not explicitly used.
359         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
360         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
361         Add a dependency on the "lock" module.
362
363 2013-07-20  Daiki Ueno  <ueno@gnu.org>
364
365         localecharset: make locale_charset thread-safe on Mac OS X
366         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
367         instead of MB_CUR_MAX.
368
369 2013-07-20  Daiki Ueno  <ueno@gnu.org>
370
371         gettext: update to version 0.18.3
372         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
373         require AC_PROG_SED to allow user to specify custom sed command when
374         generating en@quot PO file.
375
376 2013-07-18  Werner Lemberg <wl@gnu.org>  (tiny change)
377
378         bootstrap: use correct source when copying build-aux files
379         * build-aux/bootstrap (gnulib_extra_files): This variable is
380         relative to upstream gnulib layout, not downstream.
381
382 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
383
384         tmpdir: fix bug in VMS port
385         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
386         See Steven M. Schweda in
387         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00026.html>.
388
389 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
390
391         tmpdir: port to VMS, to // != /, and to long dirs
392         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
393         __secure_getenv, so that we're more like the glibc version.
394         All uses changed.
395         (path_search): Don't put slash after directory if __VMS.
396         Problem reported by Steven M. Schweda in
397         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00019.html>.
398         Simplify code to add slash; no need for a loop.
399         Do not remove trailing slash from "//".
400         Do not assume dlen <= INT_MAX.
401
402 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
403
404         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
405         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
406         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
407         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00015.html>.
408
409         accept4, dup3, pipe2: port to Cygwin
410         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
411         * lib/accept4.c (accept4) [O_BINARY]:
412         * lib/dup3.c (dup3) [O_BINARY]:
413         * lib/pipe2.c (pipe2) [O_BINARY]:
414         Use set_binary_mode, not setmode.
415         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
416         * modules/binary-io (Depends-on): Remove module indicator.
417         These last two bits undo the previous change to pipe2 and binary-io.
418
419 2013-07-09  Pádraig Brady  <P@draigBrady.com>
420
421         mountlist: add support for deallocating returned list entries
422         * lib/mountlist.c (free_mount_entry): A new exported function
423         to deallocate a mount list entry.
424         (read_file_system_list): Refactor to use the new deallocation function.
425         Suggested by Anton Ovchinnikov.
426
427 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
428
429         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
430         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
431         * lib/stdalign.in.h (_Alignas, _Alignof):
432         Port to FreeBSD 9.1, and to C11 and C++11.
433         (_Alignas): Also support ICC.
434         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
435         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
436
437 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
438
439         fnmatch: don't goto over declaration
440         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
441         undefined behavior for goto over a declaration.
442         Problem reported by Charlie Brown in
443         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00009.html>.
444
445         pipe2: decouple from binary-io a bit
446         This is for Emacs, which needs pipe2 but not binary-io.
447         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
448         * modules/binary-io (Depends-on): Add module indicator.
449
450 2013-07-03  Eric Blake  <eblake@redhat.com>
451
452         mgetgroups: relax license to LGPLv2+
453         * modules/getugroups (License): Change from GPLv3+.
454         * modules/mgetgroups (License): Likewise.
455         * modules/getgroups (License): Change from LGPLv3+.
456
457         xalloc-oversized: relax license to LGPLv2+
458         * modules/xalloc-oversized (License): Change from GPLv3+.
459
460         nproc: relax license to LGPLv2+
461         * modules/nproc (License): Change from LGPLv3+.
462
463         bootstrap: honor --no-git
464         * build-aux/bootstrap: Don't even try to use git when user is
465         pointing to a static checkout.
466
467 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
468
469         ignore-value: port to gcc -pedantic
470         * lib/ignore-value.h (ignore_value):
471         Port to gcc -pedantic, by using __extension__.
472         Reindent as per usual gnulib style nowadays.
473         Simplify GCC version check.
474
475 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
476
477         extern-inline: port to gcc -std=c89
478         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
479         Do not use __gnu_inline__ if pedantic and pre-C99.
480
481 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
482
483         doc: document extern-inline
484         * doc/extern-inline.texi: New file.
485         * doc/gnulib.texi (alloca-opt): Include it.
486         * m4/extern-inline.m4: Move some comments to documentation,
487         and others closer to what they describe.
488
489         doc: chatter less
490         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
491         (updated-stamp): Use it.  This causes 'make' to output just
492         one file name rather than zillions.
493
494         fflush, fseeko: port to musl cross-compiles
495         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
496         on some implementation that (1) is not known to be buggy,
497         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
498         cross-compiled to so we can't easily check for lack of
499         conformance.  This is for cross-compiling to musl.
500         Reported by Rich Felker in
501         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00043.html>.
502         * m4/fclose.m4 (gl_FUNC_FCLOSE):
503         * m4/fflush.m4 (gl_FUNC_FFLUSH):
504         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
505         Adjust to above change.
506         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
507         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
508         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
509         known not to work, or unknown.
510
511 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
512
513         msvc-inval: port to mingw-w64
514         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
515         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
516         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00039.html>.
517
518 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
519
520         getcwd-lgpl: port to Tru64
521         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
522         Problem reported by Steven M. Schweda in
523         <http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00010.html>.
524
525         tests: port large-fd POSIX spawn tests to OS X
526         Problem reported by Daiki Ueno in
527         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00031.html>.
528         * tests/test-posix_spawn_file_actions_addclose.c:
529         * tests/test-posix_spawn_file_actions_adddup2.c:
530         * tests/test-posix_spawn_file_actions_addopen.c:
531         Include <limits.h>, for OPEN_MAX, if available.
532         (big_fd): New static function.
533         (main): Use it.
534
535 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
536
537         tests/nap.h: use an adaptive delay to avoid ctime update issues
538         The recent change in nap.h (5191133e) decreased the probability of lost
539         races to about a third, however such problems could still be observed
540         in virtual machines and openSUSE's OBS.
541         Before, nap() detected the needed time once empirically and then used
542         that delay (together with a small correction multiplier) in further
543         calls.  This problem has been reported and discussed several times,
544         including guesses about possible kernel issues:
545         https://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html
546         http://lists.gnu.org/archive/html/coreutils/2012-03/msg00088.html
547         https://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00226.html
548         http://bugs.gnu.org/12820
549         https://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html
550         https://lists.gnu.org/archive/html/bug-gnulib/2009-11/msg00007.html
551         Now, nap() avoids the race alltogether by verifying on a reference
552         file whether a timestamp difference has happened.
553         * tests/nap.h (nap_fd): Define file descriptor variable for the
554         witness file.
555         (nap_works): Change return value to bool.  Change passing
556         the old file's status by value instead of by reference as this function
557         does no longer update that timestamp; rename the function argument from
558         st to old_st.  Remove the local variables cdiff and mdiff because that
559         function now returns true/false instead of the precise delay.
560         (guess_delay): Remove function.
561         (clear_tmp_file): Add new function to close and unlink the witness file.
562         (nap): Instead of re-using the delay which has been calculated during
563         the first call, avoid the race by actually verifying that a timestamp
564         difference can be observed on the current file system.  Use an adaptive
565         approach for the delay to minimize execution time.  Assert that the
566         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
567         = 2^31 - 1 = 2.1s.
568         Use atexit to call clear_tmp_file when the process terminates.
569
570 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
571
572         sig2str: port to C++
573         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
574         Reported by Daniel J Sebald in
575         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00000.html>.
576
577 2013-05-30  Eric Blake  <eblake@redhat.com>
578
579         docs: mention cygwin shortcoming in <sys/un.h>
580         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
581
582         vasnprintf: silence mingw compiler warning
583         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
584
585 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
586
587         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
588         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
589         This fixes a porting bug I recently reintroduced in regex, and
590         some other instances that I discovered while testing the fix.
591         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
592         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
593         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
594         with an empty argument if this is a pedantic pre-C99 GCC.
595         * lib/verify.h: Do not use _Static_assert if this is a pedantic
596         pre-C11 GCC.
597
598         regex: adapt to locking regime instead of depending on pthread
599         Instead of depending on pthread, adapt to whatever thread
600         modules are in use.  Problem reported by Ludovic Courtès in
601         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00082.html>
602         and by Mats Erik Andersson in
603         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00100.html>.
604         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
605         Support either the 'lock' module, or the 'pthread' module, or
606         no module.
607         (lock_lock, lock_unlock): New macros.
608         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
609         * modules/lock, modules/pthread (configure.ac): Add module indicator.
610         * modules/regex (Depends-on): Remove pthread.
611
612 2013-05-22  Eric Blake  <eblake@redhat.com>
613
614         getgroups: document portability issues
615         * doc/glibc-functions/initgroups.texi (initgroups): Mention
616         multithread safety.
617         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
618         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
619         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
620         getugroups.
621         * doc/posix-functions/getgroups.texi (getgroups): Mention
622         multithread safety and mgetgroups.
623
624 2013-05-22  Bernhard Voelker <mail@bernhard-voelker.de>
625
626         test-lchown, test-chown: also skip test if chown fails with EPERM
627         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
628         skip this test, to handle FAT file systems.
629         * tests/test-chown.h (test_chown): Likewise.
630
631 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
632
633         regex: fix dfa race in multithreaded uses
634         Problem reported by Ludovic Courtès in
635         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00058.html>.
636         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
637         New macros.  All uses of __libc_lock_define, __libc_lock_init
638         changed to use the first two of these.
639         (__libc_lock_lock, __libc_lock_unlock): New macros, for
640         non-glibc platforms.
641         (struct re_dfa_t): Define the lock unconditionally.
642         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
643         '#ifdef _LIBC"s.
644         * modules/regex (Depends-on): Add pthread, if we use the
645         included regex.
646
647         * lib/regcomp.c: Do actions that are not needed for glibc,
648         but may be needed elsewhere.
649         (regfree, re_compile_internal): Destroy the lock.
650         (re_compile_internal): Check for lock-initialization failure.
651
652         malloca: port to compilers that reject size-zero arrays
653         This fixes a bug introduced in my previous patch.
654         * lib/malloca.c (struct preliminary_header): Use an int
655         rather than a character array of size int; that's simpler.
656         (struct header): Remove, replacing with ...
657         (union header): New type.  This avoids the need for declaring a
658         character array of size zero, which is not allowed on some platforms.
659         All uses changed.
660
661 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
662
663         parse-datetime, tests: don't use "string" + int
664         Recent versions of 'clang' complain about C source code that
665         uses expressions of the form '"string literal" + integer',
666         I guess on the theory that it's confusing for readers who are
667         used to C++.  On those grounds I suppose it's OK to make this
668         minor style change.
669         * lib/parse-datetime.y (parse_datetime):
670         * tests/test-fchdir.c (main):
671         * tests/test-snprintf-posix.h (test_function):
672         * tests/test-snprintf.c (main):
673         * tests/test-vasnprintf-posix.c (test_function):
674         * tests/test-vasnprintf.c (test_function):
675         * tests/test-vsnprintf.c (main):
676         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
677         Rewrite '"str" + E' to '&"str"[E]'.
678
679 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
680
681         argmatch: port to C++
682         * lib/argmatch.h [__cplusplus]: Add extern "C".
683
684         argp: typo fix
685         * lib/argp-help.c: Typo in comment.
686
687 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
688
689         manywarnings: update for GCC 4.8.0
690         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
691         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
692         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
693         -Wmissing-noreturn, as they are duplicates of other warnings.
694         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
695         was documented to be flaky in earlier versions of GCC.
696
697         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
698         * tests/test-spawn.c (main):
699         * tests/test-sys_socket.c (main):
700         * tests/test-sys_wait.c (main):
701         Don't have a switch value that isn't covered by a case.
702
703         getaddrinfo-tests: port --enable-gcc-warnings to clang
704         * tests/test-getaddrinfo.c (simple):
705         Avoid casts from looser to stricter-aligned pointers.
706
707         thread: port --enable-gcc-warnings to clang
708         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
709         Include <signal.h>, to pacify a warning about pthread_sigmask.
710
711         stdio: use __REDIRECT for fwrite, fwrite_unlocked
712         * lib/stdio.in.h (fwrite):
713         When working around bug 11959, use __REDIRECT rather than '#define
714         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
715         fix the -Wunused-value issue with clang, and it works with GCC too.
716         Problem with targeting reported by Eric Blake in
717         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00067.html>.
718         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
719         debugging the fwrite issue.
720
721         stdio: port --enable-gcc-warnings to clang
722         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
723         since the GCC workaround for fwrite does not pacify clang.
724
725         sig2str: port --enable-gcc-warnings to clang
726         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
727
728         obstack: port --enable-gcc-warnings to clang
729         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
730         Avoid casts from looser to stricter-aligned pointers.
731
732         memchr2: port --enable-gcc-warnings to clang
733         * lib/memchr2.c (memchr2):
734         Avoid casts from looser to stricter-aligned pointers.
735
736         mbsstr: port --enable-gcc-warnings to clang
737         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
738         Avoid casts from looser to stricter-aligned pointers.
739
740         malloca: port --enable-gcc-warnings to clang
741         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
742         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
743
744         inttostr: port --enable-gcc-warnings to clang
745         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
746
747         warnings: port to clang
748         Problem reported by Daniel P. Berrange via Eric Blake in
749         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00055.html>.
750         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
751         (gl_WARN_ADD): Use it.
752
753 2013-05-11  Jim Meyering  <meyering@fb.com>
754
755         quotearg: do not read beyond end of buffer
756         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
757         end of an ARG for which no length was specified.  With an N-byte
758         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
759         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
760         via coreutils' misc/sort-debug-keys.sh test and detected by running
761         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
762         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
763         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
764         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
765         characters correctly."
766
767 2013-05-11  Daiki Ueno  <ueno@gnu.org>
768
769         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
770         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
771         compilation target is Mac OS X 10.6.
772         Problem reported by parafin and Andoni Morales in
773         <http://savannah.gnu.org/bugs/?37844> and
774         <http://lists.gnu.org/archive/html/bug-gettext/2013-05/msg00007.html>.
775
776 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
777
778         mkdir-p: remove assumptions about umask and mode
779         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
780         umask is 0, or that MODE is a subset of MODE_BITS.
781
782 2013-05-10  Eric Blake  <eblake@redhat.com>
783
784         maint.mk: catch more abuse of HAVE_DECL in syntax-check
785         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
786
787 2012-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
788
789         deps: require Automake >= 1.9.6 in generated Makefile fragments
790
791         That is the same minimal version required in the DEPENDENCIES file.
792         Moreover, the old code generated a requirement of Automake >= 1.5,
793         and that is an insanely outdated version.
794
795         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
796         * tests/havelib/rpathlx/Makefile.am: Likewise.
797         * tests/havelib/rpathly/Makefile.am: Likewise.
798         * tests/havelib/rpathlyx/Makefile.am: Likewise.
799         * tests/havelib/rpathlz/Makefile.am: Likewise.
800         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
801         * tests/havelib/rpathx/Makefile.am: Likewise.
802         * tests/havelib/rpathy/Makefile.am: Likewise.
803         * tests/havelib/rpathz/Makefile.am: Likewise.
804
805 2013-05-08  Eric Blake  <eblake@redhat.com>
806
807         bootstrap: AC_INIT may have more than four parameters
808         * build-aux/bootstrap (extract_package_name): Correctly extract
809         non-empty tarname field.  Avoid range in regex.
810         Based on a report by Sami Kerola <kerolasa@iki.fi>.
811
812 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
813
814         qacl: port to MS-Windows port of GNU Emacs
815         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
816         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
817         port of GNU Emacs.  Problem reported by Eli Zaretskii in
818         <http://bugs.gnu.org/14295#14>.
819
820 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
821
822         acl: include quote.h
823         * lib/copy-acl.c: Include quote.h.
824         * lib/set-acl.c: Likewise.
825
826 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
827
828         fchownat, renameat, unlinkat: update statat dependencies
829         These modules use statat and lstatat, not fstatat; so depend on
830         the statat module, which was split out recently from fstatat.
831         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
832         * modules/renameat: Likewise.  Also delete fstat.
833         URL: http://bugs.gentoo.org/468790
834
835 2012-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
836
837         Assume gnulib is checked out from Git, not CVS
838
839         In fact, access to the gnulib repository through CVS has been
840         disabled, or more precisely, got broken and was never restored; see:
841         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>
842
843         Note that support for CVS is not removed completely and unthinkingly
844         by this change: only support for CVS checkouts of gnulib itself is
845         removed.  For example, the 'bootstrap' script still cater to .cvsingore
846         files and CVS directories, for the benefit of those poor gnulib clients
847         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
848
849         * gnulib-tool: Simplify accordingly.
850         * posix-modules: Likewise.
851         * MODULES.html.sh: Likewise.
852         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
853         repository.
854         * doc/gnulib-intro.texi: Likewise.
855         * doc/gnulib-readme.texi: Likewise.
856         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
857         sample '.gitignore' file rather than a sample '.cvsignore'.
858         * NEWS: Update.
859         * m4/extensions.m4: While at it, remove a comment mistakenly referring
860         to "CVS Autoconf" rather than "git Autoconf".
861
862 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
863
864         utimensat-tests, etc.: try to fix some races
865         Problem reported by Bernhard Voelker in
866         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html>.
867         I don't know whether this patch fixes that race condition, but it
868         fixes *some* race conditions, so it should be a win.
869         * modules/chown-tests (Depends-on):
870         * modules/fchownat-tests (Depends-on):
871         * modules/fdutimensat-tests (Depends-on):
872         * modules/futimens-tests (Depends-on):
873         * modules/lchown-tests (Depends-on):
874         * modules/stat-time-tests (Depends-on):
875         * modules/utimens-tests (Depends-on):
876         * modules/utimensat-tests (Depends-on):
877         Depend on nanosleep, not usleep.
878         * modules/chown-tests (test_chown_LDADD):
879         * modules/lchown-tests (test_lchown_LDADD):
880         * modules/stat-time-tests (test_stat_time_LDADD):
881         New macro.
882         * modules/fchownat-tests (test_fchownat_LDADD):
883         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
884         * modules/futimens-tests (test_futimens_LDADD):
885         * modules/utimens-tests (test_utimens_LDADD):
886         * modules/utimensat-tests (test_utimensat_LDADD):
887         Add $(LIB_NANOSLEEP).
888         * modules/stat-time-tests (Files): Add tests/nap.h.
889         * tests/nap.h: Include <limits.h>, for INT_MAX.
890         (lt_mtime): Remove.
891         (diff_timespec): New function.
892         (get_stat): Rename from get_mtime.  All callers changed.
893         (nap_works): Determine the needed delay by inspecting the
894         file system's timestamp jumps; this should be more reliable.
895         Look at both mtime and ctime, and take the maximum of the two jumps.
896         (nap_works, guess_delay):
897         Return a nanosecond cound, not a microsecond count.
898         All callers changed.
899         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
900         failure.
901         (nap): Multiply the guess by 1.125, to accommodate the case where
902         the file system's clock is a bit slower than nanosleep's clock.
903         * tests/test-stat-time.c (BASE): New macro.
904         Include nap.h.
905         (nap): Remove; nap.h now defines this.  This removes a duplicate
906         implementation of 'nap'.
907
908         utimens, utimensat: work around Solaris UTIME_OMIT bug
909         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
910         Linux kernel 2.6.32 does.  Work around it in the same way.
911         * doc/posix-functions/futimens.texi (futimens):
912         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
913         * lib/utimens.c (fdutimens, lutimens):
914         * lib/utimensat.c (rpl_utimensat): Work around the bug.
915
916         gettext: now it's your responsibility to add -I$(top_builddir)/intl
917         Formerly, it was your responsibility to do this for all Makefile.ams
918         other than Gnulib's.  Now it's your responsibility to do it for
919         Gnulib's Makefile.am, too.
920         * NEWS: Document this.
921         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
922
923         acl: include errno.h to get errno
924         Reported by Daiki Ueno in
925         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00073.html>.
926         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
927
928 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
929
930         tests: don't assume getdtablesize () <= 10000000
931         * modules/cloexec-tests:
932         * modules/dup2-tests:
933         * modules/dup3-tests:
934         * modules/nonblocking-tests:
935         * modules/posix_spawn_file_actions_addclose-tests:
936         * modules/posix_spawn_file_actions_adddup2-tests:
937         * modules/posix_spawn_file_actions_addopen-tests:
938         * modules/unistd-safer-tests:
939         Depend on the getdtablesize module.
940         * tests/test-cloexec.c:
941         * tests/test-dup-safer.c:
942         * tests/test-dup2.c:
943         * tests/test-dup3.c:
944         * tests/test-fcntl.c:
945         * tests/test-nonblocking.c:
946         * tests/test-posix_spawn_file_actions_addclose.c:
947         * tests/test-posix_spawn_file_actions_adddup2.c:
948         * tests/test-posix_spawn_file_actions_addopen.c:
949         Don't assume getdtablesize () <= 10000000.
950
951 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
952
953         extern-inline: work around bug in Sun c99
954         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
955         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
956
957 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
958
959         qacl: new module, broken out from the acl module
960         This is for GNU Emacs, which wants the acl functions but does
961         not want 'error' invoked when they fail.
962         * lib/acl-internal.h: Do not include error.h, quote.h.
963         (ENOSYS, ENOTSUP): Remove; no longer needed.
964         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
965         * lib/acl.h: Include <stdbool.h>.
966         (acl_errno_valid): New function.
967         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
968         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
969         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
970         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
971         (ACL_INTERNAL_INLINE): Remove; no longer needed.
972         * lib/file-has-acl.c (file_has_acl):
973         * lib/qcopy-acl.c (qcopy_acl):
974         * lib/qset-acl.c (qset_acl):
975         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
976         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
977         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
978         lib/file-has-acl.c, m4/acl.m4 to qacl module.
979         Add lib/set-acl.c.
980         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
981         Add qacl.
982         (configure.ac): Move gl_FUNC_ACL to qacl module.
983         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
984         Rename set-mode-acl.c to set-acl.c.
985         * lib/acl-errno-valid.c: New file.
986         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
987         copy_acl function remains in copy-acl.c.
988         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
989         (_): Remove; not needed.
990         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
991         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
992         * modules/qacl: New file, moved from the old modules/acl.
993         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
994         Remove set-mode-acl.c, copy-acl.c.
995         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
996
997         alignof, intprops, malloca: port better to IBM's C compiler
998         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
999         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
1000         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
1001
1002 2013-04-25  Daiki Ueno  <ueno@gnu.org>
1003
1004         wctype-h: fix gettext link error on mingw
1005         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
1006         <https://lists.gnu.org/archive/html/bug-gettext/2013-03/msg00086.html>.
1007         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
1008         rpl_towupper and rpl_towupper.
1009
1010 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
1011
1012         regex-tests, regex: allow glibc re_search behavior
1013         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
1014         re_search input data to make the multi-character collating element
1015         in it clearly visible, and treat re_search return code 0 as valid.
1016         * m4/regex.m4 (gl_REGEX): Likewise.
1017
1018 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
1019
1020         stdalign: doc fix
1021         * doc/posix-headers/stdalign.texi (stdalign.h):
1022         Gnulib doesn't support '_Alignof expr'.
1023
1024 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
1025
1026         stdalign: port to stricter ISO C11
1027         ISO C11 says that _Alignof's operand must be a parenthesized type.
1028         Problem reported by Eli Zaretskii in
1029         <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00960.html>.
1030         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
1031         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
1032
1033 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
1034
1035         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
1036         Problem reported by Marco Atzeri in
1037         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>.
1038         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
1039         Simply delegate to the system <sys/select.h> in this case too.
1040         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
1041         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
1042         be needed on Solaris either.
1043         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
1044         Simply delegate to the system <sys/time.h> in this case.
1045
1046 2013-03-19  Karl Berry  <karl@gnu.org>
1047
1048         * build-aux/gnupload: check for erroneous (with gnupload) use of
1049         ftp-upload.gnu.org, tweak help.
1050
1051 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
1052
1053         copy-file, rpmatch: fix problems found by cppcheck
1054         Reported by Arno Onken in
1055         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00069.html>.
1056         * lib/rpmatch.c (try): Fix memory leak.
1057         * lib/copy-file.c: Include "ignore-value.h".
1058         (qcopy_file_preserving): Ignore chown value.
1059         * modules/copy-file (Depends-on): Add ignore-value.
1060
1061 2013-01-27  Jim Meyering  <jim@meyering.net>
1062
1063         prefix-gnulib-mk: give better diagnostics
1064         * build-aux/prefix-gnulib-mk: Don't just "die".
1065         Give better diagnostics upon failure.
1066
1067 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
1068
1069         putenv: port to Solaris 10
1070         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
1071         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
1072         is not what is wanted here.
1073         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
1074         declaration, not for its existence.
1075
1076 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
1077
1078         mktime: fix configure typo
1079         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
1080
1081 2013-03-12  Eric Blake  <eblake@redhat.com>
1082
1083         regex-tests: skip UTF-8 test on mingw
1084         * modules/regex-tests (Depends-on): Add localcharset.
1085         * tests/test-regex.c (main): Use it to skip test on mingw.
1086
1087 2013-03-11  Eric Blake  <eblake@redhat.com>
1088
1089         tests: make it easier to bypass alarm time in debugger
1090         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
1091         * tests/test-memmem.c (main): Likewise.
1092         * tests/test-passfd.c (main): Likewise.
1093         * tests/test-ptsname.c (main): Likewise.
1094         * tests/test-ptsname_r.c (main): Likewise.
1095         * tests/test-strcasestr.c (main): Likewise.
1096         * tests/test-strstr.c (main): Likewise.
1097
1098         regex: port to mingw's recent addition of undeclared alarm
1099         * doc/posix-functions/alarm.texi (alarm): Document that alarm
1100         exists but still doesn't work in newer mingw.
1101         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
1102         not existence.  Ensure SIGALRM is not trapped.
1103         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
1104         * m4/regex.m4 (gl_REGEX): Likewise.
1105         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
1106         * tests/test-regex.c (main): Use correct probe for alarm.
1107
1108         putenv: avoid compilation warning on mingw
1109         * lib/putenv.c (_unsetenv): Protect variable declaration.
1110         (putenv): Fix indentation.
1111
1112 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
1113
1114         unistd: don't prevent Tru64 Unix from using gnulib strtod.
1115         * lib/unistd.in.h: be careful not to include un-needed system
1116         stdlib.h from here, because that prevents gnulib stdlib.h from
1117         defining rpl_strtod correctly.
1118
1119 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
1120
1121         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
1122         changesets, but for the 'precision 0' test.
1123         * tests/test-vasprintf-posix.c (test_function): Don't insist on
1124         round-to-even, since POSIX says rounding is implementation-defined
1125         and OS X 10.8.2 rounds 1.51 to 1 here.
1126
1127         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
1128         changeset.
1129         * tests/test-vasprintf-posix.c (test_function): Don't insist on
1130         round-to-even, since POSIX says rounding is implementation-defined
1131         and OS X 10.8.2 rounds 1.5 to 1 here.
1132
1133 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
1134
1135         vasnprintf-posix-tests: allow rounding 1.5 to 1
1136         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
1137         round-to-even, since POSIX says rounding is implementation-defined
1138         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
1139         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00019.html>.
1140
1141         bootstrap: port to FreeBSD
1142         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
1143         that treat '--' differently.  Reported by Mats Erik Andersson in
1144         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00012.html>.
1145
1146 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
1147
1148         regex: rename remaining __attribute calls to __attribute__.
1149         2012-02-25 changed definition of __attribute, but left some uses
1150         unchanged, preventing compilation of regex module on most non-gcc
1151         environments.
1152         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
1153         (lookup_collation_sequence_value, build_range_exp)
1154         (build_collating_symbol): Set attributes with newly renamed
1155         __attribute__ decorator.
1156         * lib/regex_internal.c (re_string_peek_byte_case)
1157         (re_node_set_compare, re_node_set_contains): Likewise.
1158         * lib/regexec.c (acquire_init_state_context): Likewise.
1159
1160 2013-03-06  Bruno Haible  <bruno@clisp.org>
1161
1162         execute: Revert last change, but use a different condition.
1163         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
1164         on Windows.
1165
1166 2013-03-05  Eric Blake  <eblake@redhat.com>
1167
1168         execute: drop dead code
1169         * lib/execute.c (nonintr_close, nonintr_open): Delete.
1170
1171 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
1172
1173         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
1174         * m4/non-recursive-gnulib-prefix-hack.m4
1175         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
1176         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
1177         <http://bugs.gnu.org/10305#237>.
1178
1179 2013-03-04  Eric Blake  <eblake@redhat.com>
1180
1181         test-getsockopt: avoid compiler warning
1182         * tests/test-getsockopt.c (includes): Ensure close is declared.
1183
1184 2013-03-02  Bruno Haible  <bruno@clisp.org>
1185
1186         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
1187         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
1188
1189 2013-03-02  Bruno Haible  <bruno@clisp.org>
1190
1191         gettext: Update to version 0.18.2.
1192         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
1193         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
1194                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
1195
1196 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
1197
1198         regex: merge patches from libc
1199
1200         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
1201         * lib/regex_internal.h (__attribute__): Rename from __attribute.
1202         All uses changed.
1203         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
1204         (re_string_wchar_at, re_string_elem_size_at):
1205         Mark function as possibly unused.
1206
1207         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
1208         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
1209         elements compare against the byte sequence of it, not its name.
1210
1211 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
1212
1213         putenv: port better to native Windows
1214         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
1215         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
1216         (_unsetenv): Use _putenv if available.
1217         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
1218         a bit less likely to cause damage.
1219         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
1220         Fix the wrong value with SetEnvironmentVariable.
1221         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
1222         code better.
1223
1224 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
1225
1226         regex: ignore old-style-definition warnings
1227         * lib/regex.c: Add pragma to ignore these warnings.
1228         Problem reported for GNU tar by Pavel Raiskup.
1229
1230 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
1231
1232         getcwd: support coreutils better
1233         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
1234         but this might not be correct in coreutils, which disables
1235         the raw decl checks.  Problem reported by Nagendra in
1236         <http://bugs.gnu.org/10305#192>.
1237         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
1238         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
1239         Test the getcwd function, not any macro, since getcwd.c wants the
1240         function.
1241         * m4/getcwd.m4 (gl_FUNC_GETCWD):
1242         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
1243         compile, as might happen if there's a macro but no function.
1244
1245         strtod: support coreutils better
1246         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
1247         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
1248         disables the raw decl checks.  This assumes there is an underlying
1249         strtod, but that's a safe assumption these days.
1250         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
1251
1252         mountlist: port to HP NonStop
1253         Reported by Joachim Schmitz in
1254         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
1255         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
1256         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
1257
1258 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
1259
1260         extern-inline: avoid compilation error with HP-UX cc
1261         Reported by Richard Lloyd in
1262         <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
1263         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
1264         Suppress extern inline with HP-UX cc.  This should be safe,
1265         though it may hurt performance.  Perhaps someone with some HP-UX
1266         experience can come up with a higher-performance fix.
1267
1268 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
1269
1270         putenv: fix heap corruption with mixed putenv/_putenv
1271         Problem reported by Michael Goffioul in
1272         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00061.html>.
1273         * lib/putenv.c (putenv) [HAVE__PUTENV]:
1274         Rely on _putenv to allocate the new environment.
1275         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
1276         * modules/putenv (configure.ac): Use it.
1277
1278 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
1279
1280         unsetenv etc.: port to Solaris 11 + GNU Emacs
1281         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
1282         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
1283         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
1284         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
1285         idea but is too painful to fix right now), and without this gnulib
1286         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
1287         compiling unsetenv.c on Solaris 11.  Fix the problem for
1288         unsetenv.c, and fix other similar occurrences.
1289
1290 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
1291
1292         secure_getenv: fix C++ declaration typo
1293         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
1294         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
1295         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00057.html>.
1296
1297 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
1298
1299         careadlinkat: stop exporting careadlinkatcwd
1300         Only Emacs used it directly, and Emacs no longer needs it.
1301         * NEWS: Document this simplification.
1302         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
1303         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
1304         for readlink.
1305         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
1306         Don't include stdlib.h; no longer needed.
1307         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
1308         * lib/relocwrapper.c: Adjust comment to match new dependencies.
1309         * modules/areadlink (Depends-on): Add readlink.
1310         (Maintainer): Add self.
1311         * modules/careadlinkat (Depends-on): Remove readlink.
1312
1313         extensions: port better to HP-UX
1314         This is merged from git Autoconf.
1315         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
1316         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
1317         so that it's compatible with the value used when compiling.
1318
1319         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
1320         Problem reported by Mats Erik Andersson in
1321         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
1322         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
1323         openpty function exists, not merely when we intend to replace it.
1324         This corrects the 2013-01-31 patch, which mistakenly defined
1325         HAVE_OPENPTY even on hosts that lacked it.
1326
1327 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
1328
1329         secure_getenv: fix include typo
1330         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
1331
1332         secure_getenv: port better to FreeBSD and Solaris
1333         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
1334         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
1335         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
1336         This works better on BSDish platforms.
1337         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
1338         Test for issetugid if __secure_getenv is missing.
1339
1340 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
1341
1342         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
1343         Some of these changes are merged in from git Autoconf.
1344         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
1345         When deciding whether to define _XOPEN_SOURCE, inspect the
1346         preprocessor macro __hpux instead of the more-heavyweight
1347         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
1348         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
1349         as the key for __EXTENSIONS__.
1350
1351         unistd: avoid namespace pollution on non-glibc systems
1352         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
1353         This avoids namespace pollution on non-glibc systems, by causing
1354         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
1355         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
1356         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.
1357
1358 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
1359
1360         tmpdir: use secure_getenv
1361         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
1362         Define to secure_getenv, not getenv.
1363         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
1364         as that's now secure_getenv's job.
1365         * modules/tmpdir (Depends-on): Add secure_getenv.
1366
1367         tempname: use secure_getenv
1368         * lib/tempname.c (__secure_getenv) [!_LIBC]:
1369         Define to secure_getenv, not getenv.
1370         * modules/tempname (Depends-on):
1371         Add secure_getenv.
1372
1373         secure_getenv: new module
1374         * MODULES.html.sh (Extra functions based on ANSI C 89):
1375         Add secure_getenv.
1376         * doc/glibc-functions/secure_getenv.texi: New file.
1377         * doc/gnulib.texi: Include it.
1378         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
1379         New files.
1380         * lib/stdlib.in.h (secure_getenv): New decl.
1381         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
1382         * modules/stdlib (stdlib.h):
1383         Add secure_getenv checks.
1384
1385 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
1386
1387         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
1388         Reported for OS X 10.8.2 by Assaf Gordon in
1389         <http://bugs.gnu.org/13516>.
1390         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
1391         !HAVE_OPENAT && !HAVE_FDOPENDIR.
1392         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
1393         so that they can be kept in sync more easily.  Avoid PATH_MAX
1394         test on the Hurd.  Sync from test-getcwd.c for errno tests after
1395         mkdir or chdir failure.
1396         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
1397         lib/getcwd.c.
1398         (test_abort_bug): Do not test for the deep directory bug unless we
1399         have openat support.  Avoid PATH_MAX test on the Hurd.
1400
1401         regex-tests, regex: fix bug: memset undeclared
1402         * tests/test-regex.c: Don't include regex.h twice.  Include
1403         string.h, to declare memset.  Christensen's report also mentioned
1404         this issue.
1405         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
1406         test-regex.c, to avoid future problems like this.  Remove
1407         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
1408         twice.
1409
1410         regex-tests: fix link errors on older Solaris
1411         These need to link with @LIBINTL@ to get libintl_gettext.
1412         Problem reported by Tom G. Christensen in
1413         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
1414         * modules/regex-tests (test_regex_LDADD): New macro.
1415
1416 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
1417
1418         regex-tests: new module
1419         * modules/regex-tests, tests/test-regex.c: New files.
1420
1421         regex: fix off-by-one error in configure test
1422         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
1423
1424 2013-01-31  Eric Blake  <eblake@redhat.com>
1425
1426         regex: avoid infinite configure test
1427         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
1428
1429 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
1430
1431         openpty: fix bug where HAVE_OPENPTY wasn't defined
1432         See the thread starting at:
1433         http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
1434         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
1435         openpty function exists, not merely when we intend to replace it.
1436
1437 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
1438
1439         sys_time: port to Solaris 2.6
1440         There is a circularity problem on Solaris 2.6, where <time.h> includes
1441         <sys/time.h> for struct timespec.  The include nesting is gnulib
1442         <time.h>, system <time.h>, gnulib <sys/time.h>, system
1443         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
1444         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
1445         <sys/siginfo.h>; the last, innermost file needs struct
1446         timestruc_t, which is defined in <sys/time.h>, which has not been
1447         fully parsed.  Problem reported by Tom G. Christensen in
1448         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
1449         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
1450         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
1451         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
1452         uses split double-inclusion guards.
1453
1454 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
1455
1456         regex: test for buffer overrun
1457         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
1458         for the just-fixed regex bug.
1459
1460 2013-01-29  Andreas Schwab  <schwab@suse.de>
1461
1462         regex: fix buffer overrun in regexp matcher [BZ #15078]
1463         * lib/regexec.c (extend_buffers): Add parameter min_len.
1464         (check_matching): Pass minimum needed length.
1465         (clean_state_log_if_needed): Likewise.
1466         (get_subexp): Likewise.
1467
1468 2013-01-28  Pádraig Brady  <P@draigBrady.com>
1469
1470         mountlist: don't consider "devtmpfs" as dummy
1471         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
1472         as there is storage associcated with it.
1473
1474 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
1475
1476         futimens-tests, utimens-tests: Depend on gettext.
1477         This works around a problem introduced in my 2013-01-12 patch,
1478         which added @LIBINTL@ to these modules.
1479         * modules/futimens-tests (Depends-on):
1480         * modules/utimens-tests (Depends-on): Add gettext.
1481
1482 2013-01-26  Eric Blake  <eblake@redhat.com>
1483
1484         test-getpeername: fix typo
1485         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
1486
1487 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
1488
1489         bootstrap: remove the need for a sorted .gitignore file
1490         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
1491         rename to insert_if_absent(), so that we don't need or generate
1492         a sorted .gitignore file.  We do require a .gitignore with no
1493         existing duplicate entries and enforce that.
1494         (sort_patterns): Remove this function as we now use the simpler
1495         technigue of inserting blacklist entries at the top of the file,
1496         assuming gnulib won't be inserting !whitelist entries.
1497
1498 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1499
1500         readlinkat: don't depend on gl_FUNC_OPENAT
1501         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
1502         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
1503         renameat.m4, symlinkat.m4; but one thing at a time.
1504
1505         statat: new module, split out from fstatat
1506         GNU Emacs needs the POSIX-specified fstatat, but not the
1507         gnulib-specified statat and lstat.  Split the latter two into a
1508         new module 'statat'.
1509         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
1510         * lib/openat.h, lib/statat.c (STATAT_INLINE):
1511         Rename from FSTATAT_INLINE. All uses changed.
1512         * modules/fstatat (Files): Remove lib/statat.c.
1513         (gl_MODULE_INDICATOR([fstatat])): Remove.
1514         (lib_SOURCES): Remove.
1515         (Maintainer): Add self.
1516         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
1517         * tests/test-fstatat.c (BASE): Don't define if already defined.
1518         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
1519
1520 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
1521
1522         tests: don't assume fd 99 is closed
1523         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
1524         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
1525         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
1526         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
1527         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
1528         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
1529         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
1530         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
1531         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
1532         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
1533         * tests/test-fwrite.c, tests/test-getpeername.c:
1534         * tests/test-getsockname.c, tests/test-getsockopt.c:
1535         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
1536         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
1537         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
1538         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
1539         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
1540         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
1541         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
1542         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
1543         * tests/test-unlinkat.c, tests/test-unlockpt.c:
1544         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
1545         Close file descriptor 99, instead of assuming it's already closed.
1546
1547 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
1548
1549         stpncpy: port to OS X 10.8
1550         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
1551         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
1552
1553 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
1554
1555         unistd: port to recent mingw
1556         * lib/unistd.in.h: Remove special invocation convention for mingw,
1557         which breaks for the latest mingw version.  See John W. Eaton in
1558         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
1559
1560         largefile: port better to Mac OS X 10.5
1561         This patch is backported from Autoconf git.
1562         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
1563         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
1564         with ino_t size being different for configuration time versus
1565         build/run time.  Problem reported by PHO in
1566         <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
1567
1568 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
1569
1570         doc: clarify -Werror
1571         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
1572         clarify that it's intended for developers, not for ordinary builds,
1573         and mention --enable-gcc-warnings as one possible use.
1574
1575 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
1576
1577         stdint: fix build with Android's Bionic fox x86
1578         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
1579         was already included as _SSIZE_T_DEFINED_ might also be defined
1580         in include/machine/_types.h, which is included by stdio.h
1581
1582 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
1583
1584         net_if-tests: port to Solaris 7 + GCC 3.4.6
1585         Problem reported by Tom G. Christensen in
1586         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
1587         * tests/test-net_if.c (ni): Move to next the code that uses it,
1588         so that it's declared only if needed.
1589
1590 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
1591
1592         net_if-tests: port to older Solaris
1593         Problem reported by Tom G. Christensen in
1594         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
1595         * modules/net_if-tests (NET_IF_LIB): New substitution.
1596         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
1597         (HAVE_IF_NAMEINDEX): New C macro.
1598         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
1599
1600         system-quote-tests: port to older Solaris
1601         Problem reported by Tom G. Christensen in
1602         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
1603         * tests/test-system-quote-child.c (fopen, fread): Undef.
1604
1605         c-xvasprintf etc.: fix link errors on older Solaris
1606         These need to link with @LIBINTL@ to get libintl_gettext.
1607         Problem reported by Tom G. Christensen in
1608         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
1609         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
1610         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
1611         * modules/futimens-tests (test_futimens_LDADD):
1612         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
1613
1614 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
1615
1616         locale: port to Solaris 2.6 and 7 + GNU gettext
1617         * lib/locale.in.h: Just include_next <locale.h> when
1618         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
1619         when combining the localename module with GNU gettext 0.18.2.
1620         Problem reported by Tom G. Christensen in
1621         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
1622
1623 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
1624
1625         stdlib: port to Solaris 2.6
1626         Also, the code worked on Solaris 7 through 9 only by accident.
1627         Problem reported by Tom G. Christensen in
1628         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
1629         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
1630         simply include the system stdlib.h.
1631         * lib/getopt.in.h (__need_system_stdlib_h):
1632         * lib/pthread.in.h (__need_system_stdlib_h):
1633         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
1634         Define when including <stdlib.h>, to avoid problems at least for
1635         the pthread case on Solaris 2.6 and 7.  These .h files can get by
1636         with the system stdlib.h.
1637
1638 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
1639
1640         doc: update main copyright year
1641         * doc/gnulib.texi: Update copyright date.
1642
1643         doc: improve ISO 8601 discussion
1644         * doc/parse-datetime.texi (Combined date and time of day items):
1645         Specify more carefully what formats are supported and what is
1646         done with excess precision.
1647
1648 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1649
1650         doc: avoid small caps
1651         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
1652         they're more trouble than they're worth.  Suggested by Karl Berry
1653         in <http://bugs.gnu.org/13360>.
1654
1655         regex: conform to strict C
1656         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
1657         From Aharon Robbins.
1658
1659         gnulib-tool: fix incompatibility with autopoint 0.18.2
1660         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
1661         Problem reported by Tom G. Christensen in
1662         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
1663
1664 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
1665
1666         fprintftime: bring back and reword fwrite comment
1667         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
1668
1669         stdio: remove now-unnecessary stdio.c
1670         Since stdio.in.h no longer uses inline functions, we no longer
1671         need to compile the extern versions.
1672         * lib/stdio.c: Remove.
1673         * modules/stdio (Files): Remove lib/stdio.c.
1674         (lib_SOURCES): Remove.
1675
1676         unicodeio: depend on stdio, not ignore-value
1677         * lib/unicodeio.c: Do not include ignore-value.h.
1678         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
1679         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
1680
1681         fprintftime: depend on stdio, not ignore-value
1682         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
1683         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
1684         since the stdio module arranges to silence that warning now.
1685         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
1686
1687 2012-10-04  Simon Josefsson  <simon@josefsson.org>
1688
1689         stdint-tests: Fix expanded-before-required-warning.
1690         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
1691
1692 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
1693
1694         fwrite: silence __wur only for older glibc versions
1695         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
1696         This will help us remove this workaround some time in the far future.
1697
1698 2013-01-03  Eric Blake  <eblake@redhat.com>
1699
1700         fwrite: silence __wur without using inline
1701         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
1702         just gcc, and in a way that avoids inline issues.
1703         * modules/stdio (Depends-on): Drop extern-inline.
1704
1705 2013-01-03  Jim Meyering  <jim@meyering.net>
1706
1707         update-copyright: avoid copyright notice date corruption
1708         Given a sequence of copyright year numbers in which the final
1709         one was a two-digit number that happened to be a substring of
1710         a preceding four-digit year number, we would mistakenly update
1711         the substring (from two- to four-digit) rather than the two-digit
1712         number at the end, which, combined with the addition of the current
1713         4-digit year number would yield two 5-digit year numbers, e.g.,
1714         here, it would convert the first "99" to "1999, 2013" rather than
1715         the final one:
1716           1991, 99
1717           11999, 20131, 1999
1718         * build-aux/update-copyright: Tighten a regexp.
1719         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
1720         Reported by Joseph Myers in
1721         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
1722
1723 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
1724
1725         regex: omit needless signed-pointer casts
1726         * lib/regcomp.c (build_charclass, build_charclass_op):
1727         Use char *, not unsigned char *, for class name and extra.
1728         The char values are always nonnegative so there's no need to
1729         insist on unsigned char * here, and using char * removes the need
1730         for casts.  Reported by Aharon Robbins in
1731         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1732
1733         regex: support Gawk, which never uses alloca
1734         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
1735         Do not include in this case.  Gawk doesn't supply a substitute
1736         alloca.h and doesn't need one.
1737
1738         regex: port __libc_lock_define usage to C89
1739         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
1740         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
1741         does not conform to C89, as it has an empty macro argument.
1742         Reported by Aharon Robbins in
1743         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1744
1745 2013-01-01  Eric Blake  <eblake@redhat.com>
1746
1747         maint: update all copyright year number ranges
1748         Run "make update-copyright".
1749
1750         version-etc: bump copyright year reported in --version
1751         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
1752
1753 2012-12-31  Eric Blake  <eblake@redhat.com>
1754
1755         sigprocmask-tests: skip test if pid is unexpectedly large
1756         * tests/test-sigprocmask.c (main): Add range check.
1757
1758         git-version-gen: avoid test -z portability glitch
1759         * build-aux/git-version-gen: Prefer portable test spelling, since
1760         git-version-gen is run on more than just developer machines.
1761
1762 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
1763
1764         git-version-gen: add --fallback option to use if git is not present
1765         * build-aux/git-version-gen: Add support for the new option --fallback,
1766         which comes into play when there is no $tarball_version_file and
1767         git is not working.
1768         (scriptversion): Update.
1769
1770         maint.mk: handle missing git with more grace
1771         * top/maint.mk (no-submodule-changes, public-submodule-commit):
1772         Quietly proceed if git is not present.
1773
1774 2012-12-31  Eric Blake  <eblake@redhat.com>
1775
1776         dup2: work around cygwin bug
1777         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
1778         * lib/dup2.c (rpl_dup2): Work around it.
1779         * doc/posix-functions/dup2.texi (dup2): Document it.
1780
1781 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
1782
1783         regex: remove unnecessary dependency on localcharset.h
1784         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
1785         hasn't been needed for years.
1786         * modules/regex (Depends-on): Remove localcharset.
1787
1788         regex: revert single-byte change
1789         * lib/regexec.c (check_node_accept_bytes): Revert previous change
1790         to this function.  This was alredy fixed in a different way, at
1791         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
1792         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
1793         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
1794
1795         regex: simplify based on Gawk version
1796         * lib/regex_internal.c (re_dfa_add_node): Simplify.
1797         Reported by Aharon Robbins in
1798         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1799
1800 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
1801
1802         regex: check that pattern char is single-byte
1803         Reported by Aharon Robbins in
1804         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1805         * lib/regexec.c (check_node_accept_bytes):
1806         Return 0 if the pattern string has a multibyte character here.
1807
1808         regex: implement rational ranges
1809         Reported by Aharon Robbins in
1810         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1811         * lib/regcomp.c (build_range_exp) [!_LIBC]:
1812         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
1813         Implement rational ranges.
1814
1815         regex: avoid redefining __wctype
1816         Reported by Aharon Robbins in
1817         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1818         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
1819         #undef before defining.
1820
1821         regex: port to hosts where malloc (0) == NULL
1822         Reported by Aharon Robbins in
1823         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1824         * lib/regex_internal.c (re_node_set_alloc):
1825         Don't assume that malloc (0) yields nonnull.
1826         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
1827         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
1828         * modules/regex (Files): Add m4/eealloc.m4.
1829
1830         regex: port to C89
1831         Reported by Aharon Robbins in
1832         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1833         * lib/regcomp.c (init_word_char): Declaration before statement.
1834
1835         regex: merge glibc changes
1836         Also, copy the license wording from glibc.  This simplifies
1837         merging changes.  gnulib-tool will change the wording to GPL as
1838         appropriate, when importing it to other packages.  The only
1839         glibc change made since the last merge, which needs merging, is:
1840         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
1841         * lib/regex_internal.h (gettext): Remove use of INTUSE.
1842
1843         * users.txt: Add Emacs.
1844
1845         doc: omit mention of version when not needed
1846         * doc/gnulib-intro.texi (Portability and Application Code):
1847         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
1848         Don't mention particular dates or versions when not necessary, so
1849         that the documentation won't go out of date so quickly.
1850
1851         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
1852
1853 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
1854
1855         bootstrap: pass --force to autoreconf.
1856         * build-aux/bootstrap (AUTORECONFFLAGS): New.
1857         Add "--force" so that Automake's ylwrap and other such tools
1858         be updated at each bootstrap invocation.
1859         Use it.
1860
1861 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1862
1863         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
1864         The earlier patch forgot to update one of the #if conditions, causing
1865         a problem on Debian testing i386 reported by Mats Erik Andersson
1866         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
1867         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
1868         (__argp_fmtstream_puts, argp_fmtstream_puts)
1869         (__argp_fmtstream_write, argp_fmtstream_write)
1870         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
1871
1872         * doc/gnulib-readme.texi: Minor fixups.
1873         (Portability guidelines): Modernize URLs.  Remove some repetition.
1874         (Indent with spaces not TABs): Reword to avoid too-long lines.
1875         Remove some '@ifset standalone' stuff that isn't used.
1876
1877         * doc/gnulib-readme.texi (Portability guidelines):
1878         ctype.h, not ctime.h.
1879
1880         Correct name of POSIX.1-2001.
1881         * doc/posix-functions/fgetc.texi (fgetc):
1882         * doc/posix-functions/fgets.texi (fgets):
1883         * doc/posix-functions/fread.texi (fread):
1884         * doc/posix-functions/fscanf.texi (fscanf):
1885         * doc/posix-functions/getc.texi (getc):
1886         * doc/posix-functions/getchar.texi (getchar):
1887         * doc/posix-functions/scanf.texi (scanf):
1888         POSIX.1-2001, not POSIX-2001.
1889
1890         doc: move README into manual
1891         * README: Move contents to new file doc/gnulib-readme.texi.
1892         Replace with a one-line summary.
1893         * doc/gnulib.texi (Brief Overview): New section,
1894         with old intro preface.  Include gnulib-readme.texi for contents.
1895         (Philosophy): Rename from "Introduction", since this
1896         section no longer introduces the rest.  Write a new preface.
1897         * doc/gnulib-readme.texi: New file, with the old contents of
1898         README texinfo-ized.  This way, the README info appears
1899         in the online and printed manual.
1900
1901 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
1902
1903         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
1904         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
1905         c_vasprintf() prototype.
1906
1907 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
1908
1909         c-vasprintf: Fix "empty declaration" warning reported by GCC.
1910         * lib/c-vasprintf.h: Remove stray semicolon.
1911
1912 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
1913
1914         gettext: avoid obsolete macro AM_PROG_MKDIR_P
1915         It is obsolete and is planned to be removed from Automake 1.14; see
1916         <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
1917         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
1918         (installdirs-data, installdirs-data-yes):
1919         Use $(MKDIR_P), not $(mkdir_p).
1920         * m4/intl.m4 (AM_INTL_SUBDIR):
1921         * m4/po.m4 (AM_PO_SUBDIRS):
1922         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
1923
1924 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
1925
1926         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
1927         On this platform, we are not optimizing but we are using
1928         the substitute for extern inlines, so compile as if
1929         C99-style extern inline, or a substitute, is available.
1930         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
1931         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
1932         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
1933         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
1934         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
1935         Declare as ARGP_FS_EI, not as extern.
1936         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
1937         (__option_is_short, _option_is_end, __option_is_end)
1938         [!_LIBC && __USE_EXTERN_INLINES]:
1939         Declare as ARGP_EI, not as extern.
1940
1941 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
1942
1943         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
1944         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
1945         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
1946         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
1947         ...), as the latter is fatal with older Autoconfs.
1948         Problem reported and fix suggested by Eric Blake in thread starting at
1949         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
1950
1951 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1952
1953         AC_PROG_MKDIR_P: don't workaround if not buggy
1954         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
1955         Define only for Autoconf versions before 2.62.
1956         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
1957         undocumented m4_PACKAGE_VERSION, for consistency with the
1958         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
1959         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
1960         was introduced in 2.62.
1961
1962 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
1963
1964         New 'c-*printf' modules for formatted output in C locale.
1965
1966         New module 'c-vasnprintf'.
1967         * modules/c-vasnprintf: New file.
1968         * lib/c-vasnprintf.c: New file.
1969         * lib/c-vasnprintf.h: New file.
1970
1971         New module 'c-snprintf'.
1972         * modules/c-snprintf: New file.
1973         * modules/c-snprintf-tests: New file.
1974         * lib/c-snprintf.c: New file.
1975         * lib/c-snprintf.h: New file.
1976         * tests/test-c-snprintf.c: New file.
1977         * tests/test-c-snprintf.sh: New file.
1978
1979         New module 'c-vsnprintf'.
1980         * modules/c-vsnprintf: New file.
1981         * modules/c-vsnprintf-tests: New file.
1982         * lib/c-vsnprintf.c: New file.
1983         * lib/c-vsnprintf.h: New file.
1984         * tests/test-c-vsnprintf.c: New file.
1985         * tests/test-c-vsnprintf.sh: New file.
1986
1987         New module 'c-vasprintf'.
1988         * modules/c-vasprintf: New file.
1989         * modules/c-vasprintf-tests: New file.
1990         * lib/c-asprintf.c: New file.
1991         * lib/c-vasprintf.c: New file.
1992         * lib/c-vasprintf.h: New file.
1993         * tests/test-c-vasprintf.c  +: New file.
1994         * tests/test-c-vasprintf.sh: New file.
1995
1996         New module 'c-xvasprintf'.
1997         * modules/c-xvasprintf: New file.
1998         * modules/c-xvasprintf-tests: New file.
1999         * lib/c-xasprintf.c: New file.
2000         * lib/c-xvasprintf.c: New file.
2001         * lib/c-xvasprintf.h: New file.
2002         * tests/test-c-xvasprintf.c: New file.
2003         * tests/test-c-xvasprintf.sh: New file.
2004
2005 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
2006
2007         argp: better 'inline'
2008         Use extern-inline module to declare extern inline functions.
2009         This avoids some bogus warning diagnostics.  Problem discovered
2010         when modifying GNU tar to use the manywarnings module.
2011         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
2012         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
2013         Define based on extern-inline.
2014         * modules/argp (Depends-on): Add extern-inline.
2015
2016 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
2017
2018         filemode, sys_stat: Handle MPX files a la AIX.
2019         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
2020         * lib/sys_stat.in.h (S_ISMPX): New macro.
2021         * tests/test-sys_stat.c: Add tests for MPX files.
2022
2023 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
2024
2025         x-to-1: honor $PERL
2026         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
2027         a chance to use his preferred version of Perl.  This is typically
2028         required by Darwin users whose default /usr/bin/perl does not have all
2029         the libraries required by help2man, and who need to use their MacPorts
2030         installation of Perl instead.
2031
2032 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
2033
2034         gnu-web-doc-update: add all the new files, even in new directories
2035         See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
2036         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
2037         Use it.
2038         (main): Don't use cvsutils to get the list of unknown files,
2039         just add all the existing files and directories.
2040
2041 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
2042
2043         gnu-web-doc-update: improve --help
2044         * build-aux/gnu-web-doc-update: Move comments into --help.
2045
2046 2012-12-07  Eric Wong  <normalperson@yhbt.net>
2047
2048         mountlist: recognize more "dummy" file systems
2049         * lib/mountlist.c (ME_DUMMY_0):
2050         Add these dummy FS names to the list:
2051         - "debugfs" virtual filesystem for kernel debugging
2052         - "devpts" PTY slave filesystem
2053         - "devtmpfs" device filesystem on top of tmpfs/ramfs
2054         - "fusectl" control filesystem for FUSE
2055         - "mqueue" enumerates POSIX message queues
2056         - "rpc_pipefs" kernel <-> userspace bridge for NFS
2057         - "sysfs" is for exporting kernel objects
2058         - "devfs" device filesystem for Linux 2.4 and FreeBSD
2059
2060 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
2061
2062         extern-inline: avoid incompatibility with Darwin Libc
2063         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
2064         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
2065         Problem reported by Akim Demaille in
2066         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
2067
2068 2012-12-11  Simon Josefsson  <simon@josefsson.org>
2069
2070         gnupload: Work with GnuPG using gpg-agent (for smartcards).
2071         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
2072         let it handle password prompting.
2073
2074 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
2075
2076         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
2077         * lib/canonicalize.c (canonicalize_filename_mode):
2078         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
2079         fetching the current directory.  Don't overrun the beginning of
2080         rpath if there's no slashes after the MS-Windows drive letter.
2081
2082 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2083
2084         maint.mk: avoid extra forks
2085         * top/maint.mk (_cfg_mk): The GNU make manual documents that
2086         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
2087         So use that instead of "$(shell test -f FILE && echo FILE)".
2088
2089 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
2090
2091         vasnprintf: fix ASCII_ONLY typo
2092         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
2093         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
2094         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
2095         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
2096         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
2097
2098 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
2099
2100         list, oset, xlist, xoset: fix extern inline issue with C99
2101         This was introduced by my recent changes for 'inline'.
2102         Problem reported for gettext by Daiki Ueno in
2103         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
2104         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
2105         (gl_list_nx_create, gl_list_size, gl_list_node_value)
2106         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
2107         (gl_list_previous_node, gl_list_get_at)
2108         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
2109         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
2110         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
2111         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
2112         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
2113         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
2114         (gl_list_iterator_free, gl_sortedlist_search)
2115         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
2116         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
2117         (gl_sortedlist_remove):
2118         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
2119         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
2120         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
2121         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
2122         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
2123         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
2124         (gl_list_add_at, gl_sortedlist_add):
2125         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
2126         Wrap these extern decls inside "#if 0", because they are implemented
2127         as inline functions, and extern inline is not what's wanted here.
2128         It would simplify these .h files to remove the extern decls entirely,
2129         although a downside would be less-clear separation between
2130         specification and implementation.
2131
2132 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
2133
2134         sys_stat: no 'static inline'
2135         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
2136         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
2137
2138         extern-inline: no 'static inline'
2139         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
2140         Do not require AC_C_INLINE.
2141         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
2142         'static inline', for older compilers.
2143
2144         snippet/warn-on-use: no 'static inline'
2145         * build-aux/snippet/warn-on-use.h:
2146         Remove unnecessary 'inline' in comment.
2147
2148         rbtree-list, rbtreehash-list: no 'static inline'
2149         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
2150         * lib/gl_anytree_list2.h (node_at):
2151         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
2152         (gl_oset_first, add_nodes_to_buckets):
2153         Now static, not static inline.
2154
2155         regex: no 'static inline'
2156         * lib/regex_internal.c (calc_state_hash):
2157         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
2158         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
2159         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
2160         Now static, not static inline.
2161         (inline) [__GNUC__ < 3 && _LIBC]:
2162         Remove macro; no longer needed.
2163
2164         xvasprintf: no 'static inline'
2165         * lib/xvasprintf.c (xstrcat):
2166         Now static, not static inline.
2167         * m4/xvasprintf.m4 (gl_XVASPRINTF):
2168         Do not require AC_C_INLINE.
2169
2170         parse-datetime, parse-duration: no 'static inline'
2171         * lib/parse-datetime.y (to_uchar):
2172         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
2173         (scale_n_add):
2174         Now static, not static inline.
2175         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
2176         * modules/parse-duration (configure.ac):
2177         Do not require AC_C_INLINE.
2178
2179         getaddrinfo: no 'static inline'
2180         * lib/getaddrinfo.c (validate_family):
2181         Now static, not static inline.
2182         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
2183         Do not require AC_C_INLINE.
2184
2185         ftruncate, fts, lstat, openat, raise: no 'static inline'
2186         * lib/ftruncate.c (chsize_nothrow):
2187         * lib/fts.c (opendirat, diropen):
2188         * lib/lstat.c (orig_lstat):
2189         * lib/openat.c (orig_openat):
2190         * lib/raise.c (raise_nothrow):
2191         Now static, not static inline.
2192         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
2193         * m4/fts.m4 (gl_FUNC_FTS_CORE):
2194         * m4/lstat.m4 (gl_PREREQ_LSTAT):
2195         * m4/openat.m4 (gl_PREREQ_OPENAT):
2196         * m4/raise.m4 (gl_PREREQ_RAISE):
2197         Do not require AC_C_INLINE.
2198
2199         fflush, stat: no 'static inline'
2200         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
2201         (clear_ungetc_buffer, disable_seek_optimization)
2202         (restore_seek_optimization, update_fpos_cache):
2203         * lib/stat.c (orig_stat):
2204         Now static, not static inline.
2205         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
2206         (update_fpos_cache):
2207         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
2208         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
2209         * m4/stat.m4 (gl_PREREQ_STAT):
2210         Do not require AC_C_INLINE.
2211
2212         error, filevercmp: no 'static inline'
2213         * lib/error.c (is_open, flush_stdout):
2214         * lib/filevercmp.c (order):
2215         Now static, not static inline.
2216         * m4/error.m4 (gl_PREREQ_ERROR):
2217         * modules/filevercmp (configure.ac):
2218         Do not require AC_C_INLINE.
2219
2220         dup, execute, fatal-signal, etc.: no 'static inline'
2221         * lib/dup.c (dup_nothrow):
2222         * lib/execute.c (nonintr_close, nonintr_open):
2223         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
2224         * lib/fopen.c (orig_fopen):
2225         * lib/freadseek.c (freadptrinc):
2226         * lib/freopen.c (orig_freopen):
2227         * lib/fstat.c (orig_fstat, fstat_nothrow):
2228         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
2229         (get_rusage_as_via_iterator):
2230         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
2231         * lib/getdtablesize.c (_setmaxstdio_nothrow):
2232         * lib/isatty.c (_isatty_nothrow):
2233         * lib/open.c (orig_open):
2234         * lib/read.c (read_nothrow):
2235         * lib/sigprocmask.c (signal_nothrow):
2236         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
2237         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
2238         * lib/wait-process.c (unregister_slave_subprocess):
2239         * lib/write.c (write_nothrow):
2240         Now static, not static inline.
2241         * lib/spawn-pipe.c (nonintr_open): Define only if
2242         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
2243         * m4/dup.m4 (gl_PREREQ_DUP):
2244         * m4/execute.m4 (gl_EXECUTE):
2245         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
2246         * m4/fopen.m4 (gl_PREREQ_FOPEN):
2247         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
2248         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
2249         * m4/fstat.m4 (gl_PREREQ_FSTAT):
2250         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
2251         * m4/isatty.m4 (gl_PREREQ_ISATTY):
2252         * m4/open.m4 (gl_PREREQ_OPEN):
2253         * m4/read.m4 (gl_PREREQ_READ):
2254         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
2255         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
2256         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
2257         * m4/wait-process.m4 (gl_WAIT_PROCESS):
2258         * m4/write.m4 (gl_PREREQ_WRITE):
2259         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
2260         Do not require AC_C_INLINE.
2261
2262         c-strtod, memcoll, readutmp: no 'static inline'
2263         * lib/c-strtod.c (c_locale):
2264         * lib/memcoll.c (strcoll_loop):
2265         * lib/readutmp.c (desirable_utmp_entry):
2266         Now static, not static inline.
2267         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
2268         * m4/memcoll.m4 (gl_MEMCOLL):
2269         * m4/readutmp.m4 (gl_READUTMP):
2270         Do not require AC_C_INLINE.
2271
2272         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
2273         * lib/arctwo.c (to_uchar):
2274         * lib/md4.c (set_uint32):
2275         * lib/md5.c (set_uint32):
2276         * lib/sha1.c (set_uint32):
2277         * lib/sha256.c (set_uint32):
2278         * lib/sha512.c (set_uint64):
2279         Now static, not static inline.  This is a bit simpler, and doesn't
2280         affect performance with GCC and default optimization.
2281         * m4/arctwo.m4 (gl_ARCTWO):
2282         * m4/md4.m4 (gl_MD4):
2283         * m4/md5.m4 (gl_MD5):
2284         * m4/sha1.m4 (gl_SHA1):
2285         * m4/sha256.m4 (gl_SHA256):
2286         * m4/sha512.m4 (gl_SHA512):
2287         Do not require AC_C_INLINE.
2288
2289         cond, lock, thread: better 'inline'
2290         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
2291         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
2292         New macros.  Use them instead of static inline, for header functions.
2293         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
2294         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
2295         * lib/glthread/lock.c (gl_waitqueue_init)
2296         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
2297         * lib/glthread/thread.c (get_current_thread_handle):
2298         Change 'static inline' to 'inline'.
2299         * lib/glthread/cond.h, lib/glthread/thread.h:
2300         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2301         * m4/cond.m4 (gl_COND):
2302         * m4/lock.m4 (gl_PREREQ_LOCK):
2303         * m4/thread.m4 (gl_THREAD):
2304         Do not require AC_C_INLINE.
2305         * modules/cond, modules/thread (Depends-on): Add extern-inline.
2306
2307         chdir-long, cycle-check, savewd: better 'inline'
2308         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
2309         (find_non_slash):
2310         * lib/cycle-check.c (is_zero_or_power_of_two):
2311         * lib/savewd.c (savewd_delegating):
2312         Change 'static inline' to 'inline'.
2313         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
2314         Replace all remaining uses of 'static inline' with it.
2315         * lib/savewd.h:
2316         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2317         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
2318         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
2319         * m4/savewd.m4 (gl_SAVEWD):
2320         Do not require AC_C_INLINE.
2321         * modules/savewd (Depends-on): Add extern-inline.
2322
2323         base32, base64: no need for 'inline'
2324         * lib/base32.c (to_uchar, get_8, decode_8):
2325         * lib/base64.c (to_uchar, get_4, decode_4):
2326         Change 'static inline' to 'inline'.
2327         * m4/base32.m4 (gl_PREREQ_BASE32):
2328         * m4/base64.m4 (gl_PREREQ_BASE64):
2329         Do not require AC_C_INLINE.
2330
2331         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
2332         * lib/gl_array_oset.c (gl_array_nx_add_at):
2333         (gl_array_remove_at):
2334         * lib/gl_linkedhash_list.c (hash_resize_after_add)
2335         (add_to_bucket, remove_from_bucket):
2336         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
2337         Change 'static inline' to 'static', as it's simpler to omit
2338         'inline' unless there's a significant performance advantage.
2339
2340         list, oset, xlist, xoset, xsublist: simplify via extern inline
2341         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
2342         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
2343         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
2344         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
2345         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
2346         New macro.  Replace all uses of 'static inline' with it.
2347         [HAVE_INLINE]: Implement functions as *_INLINE functions,
2348         instead of as macros FOO that are defined to static inline
2349         functions FOO_inline.
2350         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
2351         * lib/gl_xsublist.c:
2352         Reimplement from scratch, by defining the corresponding *_INLINE
2353         macro and including the corresponding .h file.  This is simpler.
2354         * modules/list, modules/oset, modules/xlist, modules/xoset:
2355         (Files): Remove m4/gl_list.m4.
2356         (configure.ac): Remove gl_LIST.
2357         * m4/gl_list.m4: Remove.
2358         * modules/list, modules/oset, modules/xlist, modules/xoset:
2359         * modules/xsublist:
2360         (Depends-on): Depend on extern-inline, not inline.
2361
2362         xalloc: better 'inline'
2363         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
2364         New macro.  Replace all uses of 'static inline' with it.
2365         (static_inline): Remove.
2366         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
2367         Let 'extern inline' do the work automatically, instead of doing
2368         it by hand.
2369         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
2370         Remove.  All uses removed.
2371         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
2372
2373         gethrxtime: better 'inline'
2374         * lib/xtime.c: New file.
2375         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
2376         * lib/xtime.h (XTIME_INCLUDE):
2377         New macros.  Replace all uses of 'static inline' with them.
2378         * lib/gethrxtime.c (gethrxtime): Define only if
2379         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
2380         this source file is now always compiled, because of the extern inline.
2381         * lib/gethrxtime.h, lib/xtime.h:
2382         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2383         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
2384         if gethrtime works, as they're not needed in that case.
2385         (gl_XTIME): Do not require AC_C_INLINE.
2386         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
2387         compiled now.  Move the check into gl_GETHRXTIME.
2388         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
2389         (Depends-on): Add extern-inline.
2390         (configure.ac): gethrxtime is always compiled now.
2391         (lib_SOURCES): Add gethrxtime.c.
2392
2393         wctype-h: better 'inline'
2394         * lib/wctype-h.c: New file.
2395         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
2396         New macro.  Replace all uses of 'static inline' with it.
2397         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2398         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
2399         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
2400         (Depends-on): Add extern-inline.
2401
2402         unistd: better 'inline'
2403         * lib/unistd.c: New file.
2404         * lib/unistd.in.h (_GL_UNISTD_INLINE):
2405         New macro.  Replace all uses of 'static inline' with it.
2406         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2407         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
2408         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
2409         (Depends-on): Add extern-inline.
2410
2411         sys_socket: better 'inline'
2412         * lib/sys_socket.c: New file.
2413         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
2414         New macro.  Replace all uses of 'static inline' with it.
2415         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2416         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
2417         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
2418         (Depends-on): Add extern-inline.
2419
2420         stdio: better 'inline'
2421         * lib/stdio.c: New file.
2422         * lib/stdio.in.h (_GL_STDIO_INLINE):
2423         New macro.  Replace all uses of 'static inline' with it.
2424         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2425         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
2426         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
2427         (Depends-on): Add extern-inline.
2428
2429         sigaction: better 'inline'
2430         * lib/sig-handler.c: New file.
2431         * lib/sig-handler.h (SIG_HANDLER_INLINE):
2432         New macro.  Replace all uses of 'static inline' with it.
2433         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2434         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
2435         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
2436         (Depends-on): Add extern-inline.
2437
2438         selinux-h: better 'inline'
2439         * lib/se-context.c, lib/se-selinux.c: New files.
2440         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
2441         * lib/se-context.in.h (SE_CONTEXT_INLINE):
2442         New macro.  Replace all uses of 'static inline' with it.
2443         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2444         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
2445         New macro.  Replace all uses of 'static inline' with it.
2446         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2447         * modules/selinux-h (Files, lib_SOURCES):
2448         Add lib/se-context.c, lib/se-selinux.c.
2449         (Depends-on): Add extern-inline.
2450         (configure.ac): Do not require AC_C_INLINE.
2451
2452         pthread: better 'inline'
2453         * lib/pthread.c: New file.
2454         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
2455         New macro.  Replace all uses of 'static inline' with it.
2456         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2457         * m4/pthread.m4 (gl_PTHREAD_CHECK):
2458         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
2459         * modules/pthread (Files): Add lib/pthread.c.
2460         (Depends-on): Add extern-inline.
2461
2462         math: better 'inline'
2463         * lib/math.c: New file.
2464         * lib/math.in.h (_GL_MATH_INLINE):
2465         New macro.  Replace all uses of 'static inline' with it.
2466         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2467         * m4/math_h.m4 (gl_MATH_H):
2468         Do not require AC_C_INLINE.
2469         * modules/math (Files, lib_SOURCES):
2470         Add lib/math.c.
2471         (Depends-on): Add extern-inline.
2472
2473         count-one-bits: better 'inline'
2474         * lib/count-one-bits.c: New file.
2475         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
2476         New macro.  Replace all uses of 'static inline' with it.
2477         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2478         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
2479         Do not require AC_C_INLINE.
2480         * modules/count-one-bits (Files, lib_SOURCES):
2481         Add lib/count-one-bits.c.
2482         (Depends-on): Add extern-inline.
2483
2484         count-leading-zeros: better 'inline'
2485         * lib/count-leading-zeros.c: New file.
2486         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
2487         New macro.  Replace all uses of 'static inline' with it.
2488         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2489         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
2490         Do not require AC_C_INLINE.
2491         * modules/count-leading-zeros (Files, lib_SOURCES):
2492         Add lib/count-leading-zeros.c.
2493         (Depends-on): Add extern-inline.
2494
2495         bitrotate: better 'inline'
2496         * lib/bitrotate.c: New file.
2497         * lib/bitrotate.h (BITROTATE_INLINE):
2498         New macros.
2499         Replace all uses of 'static inline' with them.
2500         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2501         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
2502         (Depends-on): Add extern-inline.
2503         (configure.ac): Do not require AC_C_INLINE.
2504
2505 2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
2506
2507         maint.mk: avoid gratuitous failure
2508         Reported by Stefano Lattarini in
2509         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
2510         * top/maint.mk (public-submodule-commit): Quote more safely.
2511
2512 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
2513
2514         canonicalize, canonicalize-lgpl: support MS-Windows file names
2515         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
2516         for test cases, which it'd be nice to add at some point.
2517         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
2518         * lib/canonicalize.c (canonicalize_filename_mode):
2519         * lib/canonicalize-lgpl.c (__realpath):
2520         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
2521         slash is at the beginning of the file name.  Use ISSLASH, instead
2522         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
2523         the first character with '/'.  Test for
2524         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
2525         with a drive letter.
2526         * lib/canonicalize.c (SLASHES): New macro.
2527         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
2528
2529 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
2530
2531         fts: introduce FTS_VERBATIM
2532         * lib/fts_.h (FTS_VERBATIM): New bit flag.
2533         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
2534         * lib/fts.c (fts_open): Honor it.
2535
2536 2012-11-09  Pádraig Brady  <P@draigBrady.com>
2537
2538         getlogin-tests: allow errno == ENXIO
2539         * tests/test-getlogin.c (main): Skip tests if getlogin fails
2540         with errno == ENXIO (No controlling tty).
2541         getlogin_r-tests: Likewise. Also allow errno == ENOENT
2542         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
2543         with errno == ENOENT.  This was reported to happen in various
2544         situations on GNU/Linux.
2545
2546 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2547
2548         getlogin-tests: allow errno == ENOENT
2549         * tests/test-getlogin.c (main): Skip tests if getlogin fails
2550         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
2551         when running a test in an Emacs shell buffer.
2552
2553 2012-11-08  Jim Meyering  <jim@meyering.net>
2554
2555         tests/nap.h: avoid warning about unused variable
2556         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
2557
2558         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
2559         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
2560         white space before each of the special-cased file names, to avoid
2561         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
2562         in http://bugs.gnu.org/12830.
2563
2564 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
2565
2566         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
2567         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
2568         fails with errno == EBADF when fd is opened with O_PATH.
2569         Reported by Jim Meyering in
2570         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
2571         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
2572         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
2573
2574 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
2575
2576         test-utimens: speed up by taking shorter naps
2577         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
2578         New functions.
2579         (nap): Use them, to do a better job of guessing the delay.
2580         On Fedora 17 with ext4 atop md atop hard disks, this made
2581         test-utimens run 10x faster, because the test napped for
2582         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
2583         <http://bugs.gnu.org/12820#11>.
2584
2585 2012-11-07  Jim Meyering  <jim@meyering.net>
2586
2587         mountlist.c: fix a compilation failure
2588         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
2589         I introduced while transforming commit v0.0-7683-g613bcb6
2590
2591 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
2592
2593         errno: port to LynxOS 178 2.2.2
2594         Problem reported by Joel Brobecker in
2595         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
2596         * doc/posix-headers/errno.texi (errno.h): Document this.
2597         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
2598         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
2599         Supply a string for EILSEQ.
2600         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
2601
2602 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
2603
2604         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
2605         Linux kernel 2.6.39 introduced O_PATH (see
2606         <http://lwn.net/Articles/433854/>) and this is a better fallback
2607         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
2608         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
2609         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
2610         * lib/fcntl.in.h (O_ACCMODE):
2611         * tests/test-fcntl-h.c (main):
2612         Do not reject O_ACCMODE merely because it has more than the
2613         minimal number of bits, as POSIX allows extensions here.
2614
2615 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
2616
2617         mountlist: do not classify a bind-mounted dir entry as "dummy"
2618         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
2619         the "none"-testing clause.
2620         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
2621         exception for bind-mounted directories.
2622
2623 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
2624
2625         quote: provide a means to escape strings with nul characters
2626         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
2627         (quote, quote_n): Rename formal arguments for consistency with
2628         quotearg.
2629
2630 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
2631
2632         test-raise: don't assume 199 is an invalid signal
2633         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
2634
2635         sh-quote-tests: port to Solaris 9
2636         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
2637         Problem reported by Dagobert Michelsen in
2638         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
2639
2640 2012-10-28  Jim Meyering  <jim@meyering.net>
2641
2642         maint.mk: rename a new configurable variable
2643         * top/maint.mk (_gl_translatable_string_re): Rename from
2644         translation-markers: _gl_ prefix to insulate from user Makefile code,
2645         and the _re suffix to inform that it's a regular expression.
2646
2647 2012-10-26  Eric Blake  <eblake@redhat.com>
2648
2649         maint.mk: let packages tweak sc_po_check pattern
2650         * top/maint.mk (sc_po_check): Add translation-markers, to allow
2651         finding files with other translation markers.
2652
2653 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
2654
2655         euidaccess: speed up 'configure' on GNU hosts
2656         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
2657         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
2658         it's needed only in this case.  Use AC_CHECK_DECLS, not
2659         AC_CHECK_DECLS_ONCE.
2660         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
2661         or AC_REQUIRE for AC_FUNC_GETGROUPS.
2662
2663         * lib/regexec.c (re_search_internal): Fix grammar in comment.
2664
2665 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
2666
2667         fchmodat, fchownat, fstatat: port to non-inlining compilers
2668         Problem reported for FreeBSD 9 by Jim Meyering in
2669         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
2670         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
2671         New files, which define FCHMODAT_INLINE etc.
2672         * lib/fchmodat.c (FCHMODAT_INLINE):
2673         * lib/fchownat.c (FCHOWNAT_INLINE):
2674         * lib/fstatat.c (FSTATAT_INLINE):
2675         Remove, as chmodat.c etc. now do this.
2676         * modules/fchmodat (Files): Add lib/chmodat.c.
2677         * modules/fchownat (Files): Add lib/chownat.c.
2678         * modules/fstatat (Files): Add lib/statat.c.
2679
2680 2012-10-15  Jim Meyering  <jim@meyering.net>
2681
2682         fchmodat.c, fchownat.c: compile-impeding typos
2683         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
2684         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
2685         Introduced in commit v0.0-7636-gd202279.
2686
2687 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
2688
2689         fcntl-h: support GNU flags like O_IGNORE_CTTY
2690         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
2691         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
2692         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
2693         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
2694         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
2695         Define to 0 if not already defined.
2696         * tests/test-fcntl-h.c: Test these new flags.
2697
2698 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
2699
2700         faccessat, etc.: support AT_FDCWD-only use
2701         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
2702         this function only if its first argument is AT_FDCWD.
2703         Emacs wants faccessat for AT_EACCESS but not for any first-arg
2704         values other than AT_FDCWD, so it doesn't want all the openat
2705         machinery with fchdir etc.
2706         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
2707         * modules/fstatat, modules/mkdirat, modules/openat (Files):
2708         * modules/unlinkat (Files):
2709         Remove lib/openat-priv.h, as at-internal supplies this file.
2710         Removing this file here allows us to support programs like Emacs
2711         that avoid at-internal.
2712
2713         faccessat: speed up 'configure' on mainstream hosts
2714         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
2715         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
2716         since it's only on unusual platforms that we need to check for
2717         'access', and it's better not to slow 'configure' down on all
2718         platforms.
2719
2720         faccessat: port to Solaris 10
2721         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
2722         Needed on Solaris 10, which doesn't have AT_EACCESS,
2723         so we need the Gnulib fcntl.h, which defines it.
2724
2725 2012-10-14  Pádraig Brady  <P@draigBrady.com>
2726         canonicalize: fix C89 compilation
2727         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
2728         declarations so C89 is supported.  Also remove the comment
2729         referencing memorty allocation as the suggested feature could
2730         not be implemented as suggested.
2731         Reported by Michael Goffioul.
2732
2733 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
2734
2735         group-member: omit unnecessary dependencies
2736         This is for Emacs, which has its own allocator and where we
2737         don't want to use xalloc.
2738         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
2739         since we no longer use xmalloc.  Do not include stdbool.h, since
2740         the changes below happen to remove the only use of bool.
2741         (GROUPBUF_SIZE): New constant.
2742         (struct group_info): Remove n_groups member.  Add groupbuf member.
2743         This lets us get the groups without using malloc, usually.
2744         (free_group_info, get_group_info): Adjust to this.
2745         (get_group_info): Return the number of groups found, or -1 on error.
2746         Use plain malloc not xmalloc, and treat its failure as if there
2747         are no groups, as the user already loses in case of error.
2748         (group_member): Simplify, based on changes to get_group_info.
2749         * modules/group-member (Depends-on): Remove dependencies on
2750         xalloc and stdbool.  Add dependency on xalloc-oversized.
2751
2752 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
2753
2754         gethrxtime: port to C++
2755         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
2756
2757 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
2758
2759         ptsname: fix macro-name typo
2760         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
2761
2762 2012-10-03  Simon Josefsson  <simon@josefsson.org>
2763
2764         inttostr: Relax license.
2765         * modules/inttostr (License): Change from LGPL to LGPLv2+.
2766
2767 2012-10-03  Eric Blake  <eblake@redhat.com>
2768
2769         ptsname_r: support ptys returned by FreeBSD posix_openpt
2770         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
2771         lives in /dev/pts/.
2772
2773 2012-10-02  Eric Blake  <eblake@redhat.com>
2774
2775         pselect: reject invalid file descriptors
2776         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
2777         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
2778         * modules/pselect (Depends-on): Add dup2.
2779         * doc/posix-functions/pselect.texi (pselect): Document this.
2780
2781         select: reject invalid file descriptors
2782         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
2783         * lib/select.c (rpl_select) [!win32]: Work around it.
2784         * modules/select (Depends-on): Add dup2.
2785         * doc/posix-functions/select.texi (select): Document this.
2786
2787         select: enhance test
2788         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
2789         New functions.
2790         (test_function): Enhance test.
2791         (do_select_bad_fd): Avoid any stale errno values.
2792
2793         ptsname: reject invalid file descriptors
2794         http://www.austingroupbugs.net/view.php?id=503
2795         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
2796         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
2797         * modules/stdlib (Makefile.am): Replace witness.
2798         * lib/stdlib.in.h (ptsname): Allow for replacement.
2799         * modules/ptsname (configure.ac): Trigger replacement.
2800         * doc/posix-functions/ptsname.texi (ptsname): Document this.
2801
2802 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
2803
2804         hash-pjw-bare: new module
2805         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
2806         * lib/hash-pjw-bare.h: Likewise.
2807         * modules/hash-pjw-bare: New file.
2808         * MODULES.html.sh (Misc): Add it.
2809
2810 2012-10-02  Eric Blake  <eblake@redhat.com>
2811
2812         manywarnings: cater to more gcc infelicities
2813         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
2814         -Wuninitialized without -O.
2815
2816 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
2817
2818         select, poll tests: Make setsockopt invocation effective.
2819         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
2820         the bind() call.
2821         * tests/test-select.h (open_server_socket): Likewise.
2822
2823 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
2824
2825         sockets, sys_stat: restore AC_C_INLINE
2826         This undoes the 2012-09-22 patch.
2827         * m4/sockets.m4 (gl_SOCKETS):
2828         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2829         Restore AC_C_INLINE, since MSVC requires __inline or _inline
2830         and does not support plain 'inline'.  Reported by Bruno Haible in
2831         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
2832
2833 2012-09-30  Bruno Haible  <bruno@clisp.org>
2834
2835         localeconv tests: Avoid test failure on OpenIndiana.
2836         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
2837         skip the 'grouping' and 'mon_grouping' tests.
2838         Reported by Jim Meyering.
2839
2840 2012-09-30  Bruno Haible  <bruno@clisp.org>
2841
2842         havelib: Follow libtool developments.
2843         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
2844         Suggested by Simon Josefsson.
2845
2846 2012-09-29  Jim Meyering  <meyering@redhat.com>
2847
2848         fstatat.c: fix a compile-impeding typo
2849         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
2850         Introduced in commit v0.0-7636-gd202279.
2851         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
2852
2853 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
2854
2855         extern-inline: provide a -Wundef safe config.h
2856         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
2857         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
2858         to produce a -Wundef warning free config.h.
2859
2860 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2861
2862         hash-pjw: relax license to LGPLv2+
2863         * modules/hash-pjw (License): Relax, with consent of author.
2864
2865 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2866
2867         maint.mk: fix strict vs. lazy variable issues with RELEASE
2868         * top/maint.mk (_equal): New function.
2869         (member_check): Strip the result to avoid spurious spaces.
2870         (url_dir_list): Do not use ifeq, which is strict, as it will
2871         require RELEASE_TYPE to be defined.
2872         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
2873         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
2874         (announcement_Cc_alpha,announcement_mail_headers_alpha)
2875         (announcement_Cc_beta,announcement_mail_headers_beta)
2876         (announcement_Cc_stable,announcement_mail_headers_stable): these.
2877         (release): Do not depend on $(release-type), as it forces its
2878         evaluation.  Bounce to it.
2879
2880 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2881
2882         maint.mk: formatting changes
2883         * top/maint.mk: Indent bodies of if's.
2884
2885 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
2886
2887         maint.mk: factor the validation of RELEASE_TYPE
2888         With help from Jim Meyering.
2889         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
2890         * top/maint.mk (_empty, _sp): Move their definition earlier.
2891         (member-check, release-type): New.
2892         Use the latter instead of $(RELEASE_TYPE).
2893         Remove now useless local checks.
2894
2895 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2896
2897         maint.mk: provide "make upload" to ease uploading
2898         See
2899         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
2900         Do not depend simply on the current $(VERSION), as there may have been
2901         new commits since the tarball generation.  Rather, rely on $(RELEASE),
2902         as "make release-commit" already does.
2903
2904         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
2905         "make TYPE".
2906
2907         * top/maint.mk (upload_command, upload, release): New.
2908         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
2909         (VERSION): first word of $(RELEASE) is always right.
2910         (emit_upload_commands): Adjust.
2911         * top/README-release: Update.
2912
2913 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2914
2915         maint.mk: silent rules
2916         With help from Stefano Lattarini.
2917         * top/maint.mk (writable-files): Use $(AM_V_GEN).
2918         (announcement): Use $(AM_V_at).
2919
2920 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
2921
2922         localename: port gl_locale_name_thread_unsafe to FreeBSD
2923         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
2924         and use the simpler FreeBSD implementation on Mac OS X as well.
2925         Original idea suggested by Ed Maste in
2926         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
2927
2928 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
2929
2930         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
2931         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
2932         * lib/mbuiter.c, lib/xsize.c: New files.
2933         * lib/binary-io.h (BINARY_IO_INLINE):
2934         * lib/eealloc.h (EEALLOC_INLINE):
2935         * lib/mbfile.h (MBFILE_INLINE):
2936         * lib/mbiter.h (MBITER_INLINE):
2937         * lib/mbuiter.h (MBUITER_INLINE):
2938         * lib/xsize.h (XSIZE_INLINE):
2939         New macros.
2940         Replace all uses of 'static inline' with them.
2941         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2942         * m4/eealloc.m4 (gl_EEALLOC):
2943         * m4/mbfile.m4 (gl_MBFILE):
2944         * m4/mbiter.m4 (gl_MBITER):
2945         * m4/xsize.m4 (gl_XSIZE):
2946         Do not require AC_C_INLINE.
2947         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
2948         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
2949         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
2950         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
2951         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
2952         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
2953         * modules/binary-io, modules/eealloc, modules/mbfile:
2954         * modules/mbiter, modules/mbuiter:
2955         (Depends-on): Add extern-inline.
2956
2957         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
2958         * lib/pipe-filter-aux.c: New file.
2959         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
2960         Replace all uses of 'static inline' with it.
2961         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2962         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
2963         (filter_retcode): No real need for inline here.
2964         * modules/pipe-filter-gi, modules/pipe-filter-ii:
2965         (Files): Add lib/pipe-filter-aux.c.
2966         (Depends-on): Add extern-inline.
2967         (configure.ac): Do not require AC_C_INLINE.
2968         (lib_SOURCES): Add pipe-filter-aux.c.
2969
2970         fdutimensat: omit unnecessary AC_C_INLINE
2971         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
2972
2973         fchmodat, fchownat, fstatat: use extern-inline
2974         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
2975         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
2976         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
2977         New macros.
2978         * lib/openat.h:
2979         Replace all uses of 'static inline' with them.
2980         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2981         * modules/fchmodat, modules/fchownat, modules/fstatat:
2982         * modules/openat-h:
2983         (Depends-on):
2984         Add extern-inline.
2985         (configure.ac): Remove AC_C_INLINE.
2986
2987         acl, mbchar, priv-set: use extern-inline
2988         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
2989         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
2990         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
2991         New macros.
2992         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
2993         Replace all uses of 'static inline' with it.
2994         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2995         * m4/acl.m4 (gl_FUNC_ACL):
2996         * m4/mbchar.m4 (gl_MBCHAR):
2997         * m4/priv-set.m4 (gl_PRIV_SET):
2998         Remove AC_C_INLINE, since 'inline' is no longer used directly.
2999         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
3000         Add extern-inline.
3001
3002         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
3003         * m4/sockets.m4 (gl_SOCKETS):
3004         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
3005         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
3006         environments where it's already guaranteed to work, so we needn't
3007         check for it at 'configure'-time.
3008
3009         tls-tests: omit unnecessary 'inline'
3010         * tests/test-tls.c (perhaps_yield): No longer inline.
3011         Simplicity and portability trump efficiency in test cases.
3012
3013         utimens-tests: avoid unnecessary 'inline'
3014         * modules/fdutimensat-tests (configure.ac):
3015         * modules/futimens-tests (configure.ac):
3016         * modules/utimens-tests (configure.ac):
3017         * modules/utimensat-tests (configure.ac):
3018         Remove AC_C_INLINE.
3019         * tests/test-utimens-common.h (ctime_compare):
3020         No longer inline.  Simplicity and portability trump efficiency here.
3021
3022         misc: don't limit commentary to inline functions
3023         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
3024         * lib/xalloc-oversized.h, lib/xsize.h:
3025         Contrast macros to functions in general, not just to inline functions,
3026         when the commentary does not apply only to inline functions.
3027
3028 2012-09-20  Jim Meyering  <meyering@redhat.com>
3029
3030         non-recursive-gnulib-prefix-hack: new module
3031         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
3032         the file that originated in Bison.
3033         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
3034         largely copied from a snippet that resided in bison's configure.ac.
3035         * modules/non-recursive-gnulib-prefix-hack: New file.
3036         * MODULES.html.sh (Support for maintaining and releasing projects):
3037         Add it.
3038
3039 2012-09-18  Jim Meyering  <meyering@redhat.com>
3040
3041         maint.mk: generalize _gl_tight_scope for non-recursive make
3042         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
3043         that *.h would describe additional .h files in the directory
3044         specified by $(_gl_TS_dir).  I.e., add this...
3045         (_gl_TS_other_headers): New variable.
3046
3047         maint.mk: exempt trailing blanks found in "binary" files
3048         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
3049         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
3050         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
3051
3052 2012-09-17  Jim Meyering  <meyering@redhat.com>
3053
3054         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
3055         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
3056         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
3057         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
3058
3059 2012-09-17  Jim Meyering  <meyering@redhat.com>
3060
3061         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
3062         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
3063         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
3064         It is not in the same category as "exit (0)" or "exit (1)", and
3065         besides, I know of no symbolic name for that 77.  Reported by
3066         Richard W.M. Jones in
3067         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
3068
3069 2012-09-17  Jim Meyering  <meyering@redhat.com>
3070
3071         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
3072         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
3073         all uses of #define, not just those that start in column 1.
3074         Richard W.M. Jones reported a false positive in
3075         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
3076
3077 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
3078
3079         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
3080         * lib/localcharset.c (locale_charset) [DARWIN7]:
3081         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
3082         as these two values are incompatible.  Problem reported by Max Horn.
3083         For more discussion, please see
3084         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
3085
3086         doc: document sticky-EOF issue
3087         * doc/posix-functions/fgetc.texi (fgetc):
3088         * doc/posix-functions/fgets.texi (fgets):
3089         * doc/posix-functions/fread.texi (fread):
3090         * doc/posix-functions/fscanf.texi (fscanf):
3091         * doc/posix-functions/getc.texi (getc):
3092         * doc/posix-functions/getchar.texi (getchar):
3093         * doc/posix-functions/scanf.texi (scanf):
3094         Mention that glibc and default Solaris do not conform to
3095         C99 and POSIX-2001 or later, with respect to how getchar
3096         etc. behave when feof reports nonzero.
3097
3098 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
3099
3100         poll: fix poll(0, NULL, msec)
3101         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
3102         but nfd is 0.  In that case poll should behave like select.
3103
3104 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
3105             Paolo Bonzini <bonzini@gnu.org>
3106
3107         poll: fix for systems that can't recv() on a non-socket
3108         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
3109         is readable.  In this case POLLHUP will not be supported.
3110         * doc/posix-functions/poll.texi: Document this.
3111
3112 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
3113
3114         poll/select: document portability problems not fixed by Gnulib.
3115         * doc/posix-functions/poll.texi: poll does not work well on
3116         pipes under Windows.  It has the same limitations as select on
3117         BeOS.
3118         * doc/posix-functions/select.texi: select does not work well
3119         on pipes under Windows.
3120
3121 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
3122
3123         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
3124         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
3125         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
3126         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
3127
3128 2012-09-06  Eric Blake  <eblake@redhat.com>
3129
3130         net_if: give more details about the bug being fixed
3131         * doc/posix-headers/net_if.texi: Add clarification.
3132
3133 2012-09-05  Eric Blake  <eblake@redhat.com>
3134
3135         net_if: new module
3136         * modules/net_if: New module, borrowing ideas from netinet_in.
3137         * m4/net_if_h.m4: New file.
3138         * lib/net_if.in.h: Likewise.
3139         * doc/posix-headers/net_if.texi (net/if.h): Document it.
3140         * MODULES.html.sh (lacking POSIX:2008): Likewise.
3141         * tests/test-net_if.c: Make function checks conditional.
3142         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
3143
3144 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
3145
3146         readutmp: fix non-portable UT_PID use
3147         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
3148         Use `UT_PID (u) > 0' as absolute condition.
3149
3150 2012-09-04  Jim Meyering  <meyering@redhat.com>
3151
3152         fts: reduce two or more trailing spaces to just one, usually
3153         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
3154         or more slashes, trim all but the final one.  But if a name consists
3155         solely of two slashes, don't modify it.  If it consists solely of
3156         three or more slashes, strip all but one.
3157
3158         This is part of the solution to a minor problem with rm:
3159         it would print a bogus ELOOP diagnostic when failing to remove
3160         the slash-decorated name of a symlink-to-directory:
3161
3162             $ mkdir d && ln -s d s && env rm -r s/
3163             rm: cannot remove 's': Too many levels of symbolic links
3164
3165         With the change below and a trivial don't-trim-trailing-slashes
3166         adjustment to remove.c, it does this:
3167
3168             $ env rm -r s/
3169             rm: cannot remove 's/': Not a directory
3170
3171         Improved by: Eric Blake
3172
3173         fts: when there is no risk of overlap, use memcpy, not memmove
3174         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
3175
3176 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
3177
3178         stdbool: be more compatible with mixed C/C++ compiles
3179         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
3180         Define to bool, true, false, respectively, as GCC's builtin
3181         stdbool.h does.  Problem reported by Michael Goffioul in
3182         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
3183
3184 2012-08-28  Jim Meyering  <meyering@redhat.com>
3185
3186         revert last change: it was not needed
3187         * tests/test-vc-list-files-git.sh: There's already a test for
3188         a working git, just below.
3189
3190 2012-08-28  Jim Meyering  <meyering@redhat.com>
3191
3192         tests: test-vc-list-files-git.sh: skip if git is not available
3193         * tests/test-vc-list-files-git.sh: Skip this test when git is
3194         not available.
3195
3196 2012-08-26  Bruno Haible  <bruno@clisp.org>
3197
3198         gnulib-tool: Remove no-op option --no-changelog.
3199         * gnulib-tool (func_usage): Don't mention --no-changelog.
3200         (do_changelog): Remove variable.
3201         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
3202
3203 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3204
3205         doc: remove fdl-1.2.texi
3206         It is no longer used or maintained, and its use of @acronym
3207         is problematic.  See the thread containing
3208         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
3209         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
3210         * doc/old-licenses/fdl-1.2.texi: Remove.
3211
3212         execinfo: port to FreeBSD
3213         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
3214         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
3215         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
3216         * modules/execinfo (Link): Add $(LIB_EXECINFO).
3217
3218 2012-08-23  Jim Meyering  <meyering@redhat.com>
3219
3220         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
3221         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
3222         to placate gcc's -Wold-style-declaration.
3223
3224 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3225
3226         doc: do not use @acronym
3227         * doc/inet_ntoa.texi (inet_ntoa):
3228         * doc/parse-datetime.texi (Seconds since the Epoch)
3229         (Specifying time zone rules):
3230         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
3231         Don't use @acronym.  Problem reported by John Darlington in
3232         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
3233
3234 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
3235
3236         stdnoreturn: port to newer GCCs
3237         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
3238         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
3239         Problem reported by Jim Meyering in
3240         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
3241         Also, rename the 'test' function to a void a clash with the
3242         already-supplied 'main' function; this fixes a bug that incorrectly
3243         rejected GCC 4.7.1's <stdnoreturn.h>.
3244         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
3245         Document GCC problem.
3246
3247 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
3248
3249         pipe-filter: fix comment typo
3250         * lib/pipe-filter.h: Mention correct function.
3251
3252 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
3253
3254         execinfo: new module
3255         This is for Emacs.  Currently, it provides a no-effect stub
3256         on all platforms where it does not already work.
3257         It already works on glibc-based systems, and on Solaris 11.
3258         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
3259         New files.
3260         * doc/glibc-headers/execinfo.texi (execinfo.h):
3261         * MODULES.html.sh (Misc): Document it.
3262
3263 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
3264
3265         extern-inline: support old GCC 'inline'
3266         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
3267         if available.  This applies to GCC versions 2.7 through 4.2, or
3268         when newer GCC is using -fgnu89-inline.  The goal is to address
3269         some of the performance issues mentioned by Bruno Haible in
3270         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
3271
3272 2012-08-20  Eric Blake  <eblake@redhat.com>
3273
3274         maint.mk: avoid redundant file name in message
3275         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
3276         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
3277         (sc_makefile_path_separator_check): Remove bogus $(ME).
3278
3279 2012-08-20  Mike Frysinger <vapier@gentoo.org>
3280
3281         timer-time: fix link order when static linking on glibc
3282         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
3283         _after_ -lrt so that it's significant.
3284
3285 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
3286
3287         timespec: omit unnecessary AC_C_INLINE
3288         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
3289
3290         stat-time: omit unnecessary AC_C_INLINE
3291         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
3292         Do not require AC_C_INLINE.
3293
3294         ignore-value: omit unnecessary AC_C_INLINE
3295         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
3296
3297         sys_select: avoid 'static inline'
3298         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
3299
3300         mktime: avoid 'static inline'
3301         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
3302         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
3303
3304 2012-08-19  Bruno Haible  <bruno@clisp.org>
3305
3306         gnulib-tool: Improve coding style.
3307         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
3308         func_emit_lib_Makefile_am.
3309         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
3310
3311 2012-08-19  Bruno Haible  <bruno@clisp.org>
3312
3313         gnulib-tool: Fix indentation.
3314         * gnulib-tool (func_import): Fix indentation.
3315
3316 2012-08-19  Bruno Haible  <bruno@clisp.org>
3317
3318         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
3319         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
3320         on the list of removed files.
3321
3322 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
3323
3324         test-parse-datetime: avoid glibc leap-second glitch
3325         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
3326         with the 2012 rules.  Problem reported by Bruce Dubbs in
3327         <http://bugs.gnu.org/12206>.
3328
3329 2012-08-14  Bruno Haible  <bruno@clisp.org>
3330
3331         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
3332         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
3333         from argument.
3334         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
3335
3336 2012-08-14  Eric Blake  <eblake@redhat.com>
3337
3338         ldexp: relax license
3339         * modules/ldexp (License): Trivial relax, since the module only
3340         provides a permissively licensed m4 file.
3341
3342 2012-08-13  Bruno Haible  <bruno@clisp.org>
3343
3344         gnulib-tool: Fix persistence of --witness-c-macro option.
3345         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
3346         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
3347
3348 2012-08-11  Eric Blake  <eblake@redhat.com>
3349
3350         count-leading-zeros: use a lookup table on non-gcc compilers
3351         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
3352         alternate implementation, suggested by Jim Meyering.
3353
3354 2012-08-10  Eric Blake  <eblake@redhat.com>
3355
3356         count-leading-zeros: new module
3357         * modules/count-leading-zeros: New module.
3358         * m4/count-leading-zeros.m4: New file.
3359         * lib/count-leading-zeros.h: Likewise.
3360         * modules/count-leading-zeros-tests: New test.
3361         * tests/test-count-leading-zeros.c: New file.
3362         * MODULES.html.sh (Integer arithmetic functions): Document it.
3363
3364 2012-08-07  Simon Josefsson  <simon@josefsson.org>
3365             Jim Meyering  <meyering@redhat.com>
3366
3367         maintainer-makefile: Fix syntax error with dash.
3368         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
3369         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
3370
3371 2012-08-05  Jim Meyering  <meyering@redhat.com>
3372
3373         extern-inline: also ignore -Wmissing-declarations
3374         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
3375         required with gcc-4.8.0-to-be.
3376
3377         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
3378         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
3379         for /error ?([^,]*)/.  This avoids false-positives for strings like
3380         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
3381
3382 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
3383
3384         gnumakefile: better interaction with Automake-NG
3385         * modules/gnumakefile [Makefile.am]: The makefiles generated by
3386         Automake-NG always contain a definition of VPATH, even in non-VPATH
3387         builds (its value being simply '.' in that case).  So, in the
3388         'clean-GNUmakefile' rule, to determine whether running under a
3389         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
3390         '$(VPATH)' expands to the empty string.
3391
3392 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
3393
3394         base64: Use extern C scope in header file, for C++.
3395         * lib/base64.h: Add C++ namespace protection.
3396
3397 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
3398
3399         stat-time, timespec, u64: support naive out-of-dir builds
3400         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
3401         Use '#include "foo.h"', not '#include <foo.h>', when including
3402         one's own interface.  This works better when configuring with
3403         out-of-directory builds, since packages need not add an
3404         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
3405
3406 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
3407
3408         utimens: use extern-inline
3409         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
3410         * lib/utimens.h: Add copyright notice, since this is now large enough
3411         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3412         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
3413         * modules/utimens (Depends-on): Add extern-inline.
3414
3415         u64: use extern-inline
3416         * lib/u64.c: New file.
3417         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3418         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
3419         * modules/u64 (Files): Add lib/u64.c.
3420         (Depends-on): Add extern-inline.
3421         (configure.ac): No need to require AC_C_INLINE, since extern-inline
3422         does that now.
3423         (lib_SOURCES): Add u64.c.
3424
3425         timespec: use extern-inline
3426         * lib/timespec.c: New file.
3427         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3428         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
3429         * modules/timespec (Files): Add lib/timespec.c.
3430         (Depends-on): Add extern-inline.
3431         (lib_SOURCES): Add timespec.c.
3432
3433         stat-time: use extern-inline
3434         * lib/stat-time.c: New file.
3435         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3436         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
3437         * modules/stat-time (Files): Add lib/stat-time.c.
3438         (Depends-on): Add extern-inline.
3439         (lib_SOURCES): Add stat-time.c.
3440
3441         extern-inline: new module
3442         * modules/extern-inline, m4/extern-inline.m4: New files.
3443         This is for better support of 'extern inline' a la ISO C99,
3444         with a portable alternative on compilers that do not support
3445         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
3446         of the Emacs executable, when compiled with debugging disabled,
3447         which is a typical way that Emacs is built while developing.
3448
3449 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
3450
3451         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
3452         * build-aux/do-release-commit-and-tag: Move variable definitions
3453         together.
3454         ($branch): Instead of defaulting to "master", default to the current
3455         branch (as gnu-web-doc-update does).
3456         (help): Display the current values of the option arguments.
3457         * top/maint.mk (release-commit): New.
3458         * top/README-release: Simplify the corresponding step.
3459
3460 2012-07-30  Eric Blake  <eblake@redhat.com>
3461
3462         passfd: fix comment on recvfd
3463         * lib/passfd.c (recvfd): Fix comment.
3464         Reported by Jann Horn <jannhorn@googlemail.com>.
3465
3466 2012-07-30  Jim Meyering  <meyering@redhat.com>
3467
3468         maint.mk: avoid a sub-shell
3469         * top/maint.mk (release-prep): Remove unneeded sub-shell.
3470
3471 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3472
3473         maint.mk: use silent-rules support from Automake
3474         * top/maint.mk (news-check, vc-diff-check, announcement)
3475         (no-submodule-changes, alpha beta stable, release-prep)
3476         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
3477
3478 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3479
3480         maint.mk: provide a web-manual-update target
3481         * top/maint.mk: here.
3482         * top/README-release: Use it to simplify the web manual update step.
3483
3484 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3485
3486         README-release: shorten the circuit to post a news
3487         * top/README-release: Point directly to the news submission form.
3488
3489 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3490
3491         gnu-web-doc-update: fix --help
3492         * build-aux/gnu-web-doc-update: The information "top level" was written
3493         twice.
3494
3495 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3496
3497         maint.mk: absolute VPATH issue
3498         * top/maint.mk (release-prep): Help Git find .git/.
3499         From Jim Meyering.
3500
3501 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
3502
3503         gitlog-to-changelog: fix previous change
3504         * build-aux/gitlog-to-changelog: Fix condition.
3505         Add missing ";".
3506
3507 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
3508
3509         gitlog-to-changelog: don't expect .git to be in $srcdir
3510         Reported by Bruno Haible.
3511         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
3512         * build-aux/gitlog-to-changelog (&git_dir_option): New.
3513         Use it.
3514
3515 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
3516
3517         maint.mk: absolute VPATH build fix
3518         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
3519         $(srcdir) is not a parent of $(builddir).
3520
3521 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
3522
3523         clean-temp: Fix memory leak.
3524         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
3525         'files' members of tmpdir.
3526
3527 2012-07-27  Jim Meyering  <meyering@redhat.com>
3528
3529         maint.mk: new rule: refresh-gnulib-patches
3530         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
3531         Use this rule to refresh them.
3532         * top/maint.mk (refresh-gnulib-patches): New rule.
3533
3534 2012-07-24  Bruno Haible  <bruno@clisp.org>
3535
3536         gnulib-tool: Fix handling of inctests variable.
3537         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
3538         Reported by Nick Bowler <nbowler@elliptictech.com>.
3539
3540 2012-07-22  Bruno Haible  <bruno@clisp.org>
3541
3542         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
3543         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
3544         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
3545         Remove exemption for getpass.h.
3546         Suggested by Eric Blake.
3547
3548 2012-07-20  Eric Blake  <eblake@redhat.com>
3549
3550         verify: document conflict with -Wnested-externs
3551         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
3552
3553         maint.mk: forbid exit(-1)
3554         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
3555
3556 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
3557
3558         fsusage: port back to Solaris
3559         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
3560         error (fsd not declared) on Solaris 10.  Reported privately by
3561         Andrew Borodin.
3562
3563 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
3564
3565         gnu-web-doc-update: fix error messages
3566         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
3567
3568         gnu-web-doc-update: check the requirements.
3569         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
3570         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
3571         * build-aux/bootstrap (find_tool): Comment change.
3572
3573 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
3574
3575         maint.mk: minor simplication.
3576         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
3577         for default values.
3578
3579 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
3580
3581         gitlog-to-changelog: VPATH build issues
3582         If builddir is not a subdirectory of srcdir, running git from it will
3583         fail.
3584         * build-aux/gitlog-to-changelog (--srcdir): New option.
3585
3586 2012-07-15  Bruno Haible  <bruno@clisp.org>
3587
3588         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
3589         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
3590         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
3591         Remove exemption for fpending.h.
3592         Suggested by Eric Blake.
3593
3594 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
3595
3596         pthread_sigmask: fix bug on FreeBSD 9
3597         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
3598         Include string.h.
3599         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
3600         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
3601         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
3602         but pthread_sigmask (1729, NULL, NULL) returns zero.
3603         See <http://bugs.gnu.org/11884>.
3604         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
3605         by inspecting whether the main call changed the old mask.
3606
3607 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
3608
3609         README-release: make it more legible
3610         * top/README-release: Improve typography slightly.
3611
3612 2012-07-15  Jim Meyering  <meyering@redhat.com>
3613
3614         maint: require that each sc_... command start with "@"
3615         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
3616         "make sc_maint" helps us avoid this nit.
3617
3618 2012-07-15  Jim Meyering  <meyering@redhat.com>
3619
3620         maint.mk: add leading "@" to quiet new "make syntax-check" rule
3621         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
3622
3623 2012-07-13  Eric Blake  <eblake@redhat.com>
3624
3625         maint.mk: new syntax check for HAVE_DECL checks
3626         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
3627         * cfg.mk
3628         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
3629         Exempt some false positives.
3630         Based on a report by Karel Zak.
3631
3632         argp: make HAVE_DECL usage consistent
3633         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
3634         macros, not whether they are defined.
3635         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
3636         convention with other declaration checks.
3637         Reported by Karel Zak, with suggestions from Paul Eggert.
3638
3639         stat-time: relax license to LGPLv2+
3640         * modules/stat-time (License): Relax, with consent of all authors.
3641
3642         strndup: fix m4 usage error
3643         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
3644         defined, to either 0 or 1.
3645         Reported by Karel Zak.
3646
3647 2012-07-11  Jim Meyering  <meyering@redhat.com>
3648
3649         maint: enable the sc_avoid_if_before_free syntax-check rule
3650         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
3651         (if_before_free_offenders_): Define.
3652         (if_before_free_basename_re_): Define.
3653         Exempt current files with useless if-before-free.
3654
3655 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
3656
3657         gettext: do not assume '#define ... defined ...' behavior
3658         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
3659         Do not use '#define FOO ... defined BAR ...', as the C standard says
3660         it's not portable to expect that this works after macro expansion.
3661         Problem reported for gzip by Steven M. Schweda in
3662         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
3663
3664 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
3665
3666         getloadavg: clean out old Emacs and Autoconf cruft
3667         See Glenn Morris in <http://bugs.gnu.org/11905>.
3668         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
3669         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
3670         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
3671         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
3672
3673 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
3674
3675         bootstrap: let warn be like tests/init.sh's warn_
3676         Reported by Jim Meyering.
3677         * build-aux/bootstrap (warn): Remove, replaced by...
3678         (warnf_, warn_): these.
3679         Adjust callers.
3680         Shorten messages that no longer fit in 80 columns.
3681
3682 2012-07-09  Bruno Haible  <bruno@clisp.org>
3683
3684         getopt: Simplify after Emacs changed.
3685         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
3686         (gl_GETOPT_IFELSE): Remove macro.
3687
3688 2012-07-09  Jim Meyering  <meyering@redhat.com>
3689
3690         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
3691         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
3692
3693         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
3694         Bugs in both of those conspired to make the
3695         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
3696         _sc_search_regexp's handling of non-empty $in_files would filter
3697         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
3698         choice of in_files value meant there would be no match in most
3699         projects, due to the presence of two or more Makefile.in files.
3700         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
3701         Fix a bug in how a non-empty $$in_files was processed:
3702         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
3703         in spite of the name, it's a regexp, not a list of file names.
3704
3705 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
3706
3707         getloadavg, getopt: fix commentary re configure.in
3708         Autoconf is deprecating the name 'configure.in', so change it to
3709         to the new name 'configure.ac' in a couple of places.
3710         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
3711         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
3712         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
3713         Emacs has renamed it to configure.ac, and it no longer refers
3714         to these macros anyway.
3715
3716         timespec: mark functions with const attributes
3717         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
3718         Mark with _GL_ATTRIBUTE_CONST.
3719
3720 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
3721
3722         canonicalize[-lgpl]: handle "guessing" values when cross-building
3723         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
3724         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
3725         matches "*yes" instead of just "yes".  Regression introduced in commit
3726         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
3727
3728 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
3729             Bruno Haible  <bruno@clisp.org>
3730
3731         canonicalize: make the right guess when cross-compiling to GNU
3732         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
3733         determine whether cross-compiling to glibc systems, so as to
3734         include GNU/Hurd.
3735
3736 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3737
3738         timespec-sub: avoid duplicate include
3739         * lib/timespec-sub.c: Do not include <config.h> twice.
3740         Reported by Juanma Barranquero.
3741
3742 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
3743
3744         bootstrap: use a more consistent error reporting scheme
3745         * build-aux/bootstrap (warn, die): New.
3746         Use them.
3747
3748 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
3749
3750         sys_time: allow too-wide tv_sec
3751         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
3752         timeval even if tv_sec is wider than time_t.  This allows
3753         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
3754         as without this patch gnulib replaces struct timeval
3755         and OpenBSD futimes therefore has a type mismatch.
3756         * doc/posix-headers/sys_time.texi: Mention this.
3757
3758         pthread: check for both pthread_create and pthread_join
3759         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
3760         alter the check so that it tests for both pthread_create and
3761         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
3762         Suggested by Bruno Haible and Richard Yao in
3763         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
3764
3765         parse-datetime: doc tuneup
3766         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
3767         spacing issues.
3768
3769 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
3770
3771         do-release-commit-and-tag: fix the previous commit
3772         * build-aux/do-release-commit-and-tag: Actually the test was right,
3773         but the comment and the error message were misleading.
3774         Fix comment, and improve error message.
3775         Perform check first, so that NEWS is not modified uselessly.
3776
3777         do-release-commit-and-tag: fix typo
3778         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
3779         _not_ start with a stub.
3780
3781 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
3782
3783         pthread: check for pthread_create, not pthread_join
3784         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
3785         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
3786         pthread_join in libc.  I hope this removes the need for all the
3787         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
3788         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
3789
3790 2012-07-04  Jim Meyering  <meyering@redhat.com>
3791
3792         parse-datetime: fix failure to diagnose invalid input
3793         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
3794         rather than diagnosing the invalid input.  Now it reports this:
3795         date: invalid date '\260'
3796         * lib/parse-datetime.y (to_uchar): Define.
3797         (yylex): Don't sign-extend "other" bytes.
3798         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
3799         Thanks to Bruno Haible for the patch to this file.
3800         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
3801         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
3802
3803 2012-07-03  Jim Meyering  <meyering@redhat.com>
3804
3805         bootstrap: do not require now-removed build-aux/missing
3806         Now that build-aux/missing is, er, missing, bootstrap would
3807         silently fail.
3808         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
3809         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
3810         no longer part of gnulib.
3811         Diagnose the failure.
3812
3813 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
3814
3815         alloca: add support for HP NonStop TNS/E native
3816         * lib/alloca.in.h (alloca): Support the new host.
3817         From a suggestion by Joachim Schmitz in
3818         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
3819
3820 2012-07-02  Pádraig Brady  <P@draigBrady.com>
3821
3822         fsusage: remove code not needed on non GNU/Linux systems.
3823
3824         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3825         Don't include headers no longer needed in this case.
3826         * lib/fsusage.c [STAT_STATVFS &&
3827         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
3828         STAT_STATFS2_FRSIZE to exclude code not used in this case.
3829
3830 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3831
3832         fsusage: include files needed for glibc 2.6 fallback
3833         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3834         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
3835         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
3836         Problem reported by Ludovic Courtès in
3837         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
3838
3839         fsusage: avoid needless check on GNU/Linux
3840         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
3841         on GNU/Linux systems, since it can't possibly work.
3842
3843 2012-07-01  Bruno Haible  <bruno@clisp.org>
3844
3845         log: Fix an autoconf >= 2.64 warning.
3846         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
3847         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3848
3849 2012-06-28  Bruno Haible  <bruno@clisp.org>
3850
3851         log10f: Fix possible configuration problem.
3852         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
3853         $LOGF_LIBM.
3854         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3855
3856 2012-06-28  Bruno Haible  <bruno@clisp.org>
3857
3858         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
3859         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
3860         not gl_cv_func_unlink_works.
3861         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3862
3863 2012-06-27  Eric Blake  <eblake@redhat.com>
3864
3865         config: drop scripts that automake says are not independent
3866         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
3867         * build-aux/elisp-comp: Delete.
3868         * build-aux/missing: Likewise.
3869         * build-aux/ylwrap: Likewise.
3870         * modules/elisp-comp: Likewise.
3871         * MODULES.html.sh: Drop mention of elisp-comp.
3872         * NEWS: Mention this.
3873
3874 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
3875
3876         root-uid: new module
3877         This is for portability to Tandem's NonStop Kernel.
3878         * lib/root-uid.h, modules/root-uid: New files.
3879         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
3880         * lib/write-any-file.c, tests/test-sethostname2.c:
3881         Include "root-uid.h".
3882         * lib/euidaccess.c (euidaccess):
3883         * lib/pt_chown.c (main):
3884         * lib/unlinkdir.c (cannot_unlink_dir):
3885         * lib/write-any-file.c (can_write_any_file):
3886         * m4/mknod.m4 (gl_FUNC_MKNOD):
3887         * tests/test-sethostname2.c (geteuid, main):
3888         Don't assume ROOT_UID == 0.
3889         * modules/euidaccess (Depends-on):
3890         * modules/pt_chown (Depends-on):
3891         * modules/sethostname-tests (Depends-on):
3892         * modules/unlinkdir (Depends-on):
3893         * modules/write-any-file (Depends-on):
3894         Add root-uid.
3895
3896         regex: use locale-independent comparison for codeset name
3897         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
3898         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
3899         for codeset name.
3900         * lib/regex_internal.h: Do not include <strings.h>, since we
3901         no longer use strcasecmp.
3902         * modules/regex (Depends-on): Remove strcase.
3903
3904 2012-06-23  Bruno Haible  <bruno@clisp.org>
3905
3906         getopt-posix: No longer guarantee that option processing is resettable.
3907         * doc/posix-functions/getopt.texi: Drop description of problem with
3908         internal state. Fix info about mingw and msvc9.
3909         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
3910         option processing by getopt(). Run three test programs instead of one.
3911         Simplify cross-compilation guess.
3912         * NEWS: Mention the change.
3913         Reported by Rich Felker <dalias@aerifal.cx>.
3914
3915 2012-06-26  Bruno Haible  <bruno@clisp.org>
3916
3917         argp, regex: Ensure strcasecmp gets declared.
3918         * lib/argp-help.c: Include <strings.h>.
3919         * lib/regex_internal.h: Likewise.
3920         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
3921
3922 2012-06-24  Bruno Haible  <bruno@clisp.org>
3923
3924         ptsname_r: Make it consistent with ptsname on AIX.
3925         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
3926         implementation as for OSF/1.
3927         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
3928         a pty master.
3929
3930         ptsname_r: Make it consistent with ptsname on OSF/1.
3931         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3932         OSF/1.
3933
3934 2012-06-24  Bruno Haible  <bruno@clisp.org>
3935
3936         ttyname_r: Fix result on OSF/1, Solaris.
3937         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
3938
3939 2012-06-24  Bruno Haible  <bruno@clisp.org>
3940
3941         ptsname_r: Add support for Solaris.
3942         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3943         Solaris.
3944
3945         ptsname_r: Fix test failure on native Windows.
3946         * modules/ptsname_r (Depends-on): Add isatty.
3947
3948         ptsname_r: Fix test failures on IRIX, Solaris.
3949         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
3950         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
3951         accordingly.
3952         * lib/ptsname_r.c: Include <fcntl.h>.
3953         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
3954         set errno if fd is invalid.
3955         * tests/test-isatty.c (main): Update comments.
3956
3957 2012-06-24  Bruno Haible  <bruno@clisp.org>
3958
3959         ptsname test: Extend test.
3960         * tests/test-ptsname.c: Include <errno.h>.
3961         (main): Test behaviour with invalid file descriptor.
3962
3963 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
3964
3965         time: fix obsolete comment
3966         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
3967         reference to HAVE_STRUCT_TIMESPEC in comment.
3968
3969 2012-06-23  Bruno Haible  <bruno@clisp.org>
3970
3971         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
3972         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
3973         does not handle abbreviated long options with equivalent
3974         disambiguations, set gl_replace_getopt to yes.
3975         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
3976
3977 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
3978
3979         time_r: fix typo that always overrode localtime_r decl
3980         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
3981         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
3982         not in a standard include.
3983
3984 2012-06-22  Bruno Haible  <bruno@clisp.org>
3985
3986         Write "Mac OS X" instead of "MacOS X".
3987         * README: Write "Mac OS X" instead of "MacOS X".
3988         * build-aux/bootstrap: Likewise.
3989         * build-aux/install-reloc: Likewise.
3990         * lib/acl-internal.h: Likewise.
3991         * lib/acl_entries.c: Likewise.
3992         * lib/argp-ba.c: Likewise.
3993         * lib/argp-pv.c: Likewise.
3994         * lib/config.charset: Likewise.
3995         * lib/copy-acl.c: Likewise.
3996         * lib/csharpexec.c: Likewise.
3997         * lib/euidaccess.c: Likewise.
3998         * lib/fbufmode.c: Likewise.
3999         * lib/fflush.c: Likewise.
4000         * lib/file-has-acl.c: Likewise.
4001         * lib/filemode.h: Likewise.
4002         * lib/fpurge.c: Likewise.
4003         * lib/freadable.c: Likewise.
4004         * lib/freadahead.c: Likewise.
4005         * lib/freading.c: Likewise.
4006         * lib/freadptr.c: Likewise.
4007         * lib/freadseek.c: Likewise.
4008         * lib/fseeko.c: Likewise.
4009         * lib/fseterr.c: Likewise.
4010         * lib/fsusage.c: Likewise.
4011         * lib/fwritable.c: Likewise.
4012         * lib/fwriting.c: Likewise.
4013         * lib/get-rusage-as.c: Likewise.
4014         * lib/get-rusage-data.c: Likewise.
4015         * lib/getdomainname.c: Likewise.
4016         * lib/idpriv-drop.c: Likewise.
4017         * lib/idpriv-droptemp.c: Likewise.
4018         * lib/localcharset.c: Likewise.
4019         * lib/locale.in.h: Likewise.
4020         * lib/localename.c: Likewise.
4021         * lib/mbsrtowcs-state.c: Likewise.
4022         * lib/nproc.c: Likewise.
4023         * lib/passfd.c: Likewise.
4024         * lib/posix_openpt.c: Likewise.
4025         * lib/printf-parse.c: Likewise.
4026         * lib/progreloc.c: Likewise.
4027         * lib/safe-read.h: Likewise.
4028         * lib/safe-write.h: Likewise.
4029         * lib/sched.in.h: Likewise.
4030         * lib/set-mode-acl.c: Likewise.
4031         * lib/signal.in.h: Likewise.
4032         * lib/stdint.in.h: Likewise.
4033         * lib/stdio-impl.h: Likewise.
4034         * lib/stdlib.in.h: Likewise.
4035         * lib/strtod.c: Likewise.
4036         * lib/sys_select.in.h: Likewise.
4037         * lib/tcgetsid.c: Likewise.
4038         * lib/unistd.in.h: Likewise.
4039         * lib/unlockpt.c: Likewise.
4040         * lib/vasnprintf.c: Likewise.
4041         * lib/vma-iter.c: Likewise.
4042         * lib/wcsrtombs-state.c: Likewise.
4043         * m4/acl.m4: Likewise.
4044         * m4/acosl.m4: Likewise.
4045         * m4/asinl.m4: Likewise.
4046         * m4/atanl.m4: Likewise.
4047         * m4/c-stack.m4: Likewise.
4048         * m4/cosl.m4: Likewise.
4049         * m4/expl.m4: Likewise.
4050         * m4/extensions.m4: Likewise.
4051         * m4/fdatasync.m4: Likewise.
4052         * m4/fmal.m4: Likewise.
4053         * m4/frexp.m4: Likewise.
4054         * m4/frexpf.m4: Likewise.
4055         * m4/frexpl.m4: Likewise.
4056         * m4/fsusage.m4: Likewise.
4057         * m4/getdomainname.m4: Likewise.
4058         * m4/getloadavg.m4: Likewise.
4059         * m4/getopt.m4: Likewise.
4060         * m4/gettext.m4: Likewise.
4061         * m4/gnulib-common.m4: Likewise.
4062         * m4/intdiv0.m4: Likewise.
4063         * m4/intlmacosx.m4: Likewise.
4064         * m4/largefile.m4: Likewise.
4065         * m4/ldexpl.m4: Likewise.
4066         * m4/link-follow.m4: Likewise.
4067         * m4/locale-ar.m4: Likewise.
4068         * m4/locale-fr.m4: Likewise.
4069         * m4/locale-ja.m4: Likewise.
4070         * m4/locale-tr.m4: Likewise.
4071         * m4/locale-zh.m4: Likewise.
4072         * m4/locale_h.m4: Likewise.
4073         * m4/lock.m4: Likewise.
4074         * m4/logl.m4: Likewise.
4075         * m4/mathfunc.m4: Likewise.
4076         * m4/minus-zero.m4: Likewise.
4077         * m4/mktime.m4: Likewise.
4078         * m4/mmap-anon.m4: Likewise.
4079         * m4/multiarch.m4: Likewise.
4080         * m4/nanosleep.m4: Likewise.
4081         * m4/nocrash.m4: Likewise.
4082         * m4/poll.m4: Likewise.
4083         * m4/printf-frexpl.m4: Likewise.
4084         * m4/printf.m4: Likewise.
4085         * m4/signbit.m4: Likewise.
4086         * m4/sinl.m4: Likewise.
4087         * m4/sqrtl.m4: Likewise.
4088         * m4/strerror_r.m4: Likewise.
4089         * m4/tanl.m4: Likewise.
4090         * m4/threadlib.m4: Likewise.
4091         * m4/ttyname_r.m4: Likewise.
4092         * m4/unlink.m4: Likewise.
4093         * m4/visibility.m4: Likewise.
4094         * m4/wcwidth.m4: Likewise.
4095         * tests/minus-zero.h: Likewise.
4096         * tests/test-alloca-opt.c: Likewise.
4097         * tests/test-copy-acl.sh: Likewise.
4098         * tests/test-copy-file.sh: Likewise.
4099         * tests/test-fdatasync.c: Likewise.
4100         * tests/test-file-has-acl.sh: Likewise.
4101         * tests/test-flock.c: Likewise.
4102         * tests/test-fsync.c: Likewise.
4103         * tests/test-localename.c: Likewise.
4104         * tests/test-malloca.c: Likewise.
4105         * tests/test-nonblocking-pipe.h: Likewise.
4106         * tests/test-nonblocking-socket.h: Likewise.
4107         * tests/test-openpty.c: Likewise.
4108         * tests/test-posix_openpt.c: Likewise.
4109         * tests/test-ptsname.c: Likewise.
4110         * tests/test-ptsname_r.c: Likewise.
4111         * tests/test-sameacls.c: Likewise.
4112         * tests/test-select.h: Likewise.
4113         * tests/test-set-mode-acl.sh: Likewise.
4114         * tests/test-snprintf-posix.h: Likewise.
4115         * tests/test-sprintf-posix.h: Likewise.
4116         * tests/test-strtod.c: Likewise.
4117         * tests/test-time.c: Likewise.
4118         * tests/test-vasnprintf-posix.c: Likewise.
4119         * tests/test-vasprintf-posix.c: Likewise.
4120         * doc/acl-resources.txt: Likewise.
4121         * doc/**/*.texi: Likewise.
4122         Reported by Max Horn <max@quendi.de>.
4123
4124 2012-06-22  Bruno Haible  <bruno@clisp.org>
4125
4126         grantpt: Relax requirement regarding invalid file descriptors.
4127         * lib/grantpt.c: Don't include <fcntl.h>.
4128         (grantpt): Don't verify the validity of the file descriptor.
4129         * modules/grantpt (Depends-on): Remove fcntl-h.
4130         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
4131         file descriptors.
4132         * doc/posix-functions/grantpt.texi: Document more platforms on which
4133         grantpt succeeds for invalid file descriptors.
4134         Reported by Rich Felker <dalias@aerifal.cx>.
4135
4136 2012-06-22  Bruno Haible  <bruno@clisp.org>
4137
4138         fbufmode test: Don't test unportable behaviour.
4139         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
4140         (main): Invoke it three times.
4141         Reported by Szabolcs Nagy <nsz@port70.net>
4142         and Rich Felker <dalias@aerifal.cx>.
4143
4144 2012-06-21  Bruno Haible  <bruno@clisp.org>
4145
4146         gnulib-tool: Refactor inctests variable.
4147         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
4148         (func_modules_transitive_closure,
4149         func_modules_transitive_closure_separately,
4150         func_import, func_create_testdir): Update.
4151
4152         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
4153         * gnulib-tool: Accept option --without-tests.
4154         (func_usage): Document --without-tests option. Rearrange.
4155         (inctests): Normalize according to the mode.
4156         * NEWS: Mention the change.
4157         Suggested by Simon Josefsson.
4158
4159 2012-06-21  Bruce Korb  <bkorb@gnu.org>
4160
4161         parse-duration test: Avoid spurious output.
4162         * tests/test-parse-duration.sh: Reindent with leading tabs.
4163
4164 2012-06-21  Jim Meyering  <meyering@redhat.com>
4165
4166         maint: disable the strncpy prohibition
4167         * cfg.mk: Do not prohibit strncpy here.
4168
4169 2012-06-21  Bruno Haible  <bruno@clisp.org>
4170
4171         nonblocking: Avoid compilation error on mingw64.
4172         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
4173         fscanf.
4174         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
4175         * modules/vfscanf (configure.ac): Likewise.
4176         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
4177         definition only if stdio.h has prepared it.
4178         Reported by Daniel P. Berrange <berrange@redhat.com>.
4179
4180 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
4181
4182         gnulib-tool: Use readlink if it is available.
4183         * gnulib-tool (func_readlink): Choose function more appropriately.
4184
4185 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
4186
4187         posixtm-tests: port to buggy compiler
4188         Problem reported by Simon Josefsson in
4189         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
4190         * modules/posixtm-tests (Depends-on): Add stdint.
4191         * tests/test-posixtm.c (struct posixtm_test.t_expected):
4192         Now of type int_least64_t, not int64_t, both because that's
4193         what INT64_C returns and because int_least64_t works even
4194         on 72-bit hosts.
4195         (T): Use INT64_C on constants outside the traditional int range,
4196         to work around compiler bug noted by Simon.
4197
4198         mktime: fix integer overflow in 'configure'-time test
4199         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
4200         after integer overflow.  Problem reported by Rich Felker in
4201         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
4202         Also, don't look for further instances of a bug if we've already
4203         found one instance; this helps 'configure' run faster.
4204
4205 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
4206
4207         tmpfile, clean-temp: Fix invocation of GetVersionEx.
4208         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
4209         GetVersionEx correctly.
4210         * lib/clean-temp.c (supports_delete_on_close): Likewise.
4211
4212 2012-06-20  Bruno Haible  <bruno@clisp.org>
4213
4214         fdopen: Allow implementations that don't reject invalid fd arguments.
4215         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
4216         succeeds.
4217         Reported by Rich Felker <dalias@aerifal.cx>.
4218
4219 2012-06-20  Simon Josefsson  <simon@josefsson.org>
4220
4221         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
4222         bring in LIBINTL.
4223
4224 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
4225
4226         init.sh: do not rely on autoupated PWD
4227         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
4228         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
4229         Although Nelson's bug was not necessarily fixed by this patch,
4230         it seems wise to make the change for safety.
4231         * tests/init.sh (path_prepend_): Do not rely on PWD updating
4232         automagically after 'cd'; this is not reliable on older shells.
4233         (setup_): Fail if we cannot cd to temporary directory.
4234
4235 2012-06-19  Bruno Haible  <bruno@clisp.org>
4236
4237         stat, fstat: Avoid warnings on mingw64.
4238         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
4239         redefining.
4240         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
4241         Reported by Daniel P. Berrange <berrange@redhat.com>.
4242
4243 2012-06-19  Bruno Haible  <bruno@clisp.org>
4244
4245         stdioext: Add support for musl libc.
4246
4247         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
4248         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
4249
4250         * m4/fseterr.m4: New file.
4251         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
4252         function exists.
4253         * modules/fseterr (Files): Add m4/fseterr.m4.
4254         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
4255         __fseterr does not exist.
4256         (Makefile.am): Remove fseterr.c from lib_SOURCES.
4257
4258         * lib/freadable.h: Update comment.
4259
4260         * lib/fwritable.h: Update comment.
4261
4262         * lib/freading.h: Update comment.
4263
4264         * lib/fwriting.h: Update comment.
4265
4266         * m4/freadahead.m4: New file.
4267         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
4268         that function exists.
4269         * modules/freadahead (Files): Add m4/freadahead.m4.
4270         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
4271         __freadahead does not exist.
4272         (Makefile.am): Remove freadahead.c from lib_SOURCES.
4273
4274         * m4/freadptr.m4: New file.
4275         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
4276         function exists.
4277         * modules/freadptr (Files): Add m4/freadptr.m4.
4278         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
4279         __freadptr does not exist.
4280         (Makefile.am): Remove freadptr.c from lib_SOURCES.
4281
4282         * m4/freadseek.m4: New file.
4283         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
4284         exists.
4285         * modules/freadseek (Files): Add m4/freadseek.m4.
4286         (configure.ac): Invoke gl_FUNC_FREADSEEK.
4287
4288         * lib/fpurge.c (fpurge): Update comment.
4289
4290         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
4291
4292 2012-06-19  Bruno Haible  <bruno@clisp.org>
4293
4294         *printf-posix: Put more info into config.log.
4295         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
4296         exit code into config.log.
4297
4298 2012-06-19  Bruno Haible  <bruno@clisp.org>
4299
4300         getopt-gnu: Fix exit code overflow in autoconf test.
4301         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
4302         to keep them below < 128.
4303
4304 2012-06-17  Jim Meyering  <meyering@redhat.com>
4305
4306         maint.mk: fix typo in code to derive GPG key at release time
4307         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
4308
4309 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
4310
4311         regex: avoid warning when pointers are not long
4312         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
4313         and uintptr_t, not long, for portability to hosts where pointers and
4314         long have different sizes.  Issue noted by Daniel P. Berrange in
4315         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
4316         and fix suggested by Bruno Haible in
4317         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
4318
4319 2012-06-17  Bruno Haible  <bruno@clisp.org>
4320
4321         dummy: Relicense into the public domain.
4322         * modules/dummy (License): Set to "public domain".
4323         Suggested by Reuben Thomas.
4324
4325 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
4326
4327         announce-gen: VPATH issues
4328         * build-aux/announce-gen (--srcdir): New option, used to trim the
4329         $srcdir part of the path from $builddir to NEWS.
4330         * top/maint.mk (announcement): Adjust.
4331
4332 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
4333
4334         gnu-web-doc-update: VPATH builds
4335         * build-aux/gnu-web-doc-update (--builddir): New option.
4336         Revamp the handling of options.
4337         Prefer $(...) to `...`.
4338         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
4339         the template, and it is GNU mktemp specific.
4340         Prefer set -e to long series of &&.
4341         Restore the initial git branch, not "master".
4342         Properly initialize submodules (don't rely only on bootstrap).
4343         Do not reconfigure blindly, use config.status.
4344         * top/README-release: Update instructions for gnu-web-doc-update.
4345
4346 2012-06-11  Jim Meyering  <meyering@redhat.com>
4347
4348         maint.mk: revert most of the previous change re "all these"
4349         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
4350         For rationale, see the discussion at
4351         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
4352
4353 2012-06-10  Karl Berry  <karl@gnu.org>
4354
4355         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
4356
4357         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
4358
4359 2012-06-10  Bruce Korb  <bkorb@gnu.org>
4360
4361         parse-duration: Relicense under LGPLv2+.
4362         * modules/parse-duration (License): Change to LGPLv2+.
4363
4364 2012-06-10  Jim Meyering  <meyering@redhat.com>
4365
4366         maint.mk: prohibit common grammar error: "all these"
4367         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
4368         the list of prohibited word sequences.  It should be "all of these".
4369         * lib/tempname.c (__gen_tempname): Fix one of them.
4370
4371 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
4372
4373         do-release-commit-and-tag: support VPATH builds
4374         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
4375         (noteworthy): Defined earlier to factor its value.
4376         (noteworthy_stub): New.
4377         Use it to factor.
4378         (help_version): Split into...
4379         (help, version): these.
4380         Adjust the option processing part.
4381         Support "--option=value" in addition to "--option value".
4382         (builddir): New.
4383         (--builddir): New option.
4384         * top/README-release: Document this.
4385         Reword slightly so that the reader cannot understand that he
4386         has to do these steps before calling do-release-commit-and-tag.
4387
4388 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
4389
4390         readme-release: also require announce-gen and maintainer-makefile
4391         * modules/readme-release (Depends-on): here.
4392         * modules/announce-gen, modules/do-release-commit-and-tag,
4393         modules/gnu-web-doc-update, modules/maintainer-makefile
4394         (Description): Point to readme-release.
4395
4396 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
4397
4398         maint.mk: fix VPATH issues.
4399         * top/maint.mk (news-check): GNU Make understand $< very well.
4400         (release-prep): NEWS is in $(srcdir).
4401
4402 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
4403
4404         readme-release: require the promoted modules.
4405         * modules/readme-release (Depends-on): Add
4406         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
4407         in this text.
4408
4409 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
4410             Bruno Haible  <bruno@clisp.org>
4411
4412         error, strerror-override: Support mingw64 from Fedora 17.
4413         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
4414         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
4415         EINPROGRESS.
4416         * lib/strerror-override.h (strerror_override): Test it.
4417         * lib/strerror-override.c (strerror_override): Likewise.
4418         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
4419
4420 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
4421             Bruno Haible  <bruno@clisp.org>
4422
4423         error, strerror-override: Support mingw64 from Fedora 17.
4424         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
4425         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
4426         * lib/strerror-override.h (strerror_override): Test it.
4427         * lib/strerror-override.c (strerror_override): Likewise.
4428
4429 2012-06-03  Bruno Haible  <bruno@clisp.org>
4430
4431         error, strerror-override: Support new errno values from POSIX:2008.
4432         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
4433         ENOTRECOVERABLE.
4434         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
4435         platforms.
4436         * lib/strerror-override.c (strerror_override): Conditionalize the
4437         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
4438         * lib/strerror-override.h (strerror_override): Declare also if
4439         GNULIB_defined_EOWNERDEAD is defined.
4440         * tests/test-errno.c (e130, e131): New variables.
4441         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
4442         ENOTRECOVERABLE.
4443         Reported by Paolo Bonzini.
4444
4445 2012-05-31  Jim Meyering  <meyering@redhat.com>
4446
4447         savewd: add missing dependency on sys_wait module
4448         * modules/savewd (Depends-on): Add sys_wait, needed at least
4449         for MSVC.  Report and suggested change by Michael Goffioul.
4450
4451 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
4452
4453         system-quote-tests: port to CentOS 5
4454         Problem reported by Tom G. Christensen in
4455         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
4456         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
4457
4458 2012-05-29  Jim Meyering  <meyering@redhat.com>
4459
4460         maint: fix typos in comments and ChangeLog
4461         Culprits identified and fixed mostly automatically using these commands:
4462         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
4463         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
4464         using http://github.com/lyda/misspell-check
4465         * ChangeLog: Fix typos.
4466         * doc/solaris-versions: Likewise.
4467         * lib/regexec.c (re_search_stub): Likewise.
4468         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
4469
4470 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
4471
4472         manywarnings: remove duplicate -Wmultichar entry
4473         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
4474         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
4475         so keep the entry marked as documented.
4476
4477 2012-05-27  Karl Berry  <karl@gnu.org>
4478
4479         * config/srclist.txt (mktime.c): remove last libc sync,
4480         perhaps just temporarily.
4481
4482 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
4483
4484         regex: don't assume uint64_t or uint32_t
4485         * lib/regcomp.c (init_word_char): Don't assume that the types
4486         uint64_t and uint32_t exist.  The C standard doesn't guarantee
4487         them, and on some 32-bit compilers there is no uint64_t.
4488         Problem reported by Gianluigi Tiesi in
4489         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
4490
4491 2012-05-25  Jim Meyering  <meyering@redhat.com>
4492
4493         maint.mk: add strncpy-prohibiting syntax-check rule
4494         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
4495
4496 2012-05-24  Jim Meyering  <meyering@redhat.com>
4497
4498         maint.mk: compute $(gpg_key_ID) more portably
4499         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
4500         That use of sed is not portable to some fringe systems.
4501         Reported by Paul Eggert in
4502         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
4503
4504 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
4505
4506         mktime: sync from glibc
4507         * config/srclist.txt: Uncomment mktime.c.
4508         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
4509         First, indent with tabs, since glibc uses tabs and doesn't want to
4510         change and we'd rather be identical to glibc.  Also, two small
4511         coding changes:
4512         (isdst_differ): Use &&, not &, as && is the usual style.
4513         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
4514         for clarity.
4515
4516 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
4517
4518         announce-gen: du -h is more portable than du --human
4519         * build-aux/announce-gen (sizes): Invoke du with -h instead
4520         of --human.  Accept leading white space in its output.
4521
4522 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
4523
4524         announce-gen: Improve diagnostics.
4525         * build-aux/announce-gen: When parsing command line options,
4526         prefer "announce-gen: option --release-type requires an argument"
4527         to "Option release-type requires an argument".
4528
4529 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
4530
4531         maint.mk: gpg_key_ID: use sed more portably
4532         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
4533         the closing brace.
4534         (refresh-po): Fuse two sed invocations into one.
4535
4536 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
4537
4538         gitlog-to-changelog: support the log message format used in Bison.
4539         * build-aux/gitlog-to-changelog: Support --strip-tab and
4540         --strip-cherry-picked.
4541
4542 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
4543
4544         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
4545         the rest of the current time slice to another thread in the current
4546         process. So if the thread that feeds the file decscriptor we're
4547         polling is not in the current process, we get busy-waiting.
4548         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
4549         Patch from Theodore Leblond.
4550         * lib/select.c: Split polling out of the loop that sets the output
4551         fd_sets.  Check for zero result and loop if the wait timeout is
4552         infinite.
4553
4554 2012-05-21  Simon Josefsson  <simon@josefsson.org>
4555
4556         select: Fix build error on IRIX 6.5.
4557         * lib/select.c: Include stddef.h for NULL.
4558
4559 2012-05-21  Simon Josefsson  <simon@josefsson.org>
4560
4561         gc: fix libgcrypt detection on older machines.
4562         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
4563         copyright years because the file has been distributed every year
4564         since it was created.
4565
4566 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
4567
4568         crypto: fix bug in large buffer handling
4569         Problem reported by Serge Belyshev for glibc in
4570         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
4571         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
4572         * lib/md4.c (md4_process_block):
4573         * lib/md5.c (md5_process_block):
4574         * lib/sha1.c (sha1_process_block):
4575         * lib/sha256.c (sha256_process_block):
4576         Don't assume the buffer length is less than 2**32.
4577         * lib/sha512.c (sha512_process_block): Likewise.
4578         Here, the bug is present only in the rare case where the host does
4579         not support uint64_t or where size_t is wider than 64 bits.
4580         Use u64size to work around the problems.
4581         * lib/u64.h (u64size): New macro.
4582
4583 2012-05-15  Pádraig Brady  <P@draigBrady.com>
4584
4585         fsusage: fix block size returned on older Linux 2.6
4586
4587         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
4588         which is available since Linux 2.6.
4589         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
4590         when the member is available so it can be used as a fallback.
4591         * doc/posix-functions/statvfs.texi: Mention the hang issue
4592         on Linux < 2.6.36.
4593
4594 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
4595
4596         bootstrap: suppress stderr chatter
4597         * build-aux/bootstrap (insert_sorted_if_absent, main program):
4598         Omit unnecessary chatter to stderr.  The main program chatter
4599         was there only inadvertantly.
4600
4601         bootstrap: .gitignore files created by autopoint, libtool
4602         I ran into this problem when bootstrapping the latest diffutils.
4603         After './bootstrap', 'git status' reported lots of untracked files
4604         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
4605         autopoint and do not need to be version-controlled.
4606         * build-aux/bootstrap: Put into .gitignore the files that
4607         autopoint and libtool create, by keeping track of files that exist
4608         after but not before these programs are run.
4609         (version_controlled_file): Move up.  2nd arg is now full file
4610         name, not base name; this is more convenient.  Put CVS at the end,
4611         as it's now somewhat deprecated.
4612
4613 2012-05-14  Jim Meyering  <meyering@redhat.com>
4614
4615         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
4616         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
4617         definition.  Reported by Bruno Haible.
4618
4619 2012-05-13  Bruno Haible  <bruno@clisp.org>
4620             Paul Eggert  <eggert@cs.ucla.edu>
4621
4622         binary-io: Define set_binary_mode function.
4623         * lib/binary-io.h (set_binary_mode): New function.
4624         (SET_BINARY): Define in terms of set_binary_mode.
4625         * modules/binary-io (configure.ac): Require AC_C_INLINE.
4626         * tests/test-binary-io.c (main): Accept an argument, and test either
4627         set_binary_mode or SET_BINARY depending on the argument.
4628         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
4629         argument. Clean up also t-bin-out0.tmp.
4630
4631 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
4632
4633         bootstrap: take advantage of POSIX shell features
4634
4635         The 'bootstrap' script offered by Gnulib script already uses POSIX
4636         shell features (like $((...)) arithmetic expansions) that are not
4637         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
4638         means that bootstrap must already be run using a proper POSIX shell,
4639         which will thus provide more features, like ${var#pattern} parameter
4640         expansion or inversion of a command exit status with '!'.  We can
4641         thus use these features to improve the clarity and the performances
4642         of the bootstrap script.
4643
4644         Suggested by Eric Blake.
4645
4646         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
4647         of sed/expr plus command substitutions, to save some forks.  While
4648         we are at it, prefer the POSIX $(...) form of command substitution,
4649         rather than the legacy form `...` (since the former is visually
4650         clearer and interacts better with quoting), and prefer the idiom:
4651           "if ! CMD; then ACTION ..."
4652         over the idiom:
4653           "if CMD; then :; else ACTION ..."
4654         which was required by legacy Bourne shells not supporting '!'.
4655
4656 2012-05-12  Bruno Haible  <bruno@clisp.org>
4657
4658         system-quote: Add more comments.
4659         * lib/system-quote.h: Add more comments about wilcards and limitations.
4660         Suggested by Eli Zaretskii <eliz@gnu.org>.
4661
4662         sh-quote, system-quote: Add comments about wildcards.
4663         * lib/sh-quote.h: Clarify what happens with wildcard characters.
4664         * lib/system-quote.h: Likewise.
4665         Reported by Eli Zaretskii <eliz@gnu.org>.
4666
4667 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
4668
4669         fsusage: check for GNU/Linux statvfs problem dynamically
4670         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
4671         Define STAT_STATFS2_BSIZE too, since in this case the code now
4672         checks dynamically whether statvfs is reliable, falling back on
4673         Linux-style statfs otherwise.
4674         (statvfs_works): New function, for dynamically testing statvfs.
4675         (get_fs_usage) [STAT_STATVFS]: Use it.
4676         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
4677         statvfs on GNU/Linux hosts, since it's now done dynamically.
4678
4679 2012-05-10  Bruno Haible  <bruno@clisp.org>
4680
4681         system-quote, execute, spawn-pipe: Escape '?' on Windows.
4682         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
4683         '?' character.
4684         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
4685         * tests/test-system-quote-main.c (check_all): Check also strings like
4686         "??????????".
4687         Reported by Eli Zaretskii <eliz@gnu.org>.
4688
4689 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
4690
4691         _Noreturn: port config.h to gcc -Wundef
4692         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
4693         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
4694         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
4695
4696 2012-05-10  Bruno Haible  <bruno@clisp.org>
4697
4698         system-quote: Refactor.
4699         * lib/system-quote.h (system_quote_copy): Fix comment.
4700         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
4701         New functions, extracted from system_quote_copy.
4702         (system_quote_length, system_quote_copy): Use these functions.
4703         Reported by Paul Eggert.
4704
4705 2012-05-08  Bruno Haible  <bruno@clisp.org>
4706
4707         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
4708         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
4709
4710 2012-05-08  Bruno Haible  <bruno@clisp.org>
4711
4712         Tests for module 'system-quote'.
4713         * modules/system-quote-tests: New file.
4714         * tests/test-system-quote.sh: New file.
4715         * tests/test-system-quote-main.c: New file.
4716         * tests/test-system-quote-child.c: New file.
4717
4718         New module 'system-quote'.
4719         * lib/system-quote.h: New file.
4720         * lib/system-quote.c: New file.
4721         * modules/system-quote: New file.
4722
4723 2012-05-08  Bruno Haible  <bruno@clisp.org>
4724
4725         sh-quote: Make C++ safe and allow multiple inclusion.
4726         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
4727         declarations in extern "C".
4728
4729 2012-05-08  Bruno Haible  <bruno@clisp.org>
4730
4731         sh-quote tests: Make tests stricter.
4732         * tests/test-sh-quote.c (check_one): Check the return value of
4733         shell_quote_copy.
4734         (main): Check a string with a CR character. Check a string that
4735         contains UCHAR_MAX.
4736
4737 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
4738
4739         warnings.m4: provide a means to specify the program to compile.
4740         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
4741         (gl_WARN_ADD): here.
4742         Use gl_AS_VAR_APPEND.
4743         Support an argument to specify the program to compile.
4744         (gl_WARN_ADD): Accept an argument to specify the program to compile.
4745         AC_SUBST the WARN_CFLAGS when they are used.
4746         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
4747         leave this to gl_WARN_ADD.
4748
4749 2012-05-08  Eric Blake  <eblake@redhat.com>
4750
4751         doc: recommendations on gettext version
4752         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
4753         choice between versions.
4754         * DEPENDENCIES (gettext): Cover both approaches.
4755
4756 2012-05-08  Jim Meyering  <meyering@redhat.com>
4757
4758         init.sh: explain why EXEEXT support uses aliases rather than functions
4759         * tests/init.sh: Add a comment.
4760
4761         init.sh: don't let bash aliases interfere with tests
4762         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
4763         is bash.  This avoids problems for those who alias standard commands to
4764         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
4765         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
4766
4767 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
4768
4769         stdint: be more consistent with glibc, SunOS libc
4770         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
4771         (gl_int_fast16_t, gl_uint_fast16_t)
4772         (gl_int_fast32_t, gl_uint_fast32_t)
4773         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
4774         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
4775         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
4776         Be consistent with glibc by default, and with SunOS 5.10 and later
4777         if __sun is defined.  This lessens the likelihood of clashes if
4778         code compiled for older hosts is combined with code compiled for
4779         newer ones.  Problem reported by Niels Möller in
4780         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
4781
4782 2012-05-07  Eric Blake  <eblake@redhat.com>
4783
4784         isatty: relax license to LGPLv2+
4785         * modules/isatty (License): Relax license.
4786
4787 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4788
4789         stat-size: comment fix
4790         * lib/stat-size.h: Remove obsolete comment about indenting.
4791
4792 2012-05-06  Bruno Haible  <bruno@clisp.org>
4793
4794         Tests for module 'sh-quote'.
4795         * modules/sh-quote-tests: New file.
4796         * tests/test-sh-quote.c: New file.
4797
4798 2012-05-06  Bruno Haible  <bruno@clisp.org>
4799
4800         sh-quote: Improve shell_quote_argv's signature.
4801         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
4802         * lib/sh-quote.c (shell_quote_argv): Likewise.
4803
4804 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4805
4806         stdint: document issues with int_fast8_t etc.
4807         * doc/posix-headers/stdint.texi (stdint.h): Say that other
4808         stdint.h substitutes may define these types differently.  See
4809         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
4810
4811 2012-05-05  Bruno Haible  <bruno@clisp.org>
4812
4813         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
4814         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
4815         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
4816         or 'guessing no (mishandles large arguments)'.
4817
4818 2012-05-05  Bruno Haible  <bruno@clisp.org>
4819
4820         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
4821         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
4822         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4823         set gl_cv_func_link_follows_symlink to "guessing no".
4824
4825 2012-05-05  Bruno Haible  <bruno@clisp.org>
4826
4827         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
4828         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
4829         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
4830         "guessing no".
4831         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
4832
4833 2012-05-05  Bruno Haible  <bruno@clisp.org>
4834
4835         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
4836         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
4837         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4838         set gl_cv_struct_dirent_d_ino to "guessing yes".
4839
4840 2012-05-05  Bruno Haible  <bruno@clisp.org>
4841
4842         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
4843         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
4844         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
4845         "guessing yes".
4846
4847 2012-05-05  Bruno Haible  <bruno@clisp.org>
4848
4849         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
4850         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
4851         compiling to a glibc system, set gl_cv_func_signbit and
4852         gl_cv_func_signbit_gcc to "guessing yes".
4853
4854 2012-05-05  Bruno Haible  <bruno@clisp.org>
4855
4856         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
4857         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
4858         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
4859         to "guessing yes".
4860         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
4861         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
4862
4863 2012-05-05  Bruno Haible  <bruno@clisp.org>
4864
4865         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
4866         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
4867         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
4868         gl_cv_func_realpath_works to "guessing yes".
4869
4870 2012-05-05  Bruno Haible  <bruno@clisp.org>
4871
4872         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
4873         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
4874         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
4875
4876 2012-05-04  Bruno Haible  <bruno@clisp.org>
4877
4878         Tweak last commit.
4879         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
4880         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4881
4882 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
4883
4884         unistd_h: make it easier to avoid sys_types_h
4885         This is useful for Emacs, which has its own method of porting to
4886         Windows, and which therefore does not need the sys_types_h module.
4887         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
4888         code moved here from gl_SYS_TYPES_H.
4889         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
4890         using the code directly.
4891         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
4892         gl_SYS_TYPES_H.
4893         * modules/sys_types (Files):
4894         * modules/unistd (Files): Add m4/off_t.m4.
4895
4896 2012-05-03  Bruno Haible  <bruno@clisp.org>
4897
4898         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
4899         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
4900         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
4901         "guessing yes" or "guessing no".
4902         (gl_FUNC_LSTAT): Update.
4903         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
4904         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
4905         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
4906
4907 2012-05-03  Bruno Haible  <bruno@clisp.org>
4908
4909         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
4910         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
4911         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
4912         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
4913         cross-compiling, choose the first alternative on glibc systems.
4914         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
4915
4916 2012-05-03  Bruno Haible  <bruno@clisp.org>
4917
4918         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
4919         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
4920         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
4921
4922 2012-05-03  Bruno Haible  <bruno@clisp.org>
4923
4924         chown: Avoid "guessing no" when cross-compiling to glibc systems.
4925         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
4926
4927 2012-05-03  Bruno Haible  <bruno@clisp.org>
4928
4929         Avoid "guessing no" guesses when cross-compiling to glibc systems.
4930         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
4931         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
4932         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
4933         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
4934         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
4935         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
4936         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
4937         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
4938         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
4939         compiling to glibc systems, set gl_cv_func_chown_slash_works,
4940         gl_cv_func_chown_ctime_works to "guessing yes".
4941         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
4942         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
4943         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
4944         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
4945         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
4946         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
4947         compiling to glibc systems, set gl_cv_func_open_directory_works to
4948         "guessing yes".
4949         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
4950         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
4951         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
4952         "guessing yes".
4953         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
4954         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
4955         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
4956         compiling to glibc systems, set gl_cv_func_floorf_ieee to
4957         "guessing yes".
4958         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
4959         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
4960         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
4961         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
4962         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
4963         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
4964         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
4965         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
4966         "guessing yes".
4967         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
4968         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
4969         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
4970         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
4971         "guessing yes".
4972         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
4973         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
4974         "guessing yes".
4975         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
4976         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
4977         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
4978         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
4979         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
4980         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
4981         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
4982         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
4983         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
4984         compiling to glibc systems, set gl_cv_func_log10f_ieee to
4985         "guessing yes".
4986         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
4987         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
4988         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
4989         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
4990         "guessing yes".
4991         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
4992         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
4993         "guessing yes".
4994         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
4995         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
4996         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
4997         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
4998         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
4999         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
5000         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
5001         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
5002         compiling to glibc systems, set gl_cv_func_mkfifo_works to
5003         "guessing yes".
5004         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
5005         compiling to glibc systems, set gl_cv_func_mknod_works to
5006         "guessing yes".
5007         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
5008         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
5009         "guessing yes".
5010         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
5011         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
5012         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
5013         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
5014         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
5015         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
5016         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
5017         compiling to glibc systems, set gl_cv_func_svid_putenv to
5018         "guessing yes".
5019         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
5020         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
5021         "guessing yes".
5022         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
5023         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
5024         "guessing yes".
5025         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
5026         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
5027         to "guessing yes".
5028         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
5029         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
5030         to "guessing yes".
5031         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
5032         compiling to glibc systems, set gl_cv_func_rmdir_works to
5033         "guessing yes".
5034         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
5035         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
5036         gl_cv_func_unlink_parent_fails to "guessing yes".
5037         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
5038         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
5039         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
5040         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
5041         gl_cv_func_rename_dest_works to "guessing yes".
5042         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
5043         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
5044         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
5045         compiling to glibc systems, set gl_cv_func_roundf_ieee to
5046         "guessing yes".
5047         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
5048         compiling to glibc systems, set gl_cv_func_roundl_ieee to
5049         "guessing yes".
5050         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
5051         compiling to glibc systems, set gl_cv_func_setenv_works to
5052         "guessing yes".
5053         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
5054         compiling to glibc systems, set gl_cv_func_unsetenv_works to
5055         "guessing yes".
5056         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
5057         compiling to glibc systems, set gl_cv_func_sleep_works to
5058         "guessing yes".
5059         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
5060         compiling to glibc systems, set gl_cv_func_stat_file_slash to
5061         "guessing yes".
5062         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
5063         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
5064         "guessing yes".
5065         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
5066         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
5067         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
5068         compiling to glibc systems, set gl_cv_func_truncf_ieee to
5069         "guessing yes".
5070         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
5071         compiling to glibc systems, set gl_cv_func_truncl_ieee to
5072         "guessing yes".
5073         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
5074         compiling to glibc systems, set gl_cv_func_usleep_works to
5075         "guessing yes".
5076         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
5077         compiling to glibc systems, set gl_cv_func_futimesat_works to
5078         "guessing yes".
5079
5080 2012-05-03  Bruno Haible  <bruno@clisp.org>
5081
5082         Say "guessing yes" or "guessing no" when cross-compiling.
5083         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
5084         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
5085         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
5086         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
5087         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
5088         am_cv_func_working_getline to "guessing yes" or "guessing no".
5089         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
5090         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
5091         (gl_FUNC_MEMMEM): When cross-compiling, set
5092         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
5093         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
5094         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
5095         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
5096         set gl_cv_func_strcasestr_works_always to "guessing yes" or
5097         "guessing no".
5098         (gl_FUNC_STRCASESTR): When cross-compiling, set
5099         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
5100         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
5101         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
5102         (gl_FUNC_STRSTR): When cross-compiling, set
5103         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
5104         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
5105         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
5106         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
5107         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
5108
5109 2012-05-01  Bruno Haible  <bruno@clisp.org>
5110
5111         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
5112         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
5113         * build-aux/reloc-ldflags: Likewise.
5114         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
5115
5116 2012-05-01  Bruno Haible  <bruno@clisp.org>
5117
5118         gnulib-tool: Remove transitional code.
5119         * gnulib-tool: Don't warn about --import with 0 arguments any more.
5120         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
5121
5122 2012-05-01  Bruno Haible  <bruno@clisp.org>
5123
5124         getcwd: Fix misindentation.
5125         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
5126
5127 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
5128
5129         exclude: process exclude and include directives in order
5130         This restores the pre-2009 behavior, and is part of a fix of a
5131         grep bug reported by Quentin Arce in
5132         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
5133         * lib/exclude.c (struct exclude): Remove 'tail' member.
5134         (new_exclude_segment): Prepend the new segment instead of appending.
5135         Return void, since that's now more convenient.
5136         (file_pattern_matches): Renamed from excluded_file_pattern_p.
5137         (file_name_matches): Renamed from excluded_file_name_p.
5138         (file_pattern_matches, file_name_matches):
5139         Return true if the pattern matches, not if it excludes.
5140         All callers changed.
5141         (excluded_file_name): Process the list in reverse order;
5142         since the list is now reversed this restores the pre-2009 behavior.
5143         (add_exclude): Adjust to new reversed-order list.  Use local var
5144         rather than macro, for clarity.
5145         * tests/test-exclude7.sh: Adjust to corrected behavior.
5146
5147         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
5148         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
5149         it's not possible here.  Handle the case of \ at end of pattern
5150         without dumping core.
5151         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
5152
5153         _Noreturn: future-proof non-GNU and non-MSVC compilers
5154         * build-aux/snippet/_Noreturn.h (_Noreturn):
5155         * m4/gnulib-common.m4 (gl_COMMON_BODY):
5156         Do not define _Noreturn if __STDC_VERSION__ indicates this is
5157         C11 or later.  This is more likely to work with random future C
5158         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
5159         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
5160
5161         exclude: handle wildcards with FNM_EXTMATCH
5162         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
5163         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
5164         comment that "has wildcards" really means "has or may have
5165         wildcards".  Simplify by avoiding the need to call strcspn.
5166
5167 2012-04-29  Bruno Haible  <bruno@clisp.org>
5168
5169         gnulib-tool: Fix list of authors.
5170         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
5171
5172 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
5173
5174         bootstrap: support Automake-NG in $buildreq
5175         * bootstrap (check_versions): Handle automake and aclocal from
5176         Automake-NG specially.  They can be specified as respectively
5177         the "automake-ng" and "aclocal-ng" requirements.
5178
5179 2012-04-25  Eric Blake  <eblake@redhat.com>
5180
5181         bootstrap: only force latest Makefile.in.in for gettext module
5182         * build-aux/bootstrap (with_gettext): Only install latest
5183         Makefile.in.in for projects requesting bleeding edge gettext.
5184
5185 2012-04-22  Bruno Haible  <bruno@clisp.org>
5186
5187         doc: Mention reason for replacement on glibc/Linux systems.
5188         * doc/posix-functions/dprintf.texi: Mention the problem with special
5189         'long double' values.
5190         * doc/posix-functions/fprintf.texi: Likewise.
5191         * doc/posix-functions/printf.texi: Likewise.
5192         * doc/posix-functions/snprintf.texi: Likewise.
5193         * doc/posix-functions/sprintf.texi: Likewise.
5194         * doc/posix-functions/vdprintf.texi: Likewise.
5195         * doc/posix-functions/vfprintf.texi: Likewise.
5196         * doc/posix-functions/vprintf.texi: Likewise.
5197         * doc/posix-functions/vsnprintf.texi: Likewise.
5198         * doc/posix-functions/vsprintf.texi: Likewise.
5199         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
5200         platforms with F_DUPFD_CLOEXEC problems.
5201         * doc/posix-functions/glob.texi: Mention which platforms are affected
5202         by the problem with symbolic links.
5203         * doc/posix-functions/linkat.texi: Mention the problem with
5204         AT_SYMLINK_FOLLOW on Linux.
5205
5206 2012-04-22  Bruno Haible  <bruno@clisp.org>
5207
5208         pwrite: Don't replace on all platforms.
5209         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
5210
5211 2012-04-22  Bruno Haible  <bruno@clisp.org>
5212
5213         rint* tests: Avoid gcc warnings.
5214         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
5215         * tests/test-rintf.c (INFINITY, NAN): Likewise.
5216         * tests/test-rintl.c (INFINITY, NAN): Likewise.
5217
5218 2012-04-21  Bruno Haible  <bruno@clisp.org>
5219
5220         users.txt: Update.
5221         * users.txt: Add freedink, wdiff. Update URLs for projects that have
5222         switched from CVS to git, bzr, or svn.
5223
5224 2012-04-21  Bruno Haible  <bruno@clisp.org>
5225
5226         Large File Support for native Windows platforms.
5227
5228         * m4/largefile.m4 (gl_LARGEFILE): New macro.
5229         * modules/largefile (configure.ac): Require gl_LARGEFILE.
5230
5231         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
5232         type.
5233         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
5234         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
5235         * doc/posix-headers/sys_types.texi: Mention the effect of the
5236         'largefile' module.
5237
5238         * lib/fcntl.in.h: Add comments about off_t.
5239         * modules/fcntl-h (Depends-on): Add sys_types.
5240
5241         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
5242         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
5243         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
5244         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
5245         * modules/unistd (Depends-on): Add sys_types.
5246         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
5247
5248         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
5249         instead of lseek.
5250         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
5251         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
5252         * modules/lseek (Depends-on): Add sys_types.
5253
5254         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
5255         msvc-nothrow.h.
5256         (SetFileSize): New function.
5257         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
5258         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
5259         if Large File Support is requested.
5260         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
5261         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
5262
5263         * lib/stdio.in.h: Add comments about off_t.
5264         * modules/stdio (Depends-on): Add sys_types.
5265
5266         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
5267         instead of ftello.
5268         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
5269         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
5270         (gl_PREREQ_FTELLO): New macro.
5271         * modules/ftello (Depends-on): Add sys_types.
5272         (configure.ac): Incoke gl_PREREQ_FTELLO.
5273
5274         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
5275         instead of fseeko.
5276         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
5277         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
5278         (gl_PREREQ_FSEEKO): New macro.
5279         * modules/fseeko (Depends-on): Add sys_types.
5280         (configure.ac): Invoke gl_PREREQ_FSEEKO.
5281
5282         * lib/sys_stat.in.h: Add comments about off_t.
5283         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
5284         64-bit integer for st_size in 'struct stat'.
5285         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
5286         Define _GL_WINDOWS_64_BIT_ST_SIZE.
5287         * modules/sys_stat (Depends-on): Add sys_types.
5288         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
5289
5290         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
5291         instead of stat or _stat.
5292
5293         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
5294         'struct _stati64' instead of fstat and 'struct stat'.
5295         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
5296         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
5297
5298         Reported by Ray Satiro <raysatiro@yahoo.com>.
5299
5300 2012-04-19  Eric Blake  <eblake@redhat.com>
5301
5302         bootstrap: accommodate older libtool
5303         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
5304         Reported by Daniel P. Berrange.
5305
5306 2012-04-19  Jim Meyering  <meyering@redhat.com>
5307
5308         announce-gen: avoid failure due to lack of Digest::SHA1
5309         Even with the preferred Digest::SHA available, this script
5310         would fail when the backup module, Digest::SHA1, was not installed.
5311         * build-aux/announce-gen: Quote the conditional use of "use".
5312         Reported by Reuben Thomas in:
5313         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
5314
5315         bootstrap: don't let a user's CDPATH setting affect this script
5316         When CDPATH is set, cd will sometimes generate output.
5317         When "cd" is run in a subshell whose output matters, that
5318         surprising-to-some output can cause malfunction.
5319         Unsetting CDPATH turns off this shell "feature."
5320         * build-aux/bootstrap (CDPATH): Unset.
5321         Reported by Reuben Thomas in:
5322         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
5323         and inspired by his patch here:
5324         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
5325
5326 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
5327         and Jim Meyering  <meyering@redhat.com>
5328
5329         maint.mk: catch "see @xref{}" and similar
5330         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
5331         prohibit "See also @xref{", "Also see @pxref{", and similar.
5332
5333 2012-04-16  Jim Meyering  <meyering@redhat.com>
5334
5335         bootstrap: really use gnulib's po/Makefile.in.in
5336         * build-aux/bootstrap: Correct the source file name in previous change.
5337         Reported by Akim Demaille.
5338
5339         configmake: correct minor inconsistency in Makefile rule
5340         * modules/configmake (Makefile.am): All other rules like this one
5341         run the final "mv -f ..." in the same backslash-continued command
5342         as the one that does everything else.  This one put the mv -f ...
5343         command on a separate, non-backslash-continued line.
5344         Make it like the others.
5345
5346         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
5347         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
5348         the one from gettext.  Reported by Akim Demaille.
5349
5350 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
5351
5352         Fix recursion of install-* into po directories.
5353         Bison's install-pdf bug reported by Hans Aberg at
5354         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
5355         * build-aux/po/Makefile.in.in (install-dvi, install-html)
5356         (install-info, install-pdf, install-ps): New targets.
5357
5358 2012-04-16  Jim Meyering  <meyering@redhat.com>
5359
5360         maint: avoid spurious "make sc_maint" failure
5361         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
5362         exempt all *.class file names, for lib/javaversion.class.
5363
5364 2012-04-15  Bruno Haible  <bruno@clisp.org>
5365
5366         lseek: Make configure test independent of environment.
5367         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
5368         Windows, we know that lseek() on pipes is broken; skip the runtime
5369         test.
5370
5371 2012-04-14  Bruno Haible  <bruno@clisp.org>
5372
5373         stat: Bypass buggy override in mingw64.
5374         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
5375         * lib/stat.c (stat) [mingw64]: Define to _stat.
5376         * doc/posix-functions/stat.texi: Mention mingw64 bug.
5377
5378 2012-04-14  Bruno Haible  <bruno@clisp.org>
5379
5380         pathmax: Fix compilation error on MSVC 9.
5381         * modules/pathmax (Depends-on): Add unistd.
5382
5383 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
5384
5385         README: document pointer comparison assumption
5386         * README (Portability guidelines): Document assumption about
5387         pointer comparisons, in response to a recent bug-gnulib comment by
5388         Jeffrey Kegler.
5389
5390 2012-04-12  Bruno Haible  <bruno@clisp.org>
5391
5392         Tests for module 'getrusage'.
5393         * modules/getrusage-tests: New file.
5394         * tests/test-getrusage.c: New file.
5395
5396         New module 'getrusage'.
5397         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
5398         warn-on-use.h.
5399         (getrusage): New declaration.
5400         * lib/getrusage.c: New file.
5401         * m4/getrusage.m4: New file.
5402         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
5403         is declared.
5404         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
5405         HAVE_GETRUSAGE.
5406         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
5407         snippet/c++defs, snippet/warn-on-use.
5408         (Makefile.am): Update generation of sys/resource.h. Substitute
5409         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
5410         * modules/getrusage: New file.
5411         * doc/posix-functions/getrusage.texi: Mention the new module.
5412
5413 2012-04-12  Bruno Haible  <bruno@clisp.org>
5414
5415         Tests for module 'sys_resource'.
5416         * modules/sys_resource-tests: New file.
5417         * tests/test-sys_resource.c: New file.
5418
5419         New module 'sys_resource'.
5420         * lib/sys_resource.in.h: New file.
5421         * m4/sys_resource_h.m4: New file.
5422         * modules/sys_resource: New file.
5423         * doc/posix-headers/sys_resource.texi: Mention the new module.
5424
5425 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
5426
5427         ioctl: Fix compilation error on mingw.
5428         * lib/ioctl.c: Include <windows.h>.
5429         Also reported by Ray Satiro <raysatiro@yahoo.com>.
5430
5431 2012-04-04  Jim Meyering  <meyering@redhat.com>
5432
5433         regex: correct #pragma guard expression
5434         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
5435         not 4.3.  Correct its cpp guard expression.
5436
5437 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
5438
5439         regex: remove unnecessary type punning
5440         Problem reported by Vladimir Serbinenko in
5441         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
5442         * lib/regex.h (struct re_pattern_buffer): Change the type of
5443         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
5444         Fix comment to match code.
5445         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
5446         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
5447         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
5448         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
5449         (set_regs):
5450         Omit no-longer-necessary casts.
5451
5452 2012-04-03  Bruno Haible  <bruno@clisp.org>
5453
5454         Tests for module 'ilogbl'.
5455         * modules/ilogbl-tests: New file.
5456         * tests/test-ilogbl.c: New file.
5457
5458         New module 'ilogbl'.
5459         * lib/math.in.h (ilogbl): New declaration.
5460         * lib/ilogbl.c: New file.
5461         * m4/ilogbl.m4: New file.
5462         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
5463         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
5464         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
5465         Split sed invocation, to avoid the limit of 100 substitutions of
5466         HP-UX 'sed'.
5467         * modules/ilogbl: New file.
5468         * tests/test-math-c++.cc: Check the declaration of ilogbl.
5469         * doc/posix-functions/ilogbl.texi: Mention the new module.
5470
5471 2012-04-03  Bruno Haible  <bruno@clisp.org>
5472
5473         Tests for module 'ilogbf'.
5474         * modules/ilogbf-tests: New file.
5475         * tests/test-ilogbf.c: New file.
5476
5477         New module 'ilogbf'.
5478         * lib/math.in.h (ilogbf): New declaration.
5479         * lib/ilogbf.c: New file.
5480         * m4/ilogbf.m4: New file.
5481         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
5482         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
5483         REPLACE_ILOGBF.
5484         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
5485         REPLACE_ILOGBF.
5486         * modules/ilogbf: New file.
5487         * tests/test-math-c++.cc: Check the declaration of ilogbf.
5488         * doc/posix-functions/ilogbf.texi: Mention the new module.
5489
5490 2012-04-03  Bruno Haible  <bruno@clisp.org>
5491
5492         Tests for module 'ilogb'.
5493         * modules/ilogb-tests: New file.
5494         * tests/test-ilogb.c: New file.
5495         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
5496         tests/test-logb-ieee.h.
5497
5498         New module 'ilogb'.
5499         * lib/math.in.h (ilogb): New declaration.
5500         * lib/ilogb.c: New file.
5501         * m4/ilogb.m4: New file.
5502         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
5503         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
5504         REPLACE_ILOGB.
5505         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
5506         REPLACE_ILOGB.
5507         * modules/ilogb: New file.
5508         * tests/test-math-c++.cc: Check the declaration of ilogb.
5509         * doc/posix-functions/ilogb.texi: Mention the new module.
5510
5511 2012-04-03  Bruno Haible  <bruno@clisp.org>
5512
5513         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
5514         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
5515         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
5516         (main): Check their values.
5517         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
5518         problem.
5519
5520 2012-04-03  Bruno Haible  <bruno@clisp.org>
5521
5522         Tests for module 'logbl-ieee'.
5523         * modules/logbl-ieee-tests: New file.
5524         * tests/test-logbl-ieee.c: New file.
5525
5526         New module 'logbl-ieee'.
5527         * modules/logbl-ieee: New file.
5528
5529         Tests for module 'logb-ieee'.
5530         * modules/logb-ieee-tests: New file.
5531         * tests/test-logb-ieee.c: New file.
5532
5533         New module 'logb-ieee'.
5534         * modules/logb-ieee: New file.
5535
5536         Tests for module 'logbf-ieee'.
5537         * modules/logbf-ieee-tests: New file.
5538         * tests/test-logbf-ieee.c: New file.
5539         * tests/test-logb-ieee.h: New file.
5540
5541         New module 'logbf-ieee'.
5542         * modules/logbf-ieee: New file.
5543
5544 2012-04-03  Bruno Haible  <bruno@clisp.org>
5545
5546         Tests for module 'logbl'.
5547         * modules/logbl-tests: New file.
5548         * tests/test-logbl.c: New file.
5549
5550         New module 'logbl'.
5551         * lib/math.in.h (logbl): New declaration.
5552         * lib/logbl.c: New file.
5553         * m4/logbl.m4: New file.
5554         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
5555         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
5556         REPLACE_LOGBL.
5557         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
5558         REPLACE_LOGBL.
5559         * modules/logbl: New file.
5560         * tests/test-math-c++.cc: Check the declaration of logbl.
5561         * doc/posix-functions/logbl.texi: Mention the new module.
5562
5563 2012-04-02  Bruno Haible  <bruno@clisp.org>
5564
5565         Tests for module 'logbf'.
5566         * modules/logbf-tests: New file.
5567         * tests/test-logbf.c: New file.
5568
5569         New module 'logbf'.
5570         * lib/math.in.h (logbf): New declaration.
5571         * lib/logbf.c: New file.
5572         * m4/logbf.m4: New file.
5573         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
5574         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
5575         REPLACE_LOGBF.
5576         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
5577         REPLACE_LOGBF.
5578         * modules/logbf: New file.
5579         * tests/test-math-c++.cc: Check the declaration of logbf.
5580         * doc/posix-functions/logbf.texi: Mention the new module.
5581
5582 2012-04-02  Bruno Haible  <bruno@clisp.org>
5583
5584         logb tests: More tests.
5585         * tests/test-logb.h: New file, based on tests/test-logb.c and
5586         tests/test-frexp.h.
5587         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
5588         (main): Just invoke test_function.
5589         * modules/logb-tests (Files): Add tests/test-logb.h,
5590         tests/minus-zero.h, tests/randomd.c.
5591         (Makefile.am): Add randomd.c to test_logb_SOURCES.
5592
5593         logb: Provide replacement and workarounds.
5594         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
5595         is 1.
5596         * lib/logb.c: New file.
5597         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
5598         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
5599         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
5600         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
5601         * modules/logb (Files): Add lib/logb.c.
5602         (Depends-on): Add isfinite, frexp, isnand.
5603         (configure.ac): Compile the replacement code logb.c if needed.
5604         * tests/test-math-c++.cc: Check the declaration of logb.
5605         * doc/posix-functions/logb.texi: Mention the replacement and the bug
5606         with subnormal numbers.
5607
5608 2012-04-02  Bruno Haible  <bruno@clisp.org>
5609
5610         log10* tests: Speed up.
5611         * tests/test-log10.h (test_function): Reduce amount of random numbers
5612         to test.
5613
5614 2012-04-01  Bruno Haible  <bruno@clisp.org>
5615
5616         logf-ieee: Fix test whether logf works.
5617         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
5618
5619 2012-04-01  Bruno Haible  <bruno@clisp.org>
5620
5621         log10l: Work around log10l-ieee test failure on IRIX 6.5.
5622         * lib/log10l.c: Include <float.h>
5623         (log10l): On IRIX, normalize the +Infinity value.
5624         * modules/log10l (Depends-on): Add 'float'.
5625         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
5626         +Infinity.
5627
5628         log10f-ieee: Work around test failure on NetBSD 5.1.
5629         * m4/log10f-ieee.m4: New file.
5630         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
5631         test whether log10f works with a negative argument. Replace it if not.
5632         * lib/log10f.c (log10f): For negative arguments, return NaN.
5633         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
5634         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
5635         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
5636
5637         log10f-ieee: Work around test failure on Solaris 9.
5638         * modules/log10f-ieee (Depends-on): Add log10-ieee.
5639         (configure.ac): Require gl_FUNC_LOG10F.
5640
5641         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
5642         * m4/log10-ieee.m4: New file.
5643         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
5644         whether log10 works with a negative argument. Replace it if not.
5645         * lib/log10.c (log10): For negative arguments, return NaN.
5646         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
5647         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
5648         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
5649
5650         Tests for module 'log10l-ieee'.
5651         * modules/log10l-ieee-tests: New file.
5652         * tests/test-log10l-ieee.c: New file.
5653
5654         New module 'log10l-ieee'.
5655         * modules/log10l-ieee: New file.
5656
5657         Tests for module 'log10-ieee'.
5658         * modules/log10-ieee-tests: New file.
5659         * tests/test-log10-ieee.c: New file.
5660
5661         New module 'log10-ieee'.
5662         * modules/log10-ieee: New file.
5663
5664         Tests for module 'log10f-ieee'.
5665         * modules/log10f-ieee-tests: New file.
5666         * tests/test-log10f-ieee.c: New file.
5667         * tests/test-log10-ieee.h: New file.
5668
5669         New module 'log10f-ieee'.
5670         * modules/log10f-ieee: New file.
5671
5672 2012-04-01  Bruno Haible  <bruno@clisp.org>
5673
5674         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
5675         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
5676         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
5677         workaround.
5678         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
5679         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
5680         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
5681         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
5682         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
5683         (Depends-on): Update conditions.
5684         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
5685         IRIX 6.5, OSF/1 5.1 problems.
5686
5687 2012-04-01  Bruno Haible  <bruno@clisp.org>
5688
5689         log10f: Work around OSF/1 5.1 bug.
5690         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
5691         * lib/log10f.c (log10f): If logf exists, use it and provide just the
5692         workaround.
5693         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
5694         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
5695         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
5696         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
5697         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
5698         (Depends-on): Update conditions.
5699         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
5700
5701 2012-04-01  Bruno Haible  <bruno@clisp.org>
5702
5703         log10: Work around OSF/1 5.1 bug.
5704         * lib/math.in.h (log10): New declaration.
5705         * lib/log10.c: New file.
5706         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
5707         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
5708         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
5709         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
5710         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
5711         * modules/log10 (Files): Add lib/log10.c.
5712         (Depends-on): Add math.
5713         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
5714         * tests/test-math-c++.cc: Check the declaration of log10.
5715         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
5716
5717 2012-03-31  Bruno Haible  <bruno@clisp.org>
5718
5719         log10l tests: More tests.
5720         * modules/log10l-tests (Files): Add tests/test-log10l.h,
5721         tests/minus-zero.h, tests/randoml.c.
5722         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
5723         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
5724         (main): Invoke test_function.
5725
5726         log10f tests: More tests.
5727         * modules/log10f-tests (Files): Add tests/test-log10.h,
5728         tests/minus-zero.h, tests/randomf.c.
5729         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
5730         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
5731         (main): Invoke test_function.
5732
5733         log10 tests: More tests.
5734         * tests/test-log10.h: New file.
5735         * modules/log10-tests (Files): Add tests/test-log10.h,
5736         tests/minus-zero.h, tests/randomd.c.
5737         (Makefile.am): Add randomd.c to test_log10_SOURCES.
5738         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
5739         (main): Invoke test_function.
5740
5741 2012-03-31  Simon Josefsson  <simon@josefsson.org>
5742
5743         fflush: Fix syntax error.
5744         * lib/fflush.c: Include unused-parameter.h, needed for
5745         _GL_UNUSED_PARAMETER.
5746         * modules/fflush (Depends-on): Add snippet/unused-parameter.
5747
5748 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
5749
5750         regex: pacify GCC when compiling GRUB
5751         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
5752         a diagnostic.  Reported by Vladimir Serbinenko in
5753         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
5754
5755 2012-03-29  Eric Blake  <eblake@redhat.com>
5756
5757         stdio: don't assume gets any more
5758         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
5759         support.
5760         * modules/stdio (Makefile.am): Likewise.
5761         * lib/stdio-read.c (gets): Likewise.
5762         * tests/test-stdio-c++.cc: Likewise.
5763         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
5764         * lib/stdio.in.h (gets): Make warning occur in more places.
5765         * doc/posix-functions/gets.texi (gets): Update documentation.
5766         Reported by Christer Solskogen.
5767
5768         maint.mk: fix syntax checks without exclusions
5769         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
5770         Reported by Daniel P. Berrange.
5771
5772         strerror_r: avoid compiler warning
5773         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
5774         level.
5775
5776         fflush: avoid compiler warning
5777         * lib/fflush.c (update_fpos_cache): Mark variables that are
5778         potentially unused.
5779
5780 2012-03-25  Bruno Haible  <bruno@clisp.org>
5781
5782         Tests for module 'localeconv'.
5783         * modules/localeconv-tests: New file.
5784         * tests/test-localeconv.c: New file.
5785
5786         New module 'localeconv'.
5787         * lib/locale.in.h (localeconv): New declaration.
5788         * lib/localeconv.c: New file.
5789         * m4/localeconv.m4: New file.
5790         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
5791         REPLACE_LOCALECONV.
5792         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
5793         REPLACE_LOCALECONV.
5794         * modules/localeconv: New file.
5795         * modules/nl_langinfo (Depends-on): Add localeconv.
5796         * modules/human (Depends-on): Likewise.
5797         * doc/posix-functions/localeconv.texi: Mention the new module.
5798
5799 2012-03-25  Bruno Haible  <bruno@clisp.org>
5800
5801         locale: Provide a complete 'struct lconv'.
5802         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5803         'struct lconv' does not contain int_p_cs_precedes.
5804         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5805         * doc/posix-headers/locale.texi: Update.
5806
5807         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
5808         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
5809         * doc/posix-headers/locale.texi: Update.
5810
5811         locale: Provide a working 'struct lconv'.
5812         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
5813         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5814         'struct lconv' does not even contain decimal_point.
5815         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
5816         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
5817         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5818         * doc/posix-headers/locale.texi: Mention the problems with
5819         'struct lconv'.
5820         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
5821
5822 2012-03-24  Bruno Haible  <bruno@clisp.org>
5823
5824         Enable common subexpression optimization in GCC.
5825         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
5826         macros.
5827         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
5828         GCC attribute 'const'.
5829         (uc_locale_language): Declare with GCC attribute 'pure'.
5830         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
5831         with GCC attribute 'const'.
5832         * lib/unictype.in.h (uc_is_general_category_withtable,
5833         uc_combining_class, uc_combining_class_name,
5834         uc_combining_class_long_name, uc_bidi_class_name,
5835         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
5836         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
5837         uc_decimal_value, uc_digit_value, uc_numeric_value,
5838         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
5839         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
5840         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
5841         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
5842         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
5843         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
5844         Declare with GCC attribute 'const'.
5845         (uc_general_category_name, uc_general_category_long_name,
5846         uc_general_category_byname, uc_general_category,
5847         uc_is_general_category, uc_combining_class_byname,
5848         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
5849         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
5850         Declare with GCC attribute 'pure'.
5851         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
5852         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
5853         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
5854         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
5855         with GCC attribute 'pure'.
5856         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
5857         'const'.
5858         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
5859         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
5860         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
5861         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
5862         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
5863         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
5864         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
5865         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
5866         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
5867         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
5868         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
5869         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
5870         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
5871         GCC attribute 'pure'.
5872         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
5873         'const'.
5874         * lib/uniwidth.in.h (uc_width): Simplify declaration.
5875         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
5876         u32_strwidth): Declare with GCC attribute 'pure'.
5877
5878         Enable common subexpression optimization in GCC.
5879         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5880         (alphasort): Declare with GCC attribute 'pure'.
5881         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5882         (atoll): Declare with GCC attribute 'pure'.
5883         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
5884         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
5885         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
5886         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5887         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
5888         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
5889         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
5890
5891 2012-03-24  Bruno Haible  <bruno@clisp.org>
5892
5893         gnulib-tool: Avoid unintended error output from 'cmp'.
5894         * gnulib-tool (func_add_file, func_update_file, func_import): Use
5895         "cmp -s", not "cmp > /dev/null".
5896
5897 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5898
5899         gnulib-tool: fix imprecise comments w.r.t. an automake bug
5900
5901         It's not just Automake versions < 1.9b that creates an empty
5902         pkgdatadir at installation time if pkgdata_DATA is specified
5903         to empty; modern automake versions do this as well, at least
5904         until automake 1.11.4 (not yet released at the moment of writing,
5905         but soon to appear).  That behaviour was generally considered a
5906         feature rather than a bug, at least until this discussion:
5907         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
5908
5909         See also automake bugs #10997 and #11030.
5910
5911         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
5912         reference to relevant automake bug numbers.
5913         (func_emit_tests_Makefile_am): Likewise.
5914
5915 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5916
5917         announce-gen: use Digest::SHA when possible
5918         * build-aux/announce-gen: Use Digest::SHA when possible, falling
5919         back to Digest::SHA1 if necessary.
5920
5921 2012-03-20  Jim Meyering  <meyering@redhat.com>
5922
5923         tests: avoid gcc warnings about argv vs. const initializers
5924         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
5925         warnings about discarding 'const' qualifier from pointer target type.
5926         * tests/test-posix_spawn2.c (main): Likewise.
5927
5928 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5929
5930         README-release: simplify slightly
5931         * top/README-release: Run "git checkout master" only once.
5932
5933 2012-03-15  Mark Wielaard  <mark@klomp.org>
5934
5935         git-merge-changelog: add specific example on how to use with hg.
5936         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
5937
5938 2012-03-18  Mark Wielaard  <mark@klomp.org>
5939
5940         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
5941
5942 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
5943
5944         git-version-gen: don't let "prefix" envvar cause trouble
5945         * build-aux/git-version-gen (prefix): Initialize properly,
5946         so as not to use a value specified via the environment.
5947         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
5948
5949 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5950
5951         regex: diagnose too-large repeat counts in EREs
5952         Previously, the code did not diagnose the too-large repeat count
5953         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
5954         as if it were 'b\{1000000000}', which is unexpected.
5955         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
5956         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
5957         is a reasonable one for this problem.  Another option would be to
5958         create a new REG_OVERFLOW error for repeat counts that are too large.
5959         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
5960         count is too large, so that the caller can distinguish the two cases.
5961         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
5962         "Too large" return code, and that repeat counts are one example of this.
5963
5964 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5965
5966         doc: some glibc x32 integer width issues
5967         * doc/posix-headers/sys_types.texi (sys/types.h):
5968         * doc/posix-headers/time.texi (time.h):
5969         Mention that glibc x32 does not conform to POSIX in a couple of
5970         areas related to integer widths.
5971
5972 2012-03-15  Bruno Haible  <bruno@clisp.org>
5973
5974         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
5975         * lib/fma.c (VOLATILE): New macro.
5976         (FUNC): Use it to work around a GCC compiler bug.
5977
5978 2012-03-13  Bruno Haible  <bruno@clisp.org>
5979
5980         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5981         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
5982         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
5983         REPLACE_HYPOTL to 1.
5984         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
5985
5986 2012-03-13  Bruno Haible  <bruno@clisp.org>
5987
5988         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5989         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
5990         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
5991         REPLACE_REMAINDERL to 1.
5992         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
5993         bug.
5994
5995 2012-03-13  Bruno Haible  <bruno@clisp.org>
5996
5997         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5998         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
5999         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
6000         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
6001         too big rounding errors.
6002         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
6003         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
6004         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
6005         (Depends-on): Update conditions.
6006         * tests/test-sqrtl.c (my_ldexpl): New function.
6007         (main): Add test of a particular value.
6008         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
6009
6010 2012-03-13  Pádraig Brady  <P@draigBrady.com>
6011
6012         doc: Update timer_* platform portability notes.
6013         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
6014         that always return ENOSYS.
6015         * doc/posix-functions/timer_delete.texi: Likewise.
6016         * doc/posix-functions/timer_gettime.texi: Likewise.
6017         * doc/posix-functions/timer_settime.texi: Likewise.
6018
6019 2012-03-13  Bruno Haible  <bruno@clisp.org>
6020
6021         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
6022         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
6023         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
6024         REPLACE_CBRTL to 1.
6025         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
6026
6027 2012-03-13  Bruno Haible  <bruno@clisp.org>
6028
6029         remainderl: Avoid compilation error on AIX >= 5.2.
6030         * lib/math.in.h (remainderl): Undefine macro from the system header.
6031
6032 2012-03-13  Bruno Haible  <bruno@clisp.org>
6033
6034         Avoid compilation errors with MSVC option -fp:strict.
6035         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
6036         * lib/cbrtf.c: Likewise.
6037         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6038
6039 2012-03-12  Bruno Haible  <bruno@clisp.org>
6040
6041         uninorm: Don't crash in out-of-memory conditions.
6042         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
6043         gracefully.
6044         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
6045         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
6046
6047 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
6048
6049         quote: fix syntax-check
6050         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
6051         also exports quote_quoting_options.
6052
6053 2012-03-12  Simon Josefsson  <simon@josefsson.org>
6054
6055         Collapse list of copyright years to ranges.  See
6056         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
6057         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
6058         build-aux/csharpexec.sh.in, build-aux/gnupload,
6059         build-aux/install-reloc, build-aux/javacomp.sh.in,
6060         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
6061         build-aux/move-if-change, build-aux/reloc-ldflags,
6062         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
6063
6064 2012-03-11  Bruno Haible  <bruno@clisp.org>
6065
6066         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
6067         * m4/log2f-ieee.m4: New file.
6068         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
6069         whether log2f works with a minus zero argument. Replace it if not.
6070         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
6071         (Depends-on): Add log2-ieee.
6072         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
6073         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
6074
6075         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
6076         * m4/log2-ieee.m4: New file.
6077         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
6078         whether log2 works with a minus zero argument. Replace it if not.
6079         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
6080         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
6081         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
6082
6083         Tests for module 'log2l-ieee'.
6084         * modules/log2l-ieee-tests: New file.
6085         * tests/test-log2l-ieee.c: New file.
6086
6087         New module 'log2l-ieee'.
6088         * modules/log2l-ieee: New file.
6089
6090         Tests for module 'log2-ieee'.
6091         * modules/log2-ieee-tests: New file.
6092         * tests/test-log2-ieee.c: New file.
6093
6094         New module 'log2-ieee'.
6095         * modules/log2-ieee: New file.
6096
6097         Tests for module 'log2f-ieee'.
6098         * modules/log2f-ieee-tests: New file.
6099         * tests/test-log2f-ieee.c: New file.
6100         * tests/test-log2-ieee.h: New file.
6101
6102         New module 'log2f-ieee'.
6103         * modules/log2f-ieee: New file.
6104
6105 2012-03-11  Bruno Haible  <bruno@clisp.org>
6106
6107         Tests for module 'log2l'.
6108         * modules/log2l-tests: New file.
6109         * tests/test-log2l.c: New file.
6110
6111         New module 'log2l'.
6112         * lib/math.in.h (log2l): New declaration.
6113         * lib/log2l.c: New file.
6114         * m4/log2l.m4: New file.
6115         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
6116         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
6117         REPLACE_LOG2L.
6118         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
6119         REPLACE_LOG2L.
6120         * modules/log2l: New file.
6121         * tests/test-math-c++.cc: Check the declaration of log2l.
6122         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
6123         and OSF/1 problems.
6124
6125 2012-03-11  Bruno Haible  <bruno@clisp.org>
6126
6127         Tests for module 'log2f'.
6128         * modules/log2f-tests: New file.
6129         * tests/test-log2f.c: New file.
6130
6131         New module 'log2f'.
6132         * lib/math.in.h (log2f): New declaration.
6133         * lib/log2f.c: New file.
6134         * m4/log2f.m4: New file.
6135         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
6136         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
6137         REPLACE_LOG2F.
6138         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
6139         REPLACE_LOG2F.
6140         * modules/log2f: New file.
6141         * tests/test-math-c++.cc: Check the declaration of log2f.
6142         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
6143         and OSF/1 and Cygwin problems.
6144
6145 2012-03-11  Bruno Haible  <bruno@clisp.org>
6146
6147         Tests for module 'log2'.
6148         * modules/log2-tests: New file.
6149         * tests/test-log2.c: New file.
6150         * tests/test-log2.h: New file.
6151
6152         New module 'log2'.
6153         * lib/math.in.h (log2): New declaration.
6154         * lib/log2.c: New file.
6155         * m4/log2.m4: New file.
6156         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
6157         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
6158         REPLACE_LOG2.
6159         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
6160         REPLACE_LOG2.
6161         * modules/log2: New file.
6162         * tests/test-math-c++.cc: Check the declaration of log2.
6163         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
6164         and OSF/1 and Cygwin problems.
6165
6166 2012-03-11  Bruno Haible  <bruno@clisp.org>
6167
6168         exp2* tests: More tests.
6169         * tests/test-exp2.h (test_function): Test all integral arguments that
6170         don't need to overflow or denormalized numbers.
6171         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
6172         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
6173         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
6174
6175 2012-03-10  Bruno Haible  <bruno@clisp.org>
6176
6177         log1pl-ieee: Work around test failure on AIX 7.1.
6178         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
6179
6180         log1pl-ieee: Work around test failure on IRIX 6.5.
6181         * m4/log1pl-ieee.m4: New file.
6182         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
6183         test whether log1pl works with a minus zero argument. Replace it if
6184         not.
6185         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
6186         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
6187         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
6188         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
6189         (Depends-on): Update conditions.
6190         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
6191         m4/signbit.m4.
6192         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
6193         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
6194
6195         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
6196         * m4/log1pf-ieee.m4: New file.
6197         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
6198         test whether log1pf works with a minus zero argument. Replace it if
6199         not.
6200         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
6201         m4/signbit.m4.
6202         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
6203         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
6204
6205         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
6206         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
6207         (configure.ac): Require gl_FUNC_LOG1PF.
6208
6209         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
6210         * m4/log1p-ieee.m4: New file.
6211         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
6212         whether log1p works with a minus zero argument. Replace it if not.
6213         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
6214         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
6215         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
6216         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
6217         (Depends-on): Update conditions.
6218         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
6219         m4/signbit.m4.
6220         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
6221         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
6222
6223         Tests for module 'log1pl-ieee'.
6224         * modules/log1pl-ieee-tests: New file.
6225         * tests/test-log1pl-ieee.c: New file.
6226
6227         New module 'log1pl-ieee'.
6228         * modules/log1pl-ieee: New file.
6229
6230         Tests for module 'log1p-ieee'.
6231         * modules/log1p-ieee-tests: New file.
6232         * tests/test-log1p-ieee.c: New file.
6233
6234         New module 'log1p-ieee'.
6235         * modules/log1p-ieee: New file.
6236
6237         Tests for module 'log1pf-ieee'.
6238         * modules/log1pf-ieee-tests: New file.
6239         * tests/test-log1pf-ieee.c: New file.
6240         * tests/test-log1p-ieee.h: New file.
6241
6242         New module 'log1pf-ieee'.
6243         * modules/log1pf-ieee: New file.
6244
6245 2012-03-10  Bruno Haible  <bruno@clisp.org>
6246
6247         Tests for module 'log1pl'.
6248         * modules/log1pl-tests: New file.
6249         * tests/test-log1pl.c: New file.
6250
6251         New module 'log1pl'.
6252         * lib/math.in.h (log1pl): New declaration.
6253         * lib/log1pl.c: New file.
6254         * m4/log1pl.m4: New file.
6255         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
6256         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
6257         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
6258         * modules/log1pl: New file.
6259         * tests/test-math-c++.cc: Check the declaration of log1pl.
6260         * doc/posix-functions/log1pl.texi: Mention the new module.
6261
6262 2012-03-10  Bruno Haible  <bruno@clisp.org>
6263
6264         Tests for module 'log1pf'.
6265         * modules/log1pf-tests: New file.
6266         * tests/test-log1pf.c: New file.
6267
6268         New module 'log1pf'.
6269         * lib/math.in.h (log1pf): New declaration.
6270         * lib/log1pf.c: New file.
6271         * m4/log1pf.m4: New file.
6272         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
6273         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
6274         REPLACE_LOG1PF.
6275         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
6276         REPLACE_LOG1PF.
6277         * modules/log1pf: New file.
6278         * tests/test-math-c++.cc: Check the declaration of log1pf.
6279         * doc/posix-functions/log1pf.texi: Mention the new module.
6280
6281 2012-03-10  Bruno Haible  <bruno@clisp.org>
6282
6283         log1p tests: More tests.
6284         * tests/test-log1p.h: New file.
6285         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
6286         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
6287         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
6288         (main): Invoke test_function.
6289
6290         log1p: Provide replacement for Minix and MSVC.
6291         * lib/math.in.h (log1p): New declaration.
6292         * lib/log1p.c: New file.
6293         * m4/log1p.m4: New file.
6294         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
6295         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
6296         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
6297         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
6298         (Depends-on): Add math, isnand, log, round.
6299         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
6300         HAVE_LOG1P is 0.
6301         * tests/test-math-c++.cc: Check the declaration of log1p.
6302         * doc/posix-functions/log1p.texi: Mention the replacement.
6303
6304 2012-03-10  Bruno Haible  <bruno@clisp.org>
6305
6306         math tests: Small simplification.
6307         * tests/test-exp.h (test_function): Use the same err_bound for
6308         'double' on platforms with sizeof (long double) == sizeof (double)
6309         than on platforms with sizeof (long double) > sizeof (double).
6310         * tests/test-exp2.h (test_function): Likewise.
6311         * tests/test-expm1.h (test_function): Likewise.
6312         * tests/test-log.h (test_function): Likewise.
6313
6314 2012-03-10  Bruno Haible  <bruno@clisp.org>
6315
6316         Fix some comments.
6317         * lib/expl.c: Fix an ambiguous comment.
6318         * lib/expm1.c: Likewise.
6319         * lib/expm1l.c: Likewise.
6320         * lib/exp2.c: Likewise.
6321         * lib/exp2l.c: Likewise.
6322
6323 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
6324
6325         regex: allow inclusion of <regex.h> before <limits.h>
6326         Without this patch, portable programs had to include <limits.h> before
6327         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
6328         I ran into this problem with a test version of GNU grep on Solaris 8.
6329         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
6330         This is done conditionally so that this change can be merged
6331         back to glibc.
6332         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
6333         using the included regex.
6334
6335         fts: depend on fdopendir
6336         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
6337         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
6338         problem was introduced when fdopendir was split out.
6339
6340 2012-03-10  Bruno Haible  <bruno@clisp.org>
6341
6342         Remove unused variables.
6343         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
6344         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
6345
6346 2012-03-10  Bruno Haible  <bruno@clisp.org>
6347
6348         isnanf-nolibm: Fix last commit.
6349         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
6350
6351         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
6352         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
6353
6354 2012-03-10  Bruno Haible  <bruno@clisp.org>
6355
6356         logf-ieee: Work around test failure on NetBSD 5.1.
6357         * m4/logf-ieee.m4: New file.
6358         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
6359         whether logf works with a negative argument. Replace it if not.
6360         * lib/logf.c (logf): For negative arguments, return NaN.
6361         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
6362         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
6363         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
6364
6365         logf-ieee: Work around test failure on Solaris 9.
6366         * modules/logf-ieee (Depends-on): Add log-ieee.
6367         (configure.ac): Require gl_FUNC_LOGF.
6368
6369         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
6370         * m4/log-ieee.m4: New file.
6371         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
6372         log works with a negative argument. Replace it if not.
6373         * lib/log.c (log): For negative arguments, return NaN.
6374         * modules/log-ieee (Files): Add m4/log-ieee.m4.
6375         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
6376         * doc/posix-functions/log.texi: Mention the log-ieee module.
6377
6378         Tests for module 'logl-ieee'.
6379         * modules/logl-ieee-tests: New file.
6380         * tests/test-logl-ieee.c: New file.
6381
6382         New module 'logl-ieee'.
6383         * modules/logl-ieee: New file.
6384
6385         Tests for module 'log-ieee'.
6386         * modules/log-ieee-tests: New file.
6387         * tests/test-log-ieee.c: New file.
6388
6389         New module 'log-ieee'.
6390         * modules/log-ieee: New file.
6391
6392         Tests for module 'logf-ieee'.
6393         * modules/logf-ieee-tests: New file.
6394         * tests/test-logf-ieee.c: New file.
6395         * tests/test-log-ieee.h: New file.
6396
6397         New module 'logf-ieee'.
6398         * modules/logf-ieee: New file.
6399
6400 2012-03-10  Bruno Haible  <bruno@clisp.org>
6401
6402         log: Fix bug introduced on 2012-03-09.
6403         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
6404
6405 2012-03-10  Pádraig Brady  <P@draigBrady.com>
6406
6407         timer-time: link explicitly with pthreads on glibc
6408         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
6409         to support static linking, when newer glibc is
6410         detected, as that contains pthread emulation of
6411         POSIX timer functions where required.
6412         * modules/timer-time: Depend on threadlib to
6413         pull in the appropriate library to link.
6414
6415 2012-03-10  Bruno Haible  <bruno@clisp.org>
6416
6417         log* tests: More tests.
6418         * tests/test-log.h: New file.
6419         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
6420         (main): Invoke test_function.
6421         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
6422         (main): Invoke test_function.
6423         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
6424         (main): Invoke test_function.
6425         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
6426         tests/randomd.c.
6427         (Makefile.am): Add randomd.c to test_log_SOURCES.
6428         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
6429         tests/randomf.c.
6430         (Makefile.am): Add randomf.c to test_logf_SOURCES.
6431         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
6432         tests/randoml.c.
6433         (Depends-on): Add 'float'.
6434         (Makefile.am): Add randoml.c to test_logl_SOURCES.
6435
6436 2012-03-09  Bruno Haible  <bruno@clisp.org>
6437
6438         logl: Work around OSF/1 5.1 bug.
6439         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
6440         * lib/logl.c (logl): If logl exists, use it and provide just the
6441         workaround.
6442         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
6443         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
6444         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
6445         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
6446         * modules/logl (configure.ac): Consider REPLACE_LOGL.
6447         (Depends-on): Update conditions.
6448         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
6449
6450 2012-03-09  Bruno Haible  <bruno@clisp.org>
6451
6452         logf: Work around OSF/1 5.1 bug.
6453         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
6454         * lib/logf.c (logf): If logf exists, use it and provide just the
6455         workaround.
6456         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
6457         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
6458         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
6459         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
6460         * modules/logf (configure.ac): Consider REPLACE_LOGF.
6461         (Depends-on): Update conditions.
6462         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
6463
6464 2012-03-09  Bruno Haible  <bruno@clisp.org>
6465
6466         log: Work around OSF/1 5.1 bug.
6467         * lib/math.in.h (log): New declaration.
6468         * lib/log.c: New file.
6469         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
6470         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
6471         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
6472         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
6473         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
6474         * modules/log (Files): Add lib/log.c.
6475         (Depends-on): Add math.
6476         (configure.ac): If REPLACE_LOG is 1, compile an override.
6477         * tests/test-math-c++.cc: Check the declaration of log.
6478         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
6479
6480 2012-03-09  Jim Meyering  <meyering@redhat.com>
6481
6482         readtokens.c: adjust wording in a comment
6483         * lib/readtokens.c: Insert omitted "that" in a comment.
6484
6485 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
6486
6487         modechange: add notations +40, 00440, etc.
6488         * lib/modechange.c (mode_compile): Support new notations
6489         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
6490
6491 2012-03-08  Bruno Haible  <bruno@clisp.org>
6492
6493         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
6494         * m4/exp2l-ieee.m4: New file.
6495         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
6496         test whether exp2l works with a NaN argument and with a negative
6497         infinity argument. Replace it if not.
6498         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
6499         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
6500         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
6501         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
6502         (Depends-on): Update conditions.
6503         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
6504         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
6505         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
6506
6507         Tests for module 'exp2l-ieee'.
6508         * modules/exp2l-ieee-tests: New file.
6509         * tests/test-exp2l-ieee.c: New file.
6510
6511         New module 'exp2l-ieee'.
6512         * modules/exp2l-ieee: New file.
6513
6514         Tests for module 'exp2-ieee'.
6515         * modules/exp2-ieee-tests: New file.
6516         * tests/test-exp2-ieee.c: New file.
6517
6518         New module 'exp2-ieee'.
6519         * modules/exp2-ieee: New file.
6520
6521         Tests for module 'exp2f-ieee'.
6522         * modules/exp2f-ieee-tests: New file.
6523         * tests/test-exp2f-ieee.c: New file.
6524         * tests/test-exp2-ieee.h: New file.
6525
6526         New module 'exp2f-ieee'.
6527         * modules/exp2f-ieee: New file.
6528
6529 2012-03-08  Bruno Haible  <bruno@clisp.org>
6530
6531         Tests for module 'exp2l'.
6532         * modules/exp2l-tests: New file.
6533         * tests/test-exp2l.c: New file.
6534
6535         New module 'exp2l'.
6536         * lib/math.in.h (exp2l): New declaration.
6537         * lib/exp2l.c: New file.
6538         * lib/expl-table.c: New file, extracted from lib/expl.c.
6539         * lib/expl.c (gl_expl_table): New declaration.
6540         (expl): Remove expl_table. Update reference.
6541         * m4/exp2l.m4: New file.
6542         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
6543         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
6544         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
6545         * modules/exp2l: New file.
6546         * modules/expl (Files): Add lib/expl-table.c.
6547         (configure.ac): Compile also expl-table.c.
6548         * tests/test-math-c++.cc: Check the declaration of exp2l.
6549         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
6550         problem.
6551
6552 2012-03-08  Bruno Haible  <bruno@clisp.org>
6553
6554         Tests for module 'exp2f'.
6555         * modules/exp2f-tests: New file.
6556         * tests/test-exp2f.c: New file.
6557
6558         New module 'exp2f'.
6559         * lib/math.in.h (exp2f): New declaration.
6560         * lib/exp2f.c: New file.
6561         * m4/exp2f.m4: New file.
6562         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
6563         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
6564         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
6565         * modules/exp2f: New file.
6566         * tests/test-math-c++.cc: Check the declaration of exp2f.
6567         * doc/posix-functions/exp2f.texi: Mention the new module and the
6568         IRIX problem.
6569
6570 2012-03-08  Bruno Haible  <bruno@clisp.org>
6571
6572         Tests for module 'exp2'.
6573         * modules/exp2-tests: New file.
6574         * tests/test-exp2.c: New file.
6575         * tests/test-exp2.h: New file.
6576
6577         New module 'exp2'.
6578         * lib/math.in.h (exp2): New declaration.
6579         * lib/exp2.c: New file.
6580         * m4/exp2.m4: New file.
6581         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
6582         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
6583         REPLACE_EXP2.
6584         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
6585         REPLACE_EXP2.
6586         * modules/exp2: New file.
6587         * tests/test-math-c++.cc: Check the declaration of exp2.
6588         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
6589         and OpenBSD problems.
6590
6591 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
6592
6593         savedir: fix comment typo
6594         * lib/savedir.c (savedirstream): Fix typo in comment.
6595
6596 2012-03-08  Bruno Haible  <bruno@clisp.org>
6597
6598         test-readtokens.c: use const; remove unwarranted cast
6599         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
6600
6601 2012-03-08  Bruno Haible  <bruno@clisp.org>
6602
6603         fmal: Avoid compilation error on AIX.
6604         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
6605         AIX 5.2..7.1.
6606
6607 2012-03-08  Bruno Haible  <bruno@clisp.org>
6608
6609         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
6610         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
6611         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
6612         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
6613         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
6614         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
6615         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
6616
6617 2012-03-08  Bruno Haible  <bruno@clisp.org>
6618
6619         remainderf: Override buggy system function on IRIX 6.5.
6620         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
6621         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
6622         when it exists.
6623         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
6624
6625 2012-03-08  Jim Meyering  <meyering@redhat.com>
6626
6627         test-readtokens.c: avoid const-related compilation warnings
6628         * tests/test-readtokens.c: Avoid const-related compilation warnings.
6629
6630 2012-03-07  Jim Meyering  <meyering@redhat.com>
6631             Bruno Haible  <bruno@clisp.org>
6632
6633         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
6634         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
6635         tests/randomd.c.
6636         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
6637         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
6638         tests/randoml.c.
6639         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
6640
6641 2012-03-07  Bruno Haible  <bruno@clisp.org>
6642
6643         expm1l: Avoid compilation error on AIX.
6644         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
6645         AIX 5.2..7.1.
6646
6647 2012-03-07  Bruno Haible  <bruno@clisp.org>
6648
6649         expm1l: Don't override undeclared system function on IRIX 6.5.
6650         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
6651         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
6652         it exists. Set HAVE_DECL_EXPM1L.
6653         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
6654         HAVE_EXPM1L.
6655         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
6656         HAVE_EXPM1L.
6657         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
6658
6659 2012-03-07  Bruno Haible  <bruno@clisp.org>
6660
6661         remainderl: Don't override undeclared system function on IRIX 6.5.
6662         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
6663         HAVE_REMAINDERL.
6664         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
6665         declared when it exists. Set HAVE_DECL_REMAINDERL.
6666         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
6667         not HAVE_REMAINDERL.
6668         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
6669         HAVE_REMAINDERL.
6670         * doc/posix-functions/remainderl.texi: Mention missing declaration
6671         problem.
6672
6673 2012-03-07  Bruno Haible  <bruno@clisp.org>
6674
6675         rintf: Don't override undeclared system function on IRIX 6.5.
6676         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
6677         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
6678         exists. Set HAVE_DECL_RINTF.
6679         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
6680         HAVE_RINTF.
6681         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
6682         HAVE_RINTF.
6683         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
6684
6685 2012-03-07  Bruno Haible  <bruno@clisp.org>
6686
6687         roundl: Avoid compilation error on AIX.
6688         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
6689         AIX 5.2..7.1.
6690
6691 2012-03-07  Bruno Haible  <bruno@clisp.org>
6692
6693         roundl: Don't override undeclared system function on IRIX 6.5.
6694         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
6695         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
6696         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
6697         * modules/roundl (configure.ac): For replacement code, test
6698         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
6699         (Depends-on): Update conditions.
6700         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
6701
6702 2012-03-07  Bruno Haible  <bruno@clisp.org>
6703
6704         roundf: Don't override undeclared system function on IRIX 6.5.
6705         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
6706         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
6707         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
6708         * modules/roundf (configure.ac): For replacement code, test
6709         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
6710         (Depends-on): Update conditions.
6711         * modules/roundf-ieee (Depends-on): Update conditions.
6712         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
6713
6714 2012-03-07  Bruno Haible  <bruno@clisp.org>
6715
6716         round: Don't override undeclared system function on IRIX 6.5.
6717         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
6718         argument.
6719         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
6720         also when it is not declared. Set HAVE_ROUND. For replacement code,
6721         test HAVE_ROUND, not HAVE_DECL_ROUND.
6722         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
6723         not HAVE_DECL_ROUND.
6724         (Depends-on): Update conditions.
6725         * modules/round-ieee (Depends-on): Update conditions.
6726         * doc/posix-functions/round.texi: Mention the IRIX problem.
6727
6728 2012-03-07  Bruno Haible  <bruno@clisp.org>
6729
6730         copysignf: Don't override undeclared system function on IRIX 6.5.
6731         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
6732         HAVE_COPYSIGNF.
6733         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
6734         declared when it exists. Set HAVE_DECL_COPYSIGNF.
6735         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
6736         not HAVE_COPYSIGNF.
6737         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
6738         HAVE_COPYSIGNF.
6739         * doc/posix-functions/copysignf.texi: Mention missing declaration
6740         problem.
6741
6742 2012-03-07  Jim Meyering  <meyering@redhat.com>
6743
6744         readtokens: add tests
6745         * modules/readtokens-tests: New file.
6746         * tests/test-readtokens.c: New file.
6747
6748 2012-03-07  Jim Meyering  <meyering@redhat.com>
6749
6750         quotearg: the module must now include quote.h
6751         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
6752         So must the module.
6753         * modules/quotearg (Files): Add quote.h.
6754
6755 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
6756
6757         readtokens: avoid core dumps with unusual calling patterns
6758         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
6759         * lib/readtokens.c: Include limits.h.
6760         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
6761         (readtoken): Don't cache the delimiters; the cache code was buggy
6762         if !delim && saved_delim, or if the new n_delim differs from the old.
6763         Also, it wasn't thread-safe.
6764
6765 2012-03-07  Bruno Haible  <bruno@clisp.org>
6766
6767         quote: Adhere to common module description layout.
6768         * modules/quote (Makefile.am): Add back empty section.
6769
6770 2012-03-06  Akim Demaille  <demaille@gostai.com>
6771
6772         quote: fuse into quotearg
6773         This patch is made for the benefit of Bison.
6774         quote does not leave the choice of the quoting style to the user.
6775         quoting_style provides poor customizability, yet quoting_options,
6776         which is very rich, is hidden inside quotearg.c.  So in order to
6777         allow quote customization, move its implementation to quotearg.c.
6778         * lib/quote.c: Remove.
6779         * modules/quote: Adjust.
6780         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
6781         warning: provide all the members of literal structs.
6782         (quote_quoting_options): New.
6783         (quote, quote_n): Import implementation from quote.c.
6784         * lib/quote.h: Import the comments from quote.c.
6785         (quote_quoting_options): New.
6786
6787 2012-03-06  Bruno Haible  <bruno@clisp.org>
6788
6789         Tests for module 'expm1l-ieee'.
6790         * modules/expm1l-ieee-tests: New file.
6791         * tests/test-expm1l-ieee.c: New file.
6792
6793         New module 'expm1l-ieee'.
6794         * modules/expm1l-ieee: New file.
6795
6796         Tests for module 'expm1f-ieee'.
6797         * modules/expm1f-ieee-tests: New file.
6798         * tests/test-expm1f-ieee.c: New file.
6799
6800         New module 'expm1f-ieee'.
6801         * modules/expm1f-ieee: New file.
6802
6803         Tests for module 'expm1-ieee'.
6804         * modules/expm1-ieee-tests: New file.
6805         * tests/test-expm1-ieee.c: New file.
6806         * tests/test-expm1-ieee.h: New file.
6807
6808         New module 'expm1-ieee'.
6809         * modules/expm1-ieee: New file.
6810         * m4/expm1-ieee.m4: New file.
6811         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
6812         whether expm1 works with a minus zero argument. Replace it if not.
6813         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
6814         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
6815         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
6816         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
6817         (Depends-on): Update conditions.
6818         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
6819         AIX problem.
6820
6821 2012-03-06  Bruno Haible  <bruno@clisp.org>
6822
6823         Work around expm1f bug on IRIX 6.5.
6824         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
6825         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
6826         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
6827         not work.
6828         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
6829         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
6830         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
6831         (Depends-on): Update conditions.
6832         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
6833
6834 2012-03-06  Bruno Haible  <bruno@clisp.org>
6835
6836         Tests for module 'expm1l'.
6837         * modules/expm1l-tests: New file.
6838         * tests/test-expm1l.c: New file.
6839
6840         New module 'expm1l'.
6841         * lib/math.in.h (expm1l): New declaration.
6842         * lib/expm1l.c: New file.
6843         * m4/expm1l.m4: New file.
6844         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
6845         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
6846         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
6847         * modules/expm1l: New file.
6848         * tests/test-math-c++.cc: Check the declaration of expm1l.
6849         * doc/posix-functions/expm1l.texi: Mention the new module.
6850
6851 2012-03-06  Bruno Haible  <bruno@clisp.org>
6852
6853         Tests for module 'expm1f'.
6854         * modules/expm1f-tests: New file.
6855         * tests/test-expm1f.c: New file.
6856
6857         New module 'expm1f'.
6858         * lib/math.in.h (expm1f): New declaration.
6859         * lib/expm1f.c: New file.
6860         * m4/expm1f.m4: New file.
6861         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
6862         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
6863         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
6864         * modules/expm1f: New file.
6865         * tests/test-math-c++.cc: Check the declaration of expm1f.
6866         * doc/posix-functions/expm1f.texi: Mention the new module.
6867
6868 2012-03-06  Bruno Haible  <bruno@clisp.org>
6869
6870         Tests for module 'expm1'.
6871         * modules/expm1-tests: New file.
6872         * tests/test-expm1.c: New file.
6873         * tests/test-expm1.h: New file.
6874
6875         New module 'expm1'.
6876         * lib/math.in.h (expm1): New declaration.
6877         * lib/expm1.c: New file.
6878         * m4/expm1.m4: New file.
6879         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
6880         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
6881         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
6882         * modules/expm1: New file.
6883         * tests/test-math-c++.cc: Check the declaration of expm1.
6884         * doc/posix-functions/expm1.texi: Mention the new module.
6885
6886 2012-03-06  Bruno Haible  <bruno@clisp.org>
6887
6888         math: Ensure declarations of math functions.
6889         * modules/acosf (Depends-on): Add 'extensions'.
6890         * modules/asinf (Depends-on): Likewise.
6891         * modules/atan2f (Depends-on): Likewise.
6892         * modules/atanf (Depends-on): Likewise.
6893         * modules/cbrt (Depends-on): Likewise.
6894         * modules/cbrtf (Depends-on): Likewise.
6895         * modules/cbrtl (Depends-on): Likewise.
6896         * modules/copysignf (Depends-on): Likewise.
6897         * modules/copysignl (Depends-on): Likewise.
6898         * modules/cosf (Depends-on): Likewise.
6899         * modules/coshf (Depends-on): Likewise.
6900         * modules/expf (Depends-on): Likewise.
6901         * modules/fabsf (Depends-on): Likewise.
6902         * modules/fabsl (Depends-on): Likewise.
6903         * modules/fmaf (Depends-on): Likewise.
6904         * modules/fmal (Depends-on): Likewise.
6905         * modules/fmodf (Depends-on): Likewise.
6906         * modules/fmodl (Depends-on): Likewise.
6907         * modules/frexpf (Depends-on): Likewise.
6908         * modules/frexpl (Depends-on): Likewise.
6909         * modules/hypot (Depends-on): Likewise.
6910         * modules/hypotf (Depends-on): Likewise.
6911         * modules/hypotl (Depends-on): Likewise.
6912         * modules/ldexpf (Depends-on): Likewise.
6913         * modules/ldexpl (Depends-on): Likewise.
6914         * modules/log10f (Depends-on): Likewise.
6915         * modules/log10l (Depends-on): Likewise.
6916         * modules/log1p (Depends-on): Likewise.
6917         * modules/logb (Depends-on): Likewise.
6918         * modules/logf (Depends-on): Likewise.
6919         * modules/modff (Depends-on): Likewise.
6920         * modules/modfl (Depends-on): Likewise.
6921         * modules/powf (Depends-on): Likewise.
6922         * modules/remainderf (Depends-on): Likewise.
6923         * modules/remainderl (Depends-on): Likewise.
6924         * modules/rintf (Depends-on): Likewise.
6925         * modules/rintl (Depends-on): Likewise.
6926         * modules/sinf (Depends-on): Likewise.
6927         * modules/sinhf (Depends-on): Likewise.
6928         * modules/sqrtf (Depends-on): Likewise.
6929         * modules/tanf (Depends-on): Likewise.
6930         * modules/tanhf (Depends-on): Likewise.
6931         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
6932         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
6933         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
6934         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
6935         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
6936         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
6937         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
6938         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
6939         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
6940         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
6941         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
6942         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
6943         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
6944         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
6945         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
6946         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
6947         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
6948         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6949         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
6950         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
6951         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
6952         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
6953         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
6954         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
6955         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
6956         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
6957         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
6958         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6959         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
6960         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
6961         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
6962         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
6963         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
6964         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6965         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
6966         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
6967         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
6968         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
6969         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
6970         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
6971         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
6972
6973 2012-03-06  Bruno Haible  <bruno@clisp.org>
6974
6975         math: Update module names in warnings.
6976         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
6977         tanl): Use specific module name in warn-on-use warning.
6978
6979 2012-03-06  Bruno Haible  <bruno@clisp.org>
6980
6981         expl: Simplify computation.
6982         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
6983
6984 2012-03-05  Bruno Haible  <bruno@clisp.org>
6985
6986         exp* tests: More tests.
6987         * tests/test-exp.h: New file.
6988         * tests/test-exp.c: Include <float.h> and test-exp.h.
6989         (main): Invoke test_function.
6990         * tests/test-expf.c: Include <float.h> and test-exp.h.
6991         (main): Invoke test_function.
6992         * tests/test-expl.c: Include <float.h> and test-exp.h.
6993         (main): Invoke test_function.
6994         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
6995         (Makefile.am): Add randomd.c to test_exp_SOURCES.
6996         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
6997         (Makefile.am): Add randomf.c to test_expf_SOURCES.
6998         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
6999         (Depends-on): Add 'float'.
7000         (Makefile.am): Add randoml.c to test_expl_SOURCES.
7001
7002         expl: Fix precision of computed result.
7003         * lib/expl.c: Completely rewritten.
7004         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
7005         (Maintainer): Add me.
7006         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
7007
7008 2012-03-05  Bruno Haible  <bruno@clisp.org>
7009
7010         cbrt* tests: More tests.
7011         * tests/test-cbrt.h: New file.
7012         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
7013         (main): Invoke test_function.
7014         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
7015         (main): Invoke test_function.
7016         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
7017         (main): Invoke test_function.
7018         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
7019         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
7020         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
7021         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
7022         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
7023         (Depends-on): Add 'float'.
7024         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
7025
7026 2012-03-05  Bruno Haible  <bruno@clisp.org>
7027
7028         hypot* tests: More tests.
7029         * tests/test-hypot.h: New file, partially extracted from
7030         tests/test-hypotl.c.
7031         * tests/test-hypot.c: Include test-hypot.h.
7032         (main): Invoke test_function.
7033         * tests/test-hypotf.c: Include test-hypot.h.
7034         (main): Invoke test_function.
7035         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
7036         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
7037         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
7038         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
7039         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
7040         tests/randomf.c.
7041         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
7042         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
7043         tests/randoml.c.
7044         (Depends-on): Add 'fpucw', 'float'.
7045         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
7046
7047 2012-03-05  Bruno Haible  <bruno@clisp.org>
7048
7049         fpucw: Doc about FreeBSD.
7050         * lib/fpucw.h: Mention FreeBSD in comments.
7051
7052 2012-03-04  Bruno Haible  <bruno@clisp.org>
7053
7054         sqrt* tests: More tests.
7055         * tests/test-sqrt.h: New file.
7056         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
7057         (main): Invoke test_function.
7058         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
7059         (main): Invoke test_function.
7060         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
7061         (main): Invoke test_function.
7062         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
7063         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
7064         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
7065         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
7066         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
7067         (Depends-on): Add 'float'.
7068         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
7069
7070 2012-03-04  Bruno Haible  <bruno@clisp.org>
7071
7072         remainder* tests: More tests.
7073         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
7074         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
7075         (main): Invoke test_function.
7076         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
7077         (main): Invoke test_function.
7078         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
7079         (main): Invoke test_function.
7080         * modules/remainder-tests (Files): Add tests/test-remainder.h,
7081         tests/randomd.c.
7082         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
7083         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
7084         tests/randomf.c.
7085         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
7086         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
7087         tests/randoml.c.
7088         (Depends-on): Add 'float'.
7089         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
7090
7091 2012-03-04  Bruno Haible  <bruno@clisp.org>
7092
7093         remainder, remainderf, remainderl: Fix computation for large quotients.
7094         * lib/remainder.c: Completely rewritten.
7095         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
7096         USE_FLOAT.
7097         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
7098         USE_LONG_DOUBLE.
7099         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
7100         isnand, isinf. Remove round, fma.
7101         * modules/remainderf (Files): Add lib/remainder.c.
7102         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
7103         Remove roundf, fmaf.
7104         * modules/remainderl (Files): Add lib/remainder.c.
7105         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
7106         isinf. Remove roundl, fmal.
7107         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
7108         REMAINDER_LIBM.
7109         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
7110         REMAINDERF_LIBM.
7111         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
7112         REMAINDERL_LIBM.
7113
7114 2012-03-04  Bruno Haible  <bruno@clisp.org>
7115
7116         fmod* tests: More tests.
7117         * tests/test-fmod.h (my_ldexp): New function.
7118         (test_function): Reduce amount of random numbers to test. Add tests
7119         of very large quotients x / y.
7120         * tests/test-fmod.c (MAX_EXP): New macro.
7121         * tests/test-fmodf.c (MAX_EXP): Likewise.
7122         * tests/test-fmodl.c (MAX_EXP): Likewise.
7123
7124 2012-03-04  Bruno Haible  <bruno@clisp.org>
7125
7126         fmod, fmodl: Fix computation for large quotients x / y.
7127         * lib/fmod.c: Completely rewritten.
7128         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
7129         USE_LONG_DOUBLE.
7130         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
7131         isnand. Remove fma.
7132         * modules/fmodl (Files): Add lib/fmod.c.
7133         (Depends-on): Add float, isfinite, signbit, fabsl,
7134         frexpl, ldexpl, isnanl. Remove fma.
7135         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
7136         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
7137
7138 2012-03-03  Bruno Haible  <bruno@clisp.org>
7139
7140         fmod* tests: More tests.
7141         * tests/test-fmod.h: New file.
7142         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
7143         (main): Invoke test_function.
7144         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
7145         (main): Invoke test_function.
7146         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
7147         (main): Invoke test_function.
7148         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
7149         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
7150         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
7151         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
7152         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
7153         (Depends-on): Add 'float'.
7154         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
7155
7156 2012-03-03  Bruno Haible  <bruno@clisp.org>
7157
7158         rint* tests: More tests.
7159         * tests/test-rint.h: New file, partially extracted from
7160         tests/test-rintl.c.
7161         * tests/test-rint.c: Include test-rint.h.
7162         (main): Invoke test_function.
7163         * tests/test-rintf.c: Include test-rint.h.
7164         (main): Invoke test_function.
7165         * tests/test-rintl.c: Include test-rint.h.
7166         (main): Invoke test_function.
7167         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
7168         (Makefile.am): Add randomd.c to test_rint_SOURCES.
7169         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
7170         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
7171         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
7172         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
7173
7174 2012-03-03  Bruno Haible  <bruno@clisp.org>
7175
7176         modf* tests: More tests.
7177         * tests/test-modf.h: New file.
7178         * tests/test-modf.c: Include <float.h> and test-modf.h.
7179         (main): Invoke test_function.
7180         * tests/test-modff.c: Include <float.h> and test-modf.h.
7181         (main): Invoke test_function.
7182         * tests/test-modfl.c: Include <float.h> and test-modf.h.
7183         (main): Invoke test_function.
7184         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
7185         (Makefile.am): Add randomd.c to test_modf_SOURCES.
7186         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
7187         (Makefile.am): Add randomf.c to test_modff_SOURCES.
7188         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
7189         (Depends-on): Add 'float'.
7190         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
7191
7192 2012-03-03  Bruno Haible  <bruno@clisp.org>
7193
7194         fabs* tests: More tests.
7195         * tests/test-fabs.h: New file, partially extracted from
7196         tests/test-fabsl.c.
7197         * tests/test-fabs.c (RANDOM): New macro.
7198         * tests/test-fabsf.c (RANDOM): New macro.
7199         * tests/test-fabsl.c (RANDOM): New macro.
7200         * modules/fabs-tests (Files): Add tests/randomd.c.
7201         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
7202         * modules/fabsf-tests (Files): Add tests/randomf.c.
7203         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
7204         * modules/fabsl-tests (Files): Add tests/randoml.c.
7205         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
7206
7207 2012-03-03  Bruno Haible  <bruno@clisp.org>
7208
7209         ldexp* tests: More tests.
7210         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
7211         * tests/test-ldexp.c (RANDOM): New macro.
7212         * tests/test-ldexpf.c (RANDOM): New macro.
7213         * tests/test-ldexpl.c (RANDOM): New macro.
7214         * modules/ldexp-tests (Files): Add tests/randomd.c.
7215         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
7216         * modules/ldexpf-tests (Files): Add tests/randomf.c.
7217         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
7218         * modules/ldexpl-tests (Files): Add tests/randoml.c.
7219         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
7220
7221 2012-03-03  Bruno Haible  <bruno@clisp.org>
7222
7223         frexp* tests: More tests.
7224         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
7225         * tests/test-frexp.c (RANDOM): New macro.
7226         * tests/test-frexpf.c (RANDOM): New macro.
7227         * tests/test-frexpl.c (RANDOM): New macro.
7228         * modules/frexp-tests (Files): Add tests/randomd.c.
7229         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
7230         * modules/frexpf-tests (Files): Add tests/randomf.c.
7231         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
7232         * modules/frexpl-tests (Files): Add tests/randoml.c.
7233         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
7234
7235 2012-03-03  Bruno Haible  <bruno@clisp.org>
7236
7237         Support for pseudo-random numbers in tests.
7238         * tests/randomf.c: New file.
7239         * tests/randomd.c: New file.
7240         * tests/randoml.c: New file.
7241         * tests/macros.h (randomf, randomd, randoml): New declarations.
7242
7243 2012-03-03  Bruno Haible  <bruno@clisp.org>
7244
7245         frexp* tests: Refactor.
7246         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
7247         * tests/test-frexp.c: Include and use it.
7248         * tests/test-frexpf.c: Likewise.
7249         * tests/test-frexpl.c: Likewise.
7250         * modules/frexp-tests (Files): Add tests/test-frexp.h.
7251         * modules/frexpf-tests (Files): Likewise.
7252         * modules/frexpl-tests (Files): Likewise.
7253
7254 2012-03-02  Jim Meyering  <meyering@redhat.com>
7255
7256         maint: don't specify XZ_OPT=-9ev in dist-related rule
7257         Using xz's -9 option is warranted only if you have a very large
7258         tarball (see xz's documentation for the sizes vs. presets), and
7259         requires 64MiB of memory at decompression time.
7260         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
7261         Automake's default of just "-e" is fine.  Override on a
7262         per-package basis by setting XZ_OPT e.g., in cfg.mk.
7263
7264 2012-03-01  Eric Blake  <eblake@redhat.com>
7265
7266         maint.mk: allow announcement for non-gnulib project
7267         * maint.mk (announcement): Skip gnulib version if not used.
7268
7269 2012-03-01  Jim Meyering  <meyering@redhat.com>
7270
7271         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
7272         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
7273         envvar settings cannot interfere.  Otherwise, setting envvars like
7274         prohibit=foo require=bar, etc. would cause spurious test failures.
7275
7276 2012-03-01  Eric Blake  <eblake@redhat.com>
7277
7278         maint.mk: add per-line exclusions to prohibitions
7279         * maint.mk (_sc_search_regexp): Add $exclude parameter.
7280         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
7281         (sc_const_long_option): Use it.
7282
7283 2012-03-01  Bruno Haible  <bruno@clisp.org>
7284
7285         Tests for module 'expl-ieee'.
7286         * modules/expl-ieee-tests: New file.
7287         * tests/test-expl-ieee.c: New file.
7288
7289         New module 'expl-ieee'.
7290         * modules/expl-ieee: New file.
7291
7292         Tests for module 'exp-ieee'.
7293         * modules/exp-ieee-tests: New file.
7294         * tests/test-exp-ieee.c: New file.
7295
7296         New module 'exp-ieee'.
7297         * modules/exp-ieee: New file.
7298
7299         Tests for module 'expf-ieee'.
7300         * modules/expf-ieee-tests: New file.
7301         * tests/test-expf-ieee.c: New file.
7302         * tests/test-exp-ieee.h: New file.
7303
7304         New module 'expf-ieee'.
7305         * modules/expf-ieee: New file.
7306
7307 2012-02-29  Bruno Haible  <bruno@clisp.org>
7308
7309         cbrtl-ieee: Work around test failure on IRIX 6.5.
7310         * m4/cbrtl-ieee.m4: New file.
7311         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
7312         test whether cbrtl works with a minus zero argument. Replace it if not.
7313         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
7314         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
7315         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
7316         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
7317         (Depends-on): Update conditions.
7318         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
7319         m4/signbit.m4.
7320         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
7321         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
7322         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
7323
7324         Tests for module 'cbrtl-ieee'.
7325         * modules/cbrtl-ieee-tests: New file.
7326         * tests/test-cbrtl-ieee.c: New file.
7327
7328         New module 'cbrtl-ieee'.
7329         * modules/cbrtl-ieee: New file.
7330
7331         Tests for module 'cbrt-ieee'.
7332         * modules/cbrt-ieee-tests: New file.
7333         * tests/test-cbrt-ieee.c: New file.
7334
7335         New module 'cbrt-ieee'.
7336         * modules/cbrt-ieee: New file.
7337
7338         Tests for module 'cbrtf-ieee'.
7339         * modules/cbrtf-ieee-tests: New file.
7340         * tests/test-cbrtf-ieee.c: New file.
7341         * tests/test-cbrt-ieee.h: New file.
7342
7343         New module 'cbrtf-ieee'.
7344         * modules/cbrtf-ieee: New file.
7345
7346 2012-02-29  Bruno Haible  <bruno@clisp.org>
7347
7348         cbrtf: Work around bug in IRIX 6.5 system function.
7349         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
7350         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
7351         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
7352         work.
7353         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
7354         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
7355         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
7356         (Depends-on): Update conditions.
7357         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
7358
7359 2012-02-29  Bruno Haible  <bruno@clisp.org>
7360
7361         Tests for module 'cbrtl'.
7362         * modules/cbrtl-tests: New file.
7363         * tests/test-cbrtl.c: New file.
7364
7365         New module 'cbrtl'.
7366         * lib/math.in.h (cbrtl): New declaration.
7367         * lib/cbrtl.c: New file.
7368         * m4/cbrtl.m4: New file.
7369         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
7370         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
7371         HAVE_DECL_CBRTL.
7372         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
7373         HAVE_DECL_CBRTL.
7374         * modules/cbrtl: New file.
7375         * tests/test-math-c++.cc: Check the declaration of cbrtl.
7376         * doc/posix-functions/cbrtl.texi: Mention the new module.
7377
7378 2012-02-29  Bruno Haible  <bruno@clisp.org>
7379
7380         Tests for module 'cbrtf'.
7381         * modules/cbrtf-tests: New file.
7382         * tests/test-cbrtf.c: New file.
7383
7384         New module 'cbrtf'.
7385         * lib/math.in.h (cbrtf): New declaration.
7386         * lib/cbrtf.c: New file.
7387         * m4/cbrtf.m4: New file.
7388         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
7389         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
7390         HAVE_DECL_CBRTF.
7391         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
7392         HAVE_DECL_CBRTF.
7393         * modules/cbrtf: New file.
7394         * tests/test-math-c++.cc: Check the declaration of cbrtf.
7395         * doc/posix-functions/cbrtf.texi: Mention the new module.
7396
7397 2012-02-29  Bruno Haible  <bruno@clisp.org>
7398
7399         cbrt: Provide replacement on MSVC and Minix.
7400         * lib/math.in.h (cbrt): New declaration.
7401         * lib/cbrt.c: New file.
7402         * m4/cbrt.m4: New file.
7403         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
7404         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
7405         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
7406         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
7407         (Depends-on): Add dependencies.
7408         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
7409         * tests/test-math-c++.cc: Check the declaration of cbrt.
7410         * doc/posix-functions/cbrt.texi: Mention that the module provides a
7411         replacement.
7412
7413 2012-02-29  Bruno Haible  <bruno@clisp.org>
7414
7415         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
7416         * m4/hypotl-ieee.m4: New file.
7417         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
7418         test whether hypotl works with mixed NaN and Infinity arguments.
7419         Replace it if not.
7420         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
7421         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
7422         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
7423         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
7424         (Depends-on): Update conditions.
7425         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
7426         (Depends-on): Add hypot-ieee.
7427         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
7428         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
7429
7430         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
7431         * m4/hypotf-ieee.m4: New file.
7432         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
7433         test whether hypotf works with mixed NaN and Infinity arguments.
7434         Replace it if not.
7435         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
7436         (Depends-on): Add hypot-ieee.
7437         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
7438         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
7439
7440         hypot-ieee: Work around test failure on OSF/1 and native Windows.
7441         * lib/math.in.h (hypot): New declaration.
7442         * lib/hypot.c: New file.
7443         * m4/hypot-ieee.m4: New file.
7444         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
7445         whether hypot works with mixed NaN and Infinity arguments. Replace it
7446         if not.
7447         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
7448         REPLACE_HYPOT.
7449         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
7450         * modules/hypot (Files): Add lib/hypot.c.
7451         (Depends-on): Add dependencies.
7452         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
7453         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
7454         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
7455         * tests/test-math-c++.cc: Check the declaration of hypot.
7456         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
7457
7458         Tests for module 'hypotl-ieee'.
7459         * modules/hypotl-ieee-tests: New file.
7460         * tests/test-hypotl-ieee.c: New file.
7461
7462         New module 'hypotl-ieee'.
7463         * modules/hypotl-ieee: New file.
7464
7465         Tests for module 'hypot-ieee'.
7466         * modules/hypot-ieee-tests: New file.
7467         * tests/test-hypot-ieee.c: New file.
7468
7469         New module 'hypot-ieee'.
7470         * modules/hypot-ieee: New file.
7471
7472         Tests for module 'hypotf-ieee'.
7473         * modules/hypotf-ieee-tests: New file.
7474         * tests/test-hypotf-ieee.c: New file.
7475         * tests/test-hypot-ieee.h: New file.
7476
7477         New module 'hypotf-ieee'.
7478         * modules/hypotf-ieee: New file.
7479
7480 2012-02-29  Bruno Haible  <bruno@clisp.org>
7481
7482         Remove unused variables.
7483         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
7484         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
7485         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
7486         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
7487
7488 2012-02-29  Eric Blake  <eblake@redhat.com>
7489
7490         termios: fix pid_t always, not just for tcgetsid
7491         * doc/posix-headers/termios.texi (termios.h): Mention problem.
7492         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
7493         just when building tcgetsid.
7494
7495 2012-02-29  Bruno Haible  <bruno@clisp.org>
7496
7497         Tests for module 'hypotl'.
7498         * modules/hypotl-tests: New file.
7499         * tests/test-hypotl.c: New file.
7500
7501         New module 'hypotl'.
7502         * lib/math.in.h (hypotl): New declaration.
7503         * lib/hypotl.c: New file.
7504         * m4/hypotl.m4: New file.
7505         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
7506         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
7507         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
7508         * modules/hypotl: New file.
7509         * tests/test-math-c++.cc: Check the hypotl declaration.
7510         * doc/posix-functions/hypotl.texi: Mention the new module.
7511
7512 2012-02-29  Eric Blake  <eblake@redhat.com>
7513
7514         tcgetsid: fix cygwin header bug
7515         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
7516
7517         docs: update cygwin progress
7518         * doc/posix-functions/llround.texi (llround): Added in cygwin
7519         1.7.8.
7520         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
7521         * doc/glibc-functions/program_invocation_name.texi
7522         (program_invocation_name): Likewise.
7523         * doc/glibc-functions/program_invocation_short_name.texi
7524         (program_invocation_short_name): Likewise.
7525         * doc/glibc-functions/madvise.texi (madvise): Likewise.
7526         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
7527         Likewise.
7528         * doc/posix-functions/pthread_spin_destroy.texi
7529         (pthread_spin_destroy): Added in cygwin 1.7.10.
7530         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
7531         Likewise.
7532         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
7533         Likewise.
7534         * doc/posix-functions/pthread_spin_trylock.texi
7535         (pthread_spin_trylock): Likewise.
7536         * doc/posix-functions/pthread_spin_unlock.texi
7537         (pthread_spin_unlock): Likewise.
7538         * doc/posix-functions/pthread_setschedprio.texi
7539         (pthread_setschedprio): Likewise.
7540         * doc/posix-functions/pthread_attr_getstack.texi
7541         (pthread_attr_getstack): Likewise.
7542         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
7543         (pthread_attr_getstackaddr): Likewise.
7544         * doc/glibc-functions/pthread_getattr_np.texi
7545         (pthread_getattr_np): Likewise.
7546         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
7547         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
7548         * doc/posix-functions/clock_settime.texi (clock_settime):
7549         Likewise.
7550         * doc/posix-functions/pthread_attr_getguardsize.texi
7551         (pthread_attr_getguardsize): Likewise.
7552         * doc/posix-functions/pthread_attr_setguardsize.texi
7553         (pthread_attr_setguardsize): Likewise.
7554         * doc/posix-functions/pthread_attr_setstack.texi
7555         (pthread_attr_setstack): Likewise.
7556         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
7557         (pthread_attr_setstackaddr): Likewise.
7558         * doc/posix-functions/clock_getcpuclockid.texi
7559         (clock_getcpuclockid): Likewise.
7560         * doc/posix-functions/pthread_getcpuclockid.texi
7561         (pthread_getcpuclockid): Likewise.
7562         * doc/glibc-functions/error.texi (error): Likewise.
7563         * doc/glibc-functions/error_at_line.texi (error_at_line):
7564         Likewise.
7565         * doc/glibc-functions/error_message_count.texi
7566         (error_message_count): Likewise.
7567         * doc/glibc-functions/error_one_per_line.texi
7568         (error_one_per_line): Likewise.
7569         * doc/glibc-functions/error_print_progname.texi
7570         (error_print_progname): Likewise.
7571         * doc/posix-functions/pthread_condattr_getclock.texi
7572         (pthread_condattr_getclock): Likewise.
7573         * doc/posix-functions/pthread_condattr_setclock.texi
7574         (pthread_condattr_setclock): Likewise.
7575         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
7576         Likewise.
7577         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
7578         * doc/glibc-functions/getpt.texi (getpt): Likewise.
7579         * doc/glibc-functions/get_current_dir_name.texi
7580         (get_current_dir_name): Likewise.
7581         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
7582         Likewise.
7583         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
7584         wrong return type.
7585         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
7586         1.7.11.
7587
7588 2012-02-29  Bruno Haible  <bruno@clisp.org>
7589
7590         Tests for module 'hypotf'.
7591         * modules/hypotf-tests: New file.
7592         * tests/test-hypotf.c: New file.
7593
7594         New module 'hypotf'.
7595         * lib/math.in.h (hypotf): New declaration.
7596         * lib/hypotf.c: New file.
7597         * m4/hypotf.m4: New file.
7598         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
7599         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
7600         REPLACE_HYPOTF.
7601         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
7602         REPLACE_HYPOTF.
7603         * modules/hypotf: New file.
7604         * tests/test-math-c++.cc: Check the hypotf declaration.
7605         * doc/posix-functions/hypotf.texi: Mention the new module.
7606
7607         hypot: Prepare for hypotf module.
7608         * m4/hypot.m4: New file.
7609         * modules/hypot (Files): Add m4/hypot.m4.
7610         (configure.ac): Invoke gl_FUNC_HYPOT.
7611
7612 2012-02-29  Bruno Haible  <bruno@clisp.org>
7613
7614         hypot tests: More tests.
7615         * tests/test-hypot.c: Include <float.h>.
7616         (main): Add tests about overflow and underflow.
7617
7618 2012-02-29  Bruno Haible  <bruno@clisp.org>
7619
7620         math code: Add comments.
7621         * lib/acosl.c: Add comment about related glibc source files.
7622         * lib/asinl.c: Likewise.
7623         * lib/atanl.c: Likewise.
7624         * lib/expl.c: Likewise.
7625         * lib/logl.c: Likewise.
7626         * lib/sincosl.c: Likewise.
7627         * lib/sinl.c: Likewise.
7628         * lib/tanl.c: Likewise.
7629         * lib/trigl.c: Likewise.
7630         * lib/cosl.c: Likewise. Fix comments.
7631
7632 2012-02-28  Bruno Haible  <bruno@clisp.org>
7633
7634         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
7635         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
7636         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
7637         HUGE_VALL are defined.
7638         (numeric_equald): Renamed from numeric_equal.
7639         (numeric_equalf, numeric_equall): New functions.
7640         (main): Check also HUGE_VALF, HUGE_VALL.
7641         * modules/math-tests (Files): Add tests/macros.h.
7642         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
7643         HUGE_VALL.
7644
7645 2012-02-28  Bruno Haible  <bruno@clisp.org>
7646
7647         doc: Move ISO C11 feature notes into POSIX chapters.
7648         * doc/posix-functions/aligned_alloc.texi: Renamed from
7649         doc/glibc-functions/aligned_alloc.texi.
7650         * doc/posix-functions/quick_exit.texi: Renamed from
7651         doc/glibc-functions/quick_exit.texi.
7652         * doc/posix-headers/uchar.texi: Renamed from
7653         doc/glibc-headers/uchar.texi.
7654         * doc/posix-functions/c16rtomb.texi: Renamed from
7655         doc/glibc-functions/c16rtomb.texi.
7656         * doc/posix-functions/c32rtomb.texi: Renamed from
7657         doc/glibc-functions/c32rtomb.texi.
7658         * doc/posix-functions/mbrtoc16.texi: Renamed from
7659         doc/glibc-functions/mbrtoc16.texi.
7660         * doc/posix-functions/mbrtoc32.texi: Renamed from
7661         doc/glibc-functions/mbrtoc32.texi.
7662         * doc/gnulib.texi: Update.
7663         (Glibc uchar.h): Remove section.
7664         Suggested by Eric Blake.
7665
7666 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
7667
7668         stdnoreturn: port to MSVC better
7669         MSVC standard headers use __declspec(noreturn), so #define noreturn
7670         to empty on that platform.  Reported by Bruno Haible in
7671         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
7672         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
7673         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
7674
7675 2012-02-28  Bruno Haible  <bruno@clisp.org>
7676
7677         doc: Mention new glibc headers and functions.
7678         * doc/glibc-headers/uchar.texi: New file.
7679         * doc/glibc-functions/aligned_alloc.texi: New file.
7680         * doc/glibc-functions/c16rtomb.texi: New file.
7681         * doc/glibc-functions/c32rtomb.texi: New file.
7682         * doc/glibc-functions/clock_adjtime.texi: New file.
7683         * doc/glibc-functions/fanotify_init.texi: New file.
7684         * doc/glibc-functions/fanotify_mark.texi: New file.
7685         * doc/glibc-functions/inet6_opt_append.texi: New file.
7686         * doc/glibc-functions/inet6_opt_find.texi: New file.
7687         * doc/glibc-functions/inet6_opt_finish.texi: New file.
7688         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
7689         * doc/glibc-functions/inet6_opt_init.texi: New file.
7690         * doc/glibc-functions/inet6_opt_next.texi: New file.
7691         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
7692         * doc/glibc-functions/inet6_rth_add.texi: New file.
7693         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
7694         * doc/glibc-functions/inet6_rth_init.texi: New file.
7695         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
7696         * doc/glibc-functions/inet6_rth_segments.texi: New file.
7697         * doc/glibc-functions/inet6_rth_space.texi: New file.
7698         * doc/glibc-functions/login.texi: New file.
7699         * doc/glibc-functions/mbrtoc16.texi: New file.
7700         * doc/glibc-functions/mbrtoc32.texi: New file.
7701         * doc/glibc-functions/name_to_handle_at.texi: New file.
7702         * doc/glibc-functions/ntp_gettimex.texi: New file.
7703         * doc/glibc-functions/open_by_handle_at.texi: New file.
7704         * doc/glibc-functions/prlimit.texi: New file.
7705         * doc/glibc-functions/process_vm_readv.texi: New file.
7706         * doc/glibc-functions/process_vm_writev.texi: New file.
7707         * doc/glibc-functions/recvmmsg.texi: New file.
7708         * doc/glibc-functions/scandirat.texi: New file.
7709         * doc/glibc-functions/sendmmsg.texi: New file.
7710         * doc/glibc-functions/setns.texi: New file.
7711         * doc/glibc-functions/timespec_get.texi: New file.
7712         * doc/gnulib.texi: Include them.
7713         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
7714         sections.
7715         Reported by Eric Blake.
7716
7717 2012-02-28  Bruno Haible  <bruno@clisp.org>
7718
7719         Avoid compilation errors with MSVC option -fp:strict.
7720         * lib/floor.c: Use MSVC specific pragma fenv_access.
7721         * lib/ceil.c: Likewise.
7722         * lib/trunc.c: Likewise.
7723         * lib/round.c: Likewise.
7724         * lib/rint.c: Likewise.
7725         * lib/fma.c: Likewise.
7726         * lib/integer_length.c: Likewise.
7727         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
7728         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
7729         * tests/test-floor2.c: Likewise.
7730         * tests/test-floorf2.c: Likewise.
7731         * tests/test-ceil2.c: Likewise.
7732         * tests/test-ceilf2.c: Likewise.
7733         * tests/test-trunc2.c: Likewise.
7734         * tests/test-truncf2.c: Likewise.
7735         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7736
7737 2012-02-27  Bruno Haible  <bruno@clisp.org>
7738
7739         Tests for module 'sqrtl-ieee'.
7740         * modules/sqrtl-ieee-tests: New file.
7741         * tests/test-sqrtl-ieee.c: New file.
7742
7743         New module 'sqrtl-ieee'.
7744         * modules/sqrtl-ieee: New file.
7745
7746         Tests for module 'sqrt-ieee'.
7747         * modules/sqrt-ieee-tests: New file.
7748         * tests/test-sqrt-ieee.c: New file.
7749
7750         New module 'sqrt-ieee'.
7751         * modules/sqrt-ieee: New file.
7752
7753         Tests for module 'sqrtf-ieee'.
7754         * modules/sqrtf-ieee-tests: New file.
7755         * tests/test-sqrtf-ieee.c: New file.
7756         * tests/test-sqrt-ieee.h: New file.
7757
7758         New module 'sqrtf-ieee'.
7759         * modules/sqrtf-ieee: New file.
7760
7761 2012-02-27  Bruno Haible  <bruno@clisp.org>
7762
7763         remainderl-ieee: Work around test failure on OSF/1.
7764         * m4/remainderl-ieee.m4: New file.
7765         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
7766         present, test whether remainderl works with a zero second argument.
7767         Replace it if not.
7768         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
7769         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
7770         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
7771         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
7772         (Depends-on): Update conditions.
7773         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
7774         (Depends-on): Add remainder-ieee.
7775         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
7776         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
7777         module.
7778
7779         remainderf-ieee: Work around test failure on OSF/1.
7780         * m4/remainderf-ieee.m4: New file.
7781         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
7782         present, test whether remainderf works with a zero second argument.
7783         Replace it if not.
7784         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
7785         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
7786         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
7787         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
7788         (Depends-on): Update conditions.
7789         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
7790         (Depends-on): Add remainder-ieee.
7791         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
7792         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
7793         module.
7794
7795         remainder-ieee: Work around test failure on OSF/1.
7796         * m4/remainder-ieee.m4: New file.
7797         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
7798         present, test whether remainder works with a zero second argument.
7799         Replace it if not.
7800         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
7801         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
7802         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
7803         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
7804         (Depends-on): Update dependencies.
7805         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
7806         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
7807         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
7808
7809         Tests for module 'remainderl-ieee'.
7810         * modules/remainderl-ieee-tests: New file.
7811         * tests/test-remainderl-ieee.c: New file.
7812
7813         New module 'remainderl-ieee'.
7814         * modules/remainderl-ieee: New file.
7815
7816         Tests for module 'remainder-ieee'.
7817         * modules/remainder-ieee-tests: New file.
7818         * tests/test-remainder-ieee.c: New file.
7819
7820         New module 'remainder-ieee'.
7821         * modules/remainder-ieee: New file.
7822
7823         Tests for module 'remainderf-ieee'.
7824         * modules/remainderf-ieee-tests: New file.
7825         * tests/test-remainderf-ieee.c: New file.
7826         * tests/test-remainder-ieee.h: New file.
7827
7828         New module 'remainderf-ieee'.
7829         * modules/remainderf-ieee: New file.
7830
7831 2012-02-27  Bruno Haible  <bruno@clisp.org>
7832
7833         modff, modfl: Fix configure syntax error.
7834         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
7835         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
7836
7837 2012-02-27  Bruno Haible  <bruno@clisp.org>
7838
7839         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
7840         * m4/fmodl-ieee.m4: New file.
7841         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
7842         whether fmodl works with zero arguments. Replace it if not.
7843         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
7844         (Depends-on): Add fmod-ieee.
7845         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
7846         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
7847
7848         fmodf-ieee: Work around test failure on OSF/1.
7849         * m4/fmodf-ieee.m4: New file.
7850         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
7851         whether fmodf works with zero arguments. Replace it if not.
7852         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
7853         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
7854         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
7855         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
7856         (Depends-on): Update dependencies.
7857         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
7858         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
7859         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
7860
7861         fmodf-ieee: Work around test failure on MSVC 9.
7862         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
7863         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
7864
7865         fmod-ieee: Work around test failures on OSF/1, mingw.
7866         * m4/fmod-ieee.m4: New file.
7867         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
7868         whether fmod works with zero arguments. Replace it if not.
7869         * lib/math.in.h (fmod): New declaration.
7870         * lib/fmod.c: New file.
7871         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
7872         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
7873         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
7874         * modules/fmod (Files): Add lib/fmod.c.
7875         (Depends-on): Add math, isinf, trunc, fma.
7876         (configure.ac): Arrange to compile lib/fmod.c if needed.
7877         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
7878         m4/signbit.m4.
7879         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
7880         * tests/test-math-c++.cc: Check the declaration of fmod.
7881         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
7882
7883         fmodl-ieee: Fix test failures.
7884         * lib/fmodl.c (fmodl): Treat Inf specially.
7885         * modules/fmodl (Depends-on): Add isinf.
7886
7887         Tests for module 'fmodl-ieee'.
7888         * modules/fmodl-ieee-tests: New file.
7889         * tests/test-fmodl-ieee.c: New file.
7890
7891         New module 'fmodl-ieee'.
7892         * modules/fmodl-ieee: New file.
7893
7894         Tests for module 'fmod-ieee'.
7895         * modules/fmod-ieee-tests: New file.
7896         * tests/test-fmod-ieee.c: New file.
7897
7898         New module 'fmod-ieee'.
7899         * modules/fmod-ieee: New file.
7900
7901         Tests for module 'fmodf-ieee'.
7902         * modules/fmodf-ieee-tests: New file.
7903         * tests/test-fmodf-ieee.c: New file.
7904         * tests/test-fmod-ieee.h: New file.
7905
7906         New module 'fmodf-ieee'.
7907         * modules/fmodf-ieee: New file.
7908
7909 2012-02-27  Bruno Haible  <bruno@clisp.org>
7910
7911         Tests for module 'rintl-ieee'.
7912         * modules/rintl-ieee-tests: New file.
7913         * tests/test-rintl-ieee.c: New file.
7914
7915         New module 'rintl-ieee'.
7916         * modules/rintl-ieee: New file.
7917
7918         Tests for module 'rint-ieee'.
7919         * modules/rint-ieee-tests: New file.
7920         * tests/test-rint-ieee.c: New file.
7921
7922         New module 'rint-ieee'.
7923         * modules/rint-ieee: New file.
7924
7925         Tests for module 'rintf-ieee'.
7926         * modules/rintf-ieee-tests: New file.
7927         * tests/test-rintf-ieee.c: New file.
7928         * tests/test-rint-ieee.h: New file.
7929
7930         New module 'rintf-ieee'.
7931         * modules/rintf-ieee: New file.
7932
7933 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
7934
7935         regex: re_search etc. should return -2 when memory exhausted
7936         This bug was uncovered when testing 'grep'.  Without the fix,
7937         re_search and friends return -1 when memory is exhausted, but -1
7938         means no match, and this causes grep to falsely report no-match
7939         instead of memory-exhaustion.  See
7940         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
7941         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
7942         trouble; this can occur if re_search_internal ran out of memory.
7943
7944 2012-02-26  Bruno Haible  <bruno@clisp.org>
7945
7946         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
7947         * m4/modfl-ieee.m4: New file.
7948         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
7949         whether modfl works with Inf. Replace it if not.
7950         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
7951         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
7952         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
7953         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
7954         (Depends-on): Update dependencies.
7955         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
7956         m4/signbit.m4.
7957         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
7958         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
7959
7960         modfl-ieee: Fix dependencies.
7961         * modules/modfl-ieee (Depends-on): Add modf-ieee.
7962
7963         modfl-ieee: Fix test failures.
7964         * lib/modfl.c (modfl): Treat NaN and Inf specially.
7965         * modules/modfl (Depends-on): Add isfinite, isinf.
7966
7967         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
7968         * m4/modff-ieee.m4: New file.
7969         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
7970         whether modff works with NaN and Inf. Replace it if not.
7971         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
7972         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
7973         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
7974         * modules/modff (configure.ac): Consider REPLACE_MODFF.
7975         (Depends-on): Update dependencies.
7976         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
7977         m4/signbit.m4.
7978         (Depends-on): Add modf-ieee.
7979         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
7980         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
7981
7982         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
7983         * m4/modf-ieee.m4: New file.
7984         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
7985         whether modf works with NaN and Inf. Replace it if not.
7986         * lib/math.in.h (modf): New declaration.
7987         * lib/modf.c: New file.
7988         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
7989         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
7990         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
7991         * modules/modf (Files): Add lib/modf.c.
7992         (Depends-on): Add math, isfinite, trunc, isinf.
7993         (configure.ac): Addrange to compile lib/modf.c if needed.
7994         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
7995         m4/signbit.m4.
7996         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
7997         * tests/test-math-c++.cc: Check the declaration of modf.
7998         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
7999
8000         Tests for module 'modfl-ieee'.
8001         * modules/modfl-ieee-tests: New file.
8002         * tests/test-modfl-ieee.c: New file.
8003
8004         New module 'modfl-ieee'.
8005         * modules/modfl-ieee: New file.
8006
8007         Tests for module 'modf-ieee'.
8008         * modules/modf-ieee-tests: New file.
8009         * tests/test-modf-ieee.c: New file.
8010
8011         New module 'modf-ieee'.
8012         * modules/modf-ieee: New file.
8013
8014         Tests for module 'modff-ieee'.
8015         * modules/modff-ieee-tests: New file.
8016         * tests/test-modff-ieee.c: New file.
8017         * tests/test-modf-ieee.h: New file.
8018
8019         New module 'modff-ieee'.
8020         * modules/modff-ieee: New file.
8021
8022 2012-02-26  Bruno Haible  <bruno@clisp.org>
8023
8024         Tests for module 'fabsl-ieee'.
8025         * modules/fabsl-ieee-tests: New file.
8026         * tests/test-fabsl-ieee.c: New file.
8027
8028         New module 'fabsl-ieee'.
8029         * modules/fabsl-ieee: New file.
8030
8031         Tests for module 'fabs-ieee'.
8032         * modules/fabs-ieee-tests: New file.
8033         * tests/test-fabs-ieee.c: New file.
8034
8035         New module 'fabs-ieee'.
8036         * modules/fabs-ieee: New file.
8037
8038         Tests for module 'fabsf-ieee'.
8039         * modules/fabsf-ieee-tests: New file.
8040         * tests/test-fabsf-ieee.c: New file.
8041         * tests/test-fabs-ieee.h: New file.
8042
8043         New module 'fabsf-ieee'.
8044         * modules/fabsf-ieee: New file.
8045
8046 2012-02-26  Bruno Haible  <bruno@clisp.org>
8047
8048         Tests for module 'fmal-ieee'.
8049         * modules/fmal-ieee-tests: New file.
8050         * tests/test-fmal-ieee.c: New file.
8051
8052         New module 'fmal-ieee'.
8053         * modules/fmal-ieee: New file.
8054
8055         Tests for module 'fma-ieee'.
8056         * modules/fma-ieee-tests: New file.
8057         * tests/test-fma-ieee.c: New file.
8058
8059         New module 'fma-ieee'.
8060         * modules/fma-ieee: New file.
8061
8062         Tests for module 'fmaf-ieee'.
8063         * modules/fmaf-ieee-tests: New file.
8064         * tests/test-fmaf-ieee.c: New file.
8065         * tests/test-fma-ieee.h: New file.
8066
8067         New module 'fmaf-ieee'.
8068         * modules/fmaf-ieee: New file.
8069
8070 2012-02-26  Bruno Haible  <bruno@clisp.org>
8071
8072         Tests for module 'ldexpl-ieee'.
8073         * modules/ldexpl-ieee-tests: New file.
8074         * tests/test-ldexpl-ieee.c: New file.
8075
8076         New module 'ldexpl-ieee'.
8077         * modules/ldexpl-ieee: New file.
8078
8079         Tests for module 'ldexp-ieee'.
8080         * modules/ldexp-ieee-tests: New file.
8081         * tests/test-ldexp-ieee.c: New file.
8082
8083         New module 'ldexp-ieee'.
8084         * modules/ldexp-ieee: New file.
8085
8086         Tests for module 'ldexpf-ieee'.
8087         * modules/ldexpf-ieee-tests: New file.
8088         * tests/test-ldexpf-ieee.c: New file.
8089         * tests/test-ldexp-ieee.h: New file.
8090
8091         New module 'ldexpf-ieee'.
8092         * modules/ldexpf-ieee: New file.
8093
8094 2012-02-26  Bruno Haible  <bruno@clisp.org>
8095
8096         Refactor frexp*-ieee tests.
8097         * tests/test-frexp-ieee.h: New file.
8098         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
8099         (main): Just call test_function.
8100         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
8101         (main): Just call test_function.
8102         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
8103         (main): Just call test_function.
8104         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
8105         * modules/frexp-ieee-tests (Files): Likewise.
8106         * modules/frexpl-ieee-tests (Files): Likewise.
8107
8108         Tests for module 'frexpl-ieee'.
8109         * modules/frexpl-ieee-tests: New file.
8110         * tests/test-frexpl-ieee.c: New file.
8111
8112         New module 'frexpl-ieee'.
8113         * modules/frexpl-ieee: New file.
8114
8115         Tests for module 'frexp-ieee'.
8116         * modules/frexp-ieee-tests: New file.
8117         * tests/test-frexp-ieee.c: New file.
8118
8119         New module 'frexp-ieee'.
8120         * modules/frexp-ieee: New file.
8121
8122         Tests for module 'frexpf-ieee'.
8123         * modules/frexpf-ieee-tests: New file.
8124         * tests/test-frexpf-ieee.c: New file.
8125
8126         New module 'frexpf-ieee'.
8127         * modules/frexpf-ieee: New file.
8128
8129 2012-02-26  Bruno Haible  <bruno@clisp.org>
8130
8131         roundl-ieee tests: More tests.
8132         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
8133         (main): Add tests for [MX] shaded specification in POSIX.
8134         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8135         (Depends-on): Add isnanl-nolibm.
8136
8137         round-ieee tests: More tests.
8138         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
8139         (main): Add tests for [MX] shaded specification in POSIX.
8140         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8141         (Depends-on): Add isnand-nolibm.
8142
8143         roundf-ieee tests: More tests.
8144         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
8145         (main): Add tests for [MX] shaded specification in POSIX.
8146         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8147         (Depends-on): Add isnanf-nolibm.
8148
8149         truncl-ieee tests: More tests.
8150         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
8151         (main): Add tests for [MX] shaded specification in POSIX.
8152         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8153         (Depends-on): Add isnanl-nolibm.
8154
8155         trunc-ieee tests: More tests.
8156         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
8157         (main): Add tests for [MX] shaded specification in POSIX.
8158         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8159         (Depends-on): Add isnand-nolibm.
8160
8161         truncf-ieee tests: More tests.
8162         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
8163         (main): Add tests for [MX] shaded specification in POSIX.
8164         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8165         (Depends-on): Add isnanf-nolibm.
8166
8167         ceill-ieee tests: More tests.
8168         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
8169         (main): Add tests for [MX] shaded specification in POSIX.
8170         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8171         (Depends-on): Add isnanl-nolibm.
8172
8173         ceil-ieee tests: More tests.
8174         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
8175         (main): Add tests for [MX] shaded specification in POSIX.
8176         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8177         (Depends-on): Add isnand-nolibm.
8178
8179         ceilf-ieee tests: More tests.
8180         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
8181         (main): Add tests for [MX] shaded specification in POSIX.
8182         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8183         (Depends-on): Add isnanf-nolibm.
8184
8185         floorl-ieee tests: More tests.
8186         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
8187         (main): Add tests for [MX] shaded specification in POSIX.
8188         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8189         (Depends-on): Add isnanl-nolibm.
8190
8191         floor-ieee tests: More tests.
8192         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
8193         (main): Add tests for [MX] shaded specification in POSIX.
8194         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8195         (Depends-on): Add isnand-nolibm.
8196
8197         floorf-ieee tests: More tests.
8198         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
8199         (main): Add tests for [MX] shaded specification in POSIX.
8200         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8201         (Depends-on): Add isnanf-nolibm.
8202
8203 2012-02-26  Bruno Haible  <bruno@clisp.org>
8204
8205         fpieee: More comments.
8206         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
8207
8208 2012-02-25  Bruno Haible  <bruno@clisp.org>
8209
8210         Tests for module 'log10l'.
8211         * modules/log10l-tests: New file.
8212         * tests/test-log10l.c: New file.
8213         * tests/test-math-c++.cc: Check the declaration of log10l.
8214
8215         New module 'log10l'.
8216         * lib/math.in.h (log10l): New declaration.
8217         * lib/log10l.c: New file.
8218         * m4/log10l.m4: New file.
8219         * modules/log10l: New file.
8220         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
8221         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
8222         HAVE_DECL_LOG10L.
8223         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
8224         HAVE_DECL_LOG10L.
8225         * doc/posix-functions/log10l.texi: Mention the new module.
8226
8227 2012-02-25  Bruno Haible  <bruno@clisp.org>
8228
8229         fmodl, remainder*: Avoid wrong results due to rounding errors.
8230         * lib/fmodl.c (fmodl): Correct the result if it is not within the
8231         expected bounds.
8232         * lib/remainderf.c (remainderf): Likewise.
8233         * lib/remainder.c (remainder): Likewise.
8234         * lib/remainderl.c (remainderl): Likewise.
8235
8236 2012-02-25  Bruno Haible  <bruno@clisp.org>
8237
8238         Tests for module 'remainderl'.
8239         * modules/remainderl-tests: New file.
8240         * tests/test-remainderl.c: New file.
8241         * tests/test-math-c++.cc: Check the declaration of remainderl.
8242
8243         New module 'remainderl'.
8244         * lib/math.in.h (remainderl): New declaration.
8245         * lib/remainderl.c: New file.
8246         * m4/remainderl.m4: New file.
8247         * modules/remainderl: New file.
8248         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
8249         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
8250         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
8251         HAVE_REMAINDERL.
8252         * doc/posix-functions/remainderl.texi: Mention the new module.
8253
8254 2012-02-25  Bruno Haible  <bruno@clisp.org>
8255
8256         Tests for module 'remainderf'.
8257         * modules/remainderf-tests: New file.
8258         * tests/test-remainderf.c: New file.
8259         * tests/test-math-c++.cc: Check the declaration of remainderf.
8260
8261         New module 'remainderf'.
8262         * lib/math.in.h (remainderf): New declaration.
8263         * lib/remainderf.c: New file.
8264         * m4/remainderf.m4: New file.
8265         * modules/remainderf: New file.
8266         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
8267         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
8268         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
8269         HAVE_REMAINDERF.
8270         * doc/posix-functions/remainderf.texi: Mention the new module.
8271
8272 2012-02-25  Bruno Haible  <bruno@clisp.org>
8273
8274         remainder: Support for MSVC.
8275         * lib/math.in.h (remainder): New declaration.
8276         * lib/remainder.c: New file.
8277         * m4/remainder.m4: New file.
8278         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
8279         (Depends-on): Add math, round, fma.
8280         (configure.ac): Use results of gl_FUNC_REMAINDER.
8281         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
8282         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
8283         HAVE_DECL_REMAINDER.
8284         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
8285         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
8286         * tests/test-math-c++.cc: Check the declaration of remainder.
8287         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
8288         problems are fixed.
8289
8290 2012-02-25  Bruno Haible  <bruno@clisp.org>
8291
8292         Tests for module 'fmodl'.
8293         * modules/fmodl-tests: New file.
8294         * tests/test-fmodl.c: New file.
8295         * tests/test-math-c++.cc: Check the declaration of fmodl.
8296
8297         New module 'fmodl'.
8298         * lib/math.in.h (fmodl): New declaration.
8299         * lib/fmodl.c: New file.
8300         * m4/fmodl.m4: New file.
8301         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
8302         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
8303         REPLACE_FMODL.
8304         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
8305         REPLACE_FMODL.
8306         * modules/fmodl: New file.
8307         * doc/posix-functions/fmodl.texi: Mention the new module.
8308
8309 2012-02-25  Bruno Haible  <bruno@clisp.org>
8310
8311         Tests for module 'modfl'.
8312         * modules/modfl-tests: New file.
8313         * tests/test-modfl.c: New file.
8314         * tests/test-math-c++.cc: Check the declaration of modfl.
8315
8316         New module 'modfl'.
8317         * lib/math.in.h (modfl): New declaration.
8318         * lib/modfl.c: New file.
8319         * m4/modfl.m4: New file.
8320         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
8321         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
8322         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
8323         * modules/modfl: New file.
8324         * doc/posix-functions/modfl.texi: Mention the new module.
8325
8326 2012-02-25  Bruno Haible  <bruno@clisp.org>
8327
8328         Tests for module 'fabsl'.
8329         * modules/fabsl-tests: New file.
8330         * tests/test-fabsl.c: New file.
8331         * tests/test-math-c++.cc: Check the declaration of fabsl.
8332
8333         New module 'fabsl'.
8334         * lib/math.in.h (fabsl): New declaration.
8335         * lib/fabsl.c: New file.
8336         * m4/fabsl.m4: New file.
8337         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
8338         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
8339         REPLACE_FABSL.
8340         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
8341         REPLACE_FABSL.
8342         * modules/fabsl: New file.
8343         * doc/posix-functions/fabsl.texi: Mention the new module.
8344
8345 2012-02-25  Bruno Haible  <bruno@clisp.org>
8346
8347         fabs tests: More tests.
8348         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
8349         (zero): New variable.
8350         (main): Add tests for signed zero.
8351         * modules/fabs-tests (Files): Add tests/minus-zero.h.
8352
8353         fabsf tests: More tests.
8354         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
8355         (zero): New variable.
8356         (main): Add tests for signed zero.
8357         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
8358
8359 2012-02-24  Bruno Haible  <bruno@clisp.org>
8360
8361         atanl: Provide function definition on MSVC.
8362         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
8363         function pointer.
8364         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
8365
8366 2012-02-24  Bruno Haible  <bruno@clisp.org>
8367
8368         acosl: Provide function definition on MSVC.
8369         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
8370         function pointer.
8371         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
8372
8373 2012-02-24  Bruno Haible  <bruno@clisp.org>
8374
8375         asinl: Provide function definition on MSVC.
8376         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
8377         function pointer.
8378         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
8379
8380 2012-02-24  Bruno Haible  <bruno@clisp.org>
8381
8382         tanl: Provide function definition on MSVC.
8383         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
8384         function pointer.
8385         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
8386
8387 2012-02-24  Bruno Haible  <bruno@clisp.org>
8388
8389         cosl: Provide function definition on MSVC.
8390         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
8391         function pointer.
8392         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
8393
8394 2012-02-24  Bruno Haible  <bruno@clisp.org>
8395
8396         sinl: Provide function definition on MSVC.
8397         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
8398         function pointer.
8399         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
8400
8401 2012-02-24  Bruno Haible  <bruno@clisp.org>
8402
8403         logl: Provide function definition on MSVC.
8404         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
8405         function pointer.
8406         * lib/math.in.h (logl): Undefine if it does not exist as a function.
8407
8408 2012-02-24  Bruno Haible  <bruno@clisp.org>
8409
8410         expl: Provide function definition on MSVC.
8411         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
8412         function pointer.
8413         * lib/math.in.h (expl): Undefine if it does not exist as a function.
8414
8415 2012-02-24  Bruno Haible  <bruno@clisp.org>
8416
8417         sqrtl: Provide function definition on MSVC.
8418         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
8419         a function pointer.
8420         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
8421
8422 2012-02-24  Bruno Haible  <bruno@clisp.org>
8423
8424         ceill: Provide function definition on MSVC.
8425         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
8426         used as a function pointer.
8427         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
8428
8429 2012-02-24  Bruno Haible  <bruno@clisp.org>
8430
8431         floorl: Provide function definition on MSVC.
8432         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
8433         used as a function pointer.
8434         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
8435
8436 2012-02-24  Bruno Haible  <bruno@clisp.org>
8437
8438         ceilf: Provide function definition on MSVC.
8439         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
8440         used as a function pointer.
8441         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
8442
8443 2012-02-24  Bruno Haible  <bruno@clisp.org>
8444
8445         floorf: Provide function definition on MSVC.
8446         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
8447         used as a function pointer.
8448         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
8449
8450 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
8451
8452         stdnoreturn: new module
8453         This implements a replacement for C11's <stdnoreturn.h>.
8454         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
8455         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
8456         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
8457         * tests/test-stdnoreturn.c: New files.
8458
8459 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
8460
8461         regex: fix false multibyte matches in some regular expressions
8462         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
8463         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
8464         * lib/regex_internal.c (re_string_skip_chars):
8465         Fix miscomputation of remain_len that may cause incomplete
8466         multi-byte character and false match.
8467
8468 2012-02-24  Jim Meyering  <meyering@redhat.com>
8469
8470         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
8471         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
8472         uses with "==" *before* the call, e.g., 0 == strcmp (...)
8473         Remove now-unnecessary str''cmp obfuscation.
8474         Suggested by Akim Demaille.
8475
8476 2012-02-24  Bruno Haible  <bruno@clisp.org>
8477
8478         streq: Rename macro.
8479         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
8480         * NEWS: Mention the change.
8481         * lib/mbrtowc.c (mbrtowc): Update.
8482         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
8483         * lib/wcwidth.c (wcwidth): Update.
8484         Suggested by Akim Demaille and Jim Meyering.
8485
8486 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
8487
8488         regex: fix typo in definition of MIN
8489         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
8490         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
8491
8492 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
8493             Bruno Haible  <bruno@clisp.org>
8494
8495         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
8496         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
8497         entries into a stack-allocated buffer directly.
8498         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
8499
8500 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
8501             Bruno Haible  <bruno@clisp.org>
8502
8503         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
8504
8505          - There were several instances of this pattern:
8506
8507              for (;;) {
8508                n = acl (f, GETACLCNT, 0, NULL);
8509                [ allocate an array A of size N ]
8510                if (acl (f, GETACL, n, a) == n)
8511                  break;
8512              }
8513
8514            This loop might never terminate if some other process is constantly
8515            manipulating the file's ACL.  The loop should be rewritten to
8516            terminate.
8517
8518          - The acl (... GETACLNT ...) call is merely an optimization; its value
8519            is merely a hint as to how big to make the array.  A better
8520            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
8521            and just guess a reasonably-big size, growing the size and trying
8522            again if it's not large enough.  This guarantees termination, and
8523            saves a system call.
8524
8525         * lib/acl-internal.h: Include <limits.h>.
8526         (MIN, SIZE_MAX): New macros.
8527         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
8528         a stack-allocated buffer, and use malloc if it does not fit. Don't
8529         use GETACLCNT.
8530         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
8531
8532 2012-02-19  Bruno Haible  <bruno@clisp.org>
8533
8534         acl: Fix endless loop on Solaris with vxfs.
8535         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
8536         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
8537         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
8538         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
8539         * tests/test-sameacls.c (main)[Solaris]: Likewise.
8540         Reported by Bill Jones in
8541         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
8542
8543 2012-02-19  Bruno Haible  <bruno@clisp.org>
8544
8545         acl: Fix copy-acl test failure on Solaris 11 2011-11.
8546         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
8547         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
8548         that this function returns 0 in some more cases.
8549
8550 2012-02-19  Bruno Haible  <bruno@clisp.org>
8551
8552         acl: Update doc references.
8553         * doc/acl-resources.txt: Update links to Solaris documentation.
8554
8555 2012-02-19  Bruno Haible  <bruno@clisp.org>
8556
8557         Fix test failure in many locales on Solaris 11.
8558         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
8559         'tr' arguments.
8560         * tests/test-pipe-filter-ii1.c (main): Likewise.
8561         * build-aux/bootstrap (check_versions): Run 'tr' command with range
8562         expressions in the C locale.
8563         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
8564         * m4/host-os.m4 (gl_HOST_OS): Likewise.
8565
8566 2012-02-19  Bruno Haible  <bruno@clisp.org>
8567
8568         gnulib-tool: Improve usage message.
8569         * gnulib-tool (func_usage): Move doc of --help and --version to the
8570         section "Operation modes".
8571
8572 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
8573
8574         README-release: make it easier to execute commands
8575         * top/README-release: break commands out on to separate lines.
8576
8577 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
8578
8579         GNUmakefile: simplify detection of unconfigured trees
8580         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
8581         whether the tree make is being run from is already configured or
8582         not.  Related simplifications.
8583
8584 2012-02-13  Simon Josefsson  <simon@josefsson.org>
8585
8586         * gnulib-tool (func_usage): Document --help and --version.
8587
8588 2012-02-11  Jim Meyering  <meyering@redhat.com>
8589
8590         bootstrap: don't exit 0 upon gnulib-tool failure
8591         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
8592         its exit status, not 0.
8593
8594 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
8595
8596         README-release: various improvements
8597         * top/README-release: Give a command to push changes for the
8598         release.  Add "distcheck" to list of other pre-release checks.
8599         Fix instance of "make stable" which should be "make TYPE".
8600
8601 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
8602
8603         maint: replace FSF snail-mail addresses with URLs
8604         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
8605         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
8606         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
8607         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
8608         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
8609         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
8610         * lib/check-version.c, lib/check-version.h, lib/config.charset:
8611         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
8612         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
8613         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
8614         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
8615         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
8616         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
8617         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
8618         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
8619         * lib/glthread/thread.c, lib/glthread/thread.h:
8620         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
8621         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
8622         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
8623         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
8624         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
8625         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
8626         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
8627         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
8628         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
8629         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
8630         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
8631         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
8632         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
8633         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
8634         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
8635         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
8636         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
8637         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
8638         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
8639         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
8640         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
8641         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
8642         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
8643         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
8644         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
8645         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
8646         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
8647         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
8648         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
8649         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
8650         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
8651         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
8652         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
8653         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
8654         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
8655         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
8656         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
8657         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
8658         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
8659         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
8660         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
8661         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
8662         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
8663         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
8664         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
8665         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
8666         * tests/test-poll.c, tests/test-quotearg-simple.c:
8667         * tests/test-quotearg.c, tests/test-quotearg.h:
8668         * tests/test-round-ieee.c, tests/test-round1.c:
8669         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
8670         * tests/test-roundl-ieee.c, tests/test-roundl.c:
8671         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
8672         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
8673         * tests/test-strerror.c, tests/test-strerror_r.c:
8674         * tests/test-strsignal.c, tests/test-strverscmp.c:
8675         * tests/test-xmemdup0.c:
8676         Replace FSF snail mail addresses with URLs, as per GNU coding
8677         standards.  See glibc bug
8678         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
8679
8680 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
8681
8682         README-release: capitalize a word and split a line
8683         * top/README-release: Fix punctuation and spacing.
8684
8685 2012-02-08  Akim Demaille  <demaille@gostai.com>
8686
8687         fatal-signal: use C prototypes (with explicit void).
8688         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
8689         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
8690
8691 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8692
8693         regex: spelling fix
8694         * lib/regexec.c: spelling fix
8695
8696         regex: rely on stdint.h for SIZE_MAX
8697         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
8698
8699 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8700
8701         regex: merge glibc changes
8702
8703         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
8704         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
8705         (init_word_char): Work even if bitset words are not exactly 32 or
8706         64 bits wide.  Don't assume there are no padding bits.
8707         * lib/regex.c [_LIBC]: Do not include <config.h>.
8708         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
8709         and -Wtype-limits.
8710         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
8711         needless disagreement with glibc.  All uses changed.  Define it to
8712         1 only if _GNU_SOURCE, to match glibc.
8713         (_REG_RM_NAME): Remove; no longer needed, since the names in
8714         question are now all protected by __USE_GNU.
8715         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
8716         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
8717         * lib/regex_internal.h (MIN): New macro.
8718
8719         2012-01-03 Ulrich Drepper <drepper@gmail.com>
8720         * lib/regcomp.c (init_word_char): Optimize regex a bit.
8721
8722         2011-12-30 Jakub Jelinek <jakub@redhat.com>
8723         * lib/regex_internal.c (re_string_fetch_byte_case):
8724         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
8725         is miscompiled, and it turns out it is because of an incorrect
8726         attribute on re_string_fetch_byte_case.  Unlike
8727         re_string_peek_byte_case, this one is really not pure, it modifies
8728         memory (increments pstr->cur_idx), and with the pure attribute GCC
8729         assumed it doesn't and it cached the presumed value of
8730         regexp->cur_idx in a variable across the
8731          for (;; ++i)
8732            {
8733              if (i >= BRACKET_NAME_BUF_SIZE)
8734                return REG_EBRACK;
8735              if (token->type == OP_OPEN_CHAR_CLASS)
8736                ch = re_string_fetch_byte_case (regexp);
8737              else
8738                ch = re_string_fetch_byte (regexp);
8739              if (re_string_eoi(regexp))
8740                return REG_EBRACK;
8741              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
8742                break;
8743              elem->opr.name[i] = ch;
8744            }
8745
8746         2011-11-29 Andreas Schwab <schwab@redhat.com>
8747         * lib/regcomp.c (build_equiv_class):
8748         Fix access after end of search string in regex matcher.
8749
8750         2011-11-12 Ulrich Drepper <drepper@redhat.com>
8751         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
8752
8753         2011-10-12 Ulrich Drepper <drepper@redhat.com>
8754         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
8755
8756         2011-10-11 Ulrich Drepper <drepper@redhat.com>
8757         * lib/regcomp.c (parse_branch, parse_sub_exp):
8758         More regex memory leak fixes and tests.
8759         (parse_sub_exp, parse_bracket_exp):
8760         Fix memory leak for some invalid regular expressions.
8761
8762         2011-05-28 Ulrich Drepper <drepper@gmail.com>
8763         * lib/regex_internal.c, lib/regexec.c:
8764         Fix unnecessary overallocation due to incomplete character.  When
8765         incomplete characters are found at the end of a string the code
8766         ran amok and allocated lots of memory.  Stricter limits are now in
8767         place.
8768
8769         2011-05-20 Reuben Thomas <rrt@sc3d.org>
8770         * lib/regex.h: Update documentation.
8771
8772         2011-05-16 Aharon Robbins <arnold@skeeve.com>
8773         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
8774
8775         2010-05-05 Andreas Schwab <schwab@redhat.com>
8776         * lib/regexec.c (find_collation_sequence_value):
8777         Fix lookup of collation sequence value during regexp matching.
8778
8779         2010-01-22 Ulrich Drepper <drepper@redhat.com>
8780         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
8781
8782         2008-01-16 Ulrich Drepper <drepper@redhat.com>
8783         * lib/regex.h: Cleanup namespace.
8784
8785         2007-11-26 Ulrich Drepper <drepper@redhat.com>
8786         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
8787
8788         2007-08-26 Ulrich Drepper <drepper@redhat.com>
8789         * lib/regex_internal.h: Prevent some declarations and definitions
8790         to be seen when used in tests.
8791
8792         2005-05-06 Ulrich Drepper <drepper@redhat.com>
8793         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
8794         __libc_lock_* macros if not _LIBC.
8795         (struct re_dfa_t): Add lock.
8796
8797 2012-02-07  Eric Blake  <eblake@redhat.com>
8798
8799         maint.mk: also prohibit lower-case @var@
8800         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
8801         lower case, like @top_srcdir@.
8802
8803 2012-02-04  Eric Blake  <eblake@redhat.com>
8804
8805         canonicalize: avoid uninitialized memory use
8806         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
8807         random '/' left in dest.
8808         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
8809
8810 2012-02-04  Bruno Haible  <bruno@clisp.org>
8811
8812         isatty: Fix test failure of ptsname_r on native Windows.
8813         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
8814         and don't set errno.
8815         (isatty): Test first whether fd is valid. Set errno when returning 0.
8816
8817 2012-02-04  Bruno Haible  <bruno@clisp.org>
8818
8819         spawn-pipe tests: Fix a NULL program name in a diagnostic.
8820         * tests/test-spawn-pipe-main.c: Include progname.h.
8821         (main): Invoke set_program_name.
8822         * modules/spawn-pipe-tests (Depends-on): Add progname.
8823
8824         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
8825         * tests/test-nonblocking-socket-main.c: Include progname.h.
8826         (main): Invoke set_program_name.
8827         * modules/nonblocking-socket-tests (Depends-on): Add progname.
8828
8829         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
8830         * tests/test-nonblocking-pipe-main.c: Include progname.h.
8831         (main): Invoke set_program_name.
8832         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
8833
8834 2012-02-04  Eric Blake  <eblake@redhat.com>
8835
8836         canonicalize-lgpl: fix // handling
8837         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
8838
8839         canonicalize: fix // handling
8840         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
8841         /// to //, since only // is special.
8842
8843 2012-02-04  Bruno Haible  <bruno@clisp.org>
8844
8845         ioctl: Fix test failure on native Windows.
8846         * lib/ioctl.c: Include msvc-nothrow.h.
8847         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
8848
8849 2012-02-04  Bruno Haible  <bruno@clisp.org>
8850
8851         fsync: Avoid test failure on native Windows.
8852         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
8853         read-only.
8854
8855 2012-02-04  Bruno Haible  <bruno@clisp.org>
8856
8857         sys_select: Avoid syntax error on OpenBSD 5.0.
8858         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
8859         currently being included, just include the system's <sys/select.h>.
8860
8861 2012-02-04  Bruno Haible  <bruno@clisp.org>
8862
8863         sys_select: Avoid syntax error on OpenBSD 5.0.
8864         * lib/sys_select.in.h: Include <signal.h> only after the include_next
8865         <sys/select.h>, not before.
8866         Reported by Jiri B <jirib@devio.us>.
8867
8868 2012-02-04  Bruno Haible  <bruno@clisp.org>
8869
8870         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
8871         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
8872         global variables.
8873         * tests/test-get-rusage-data.c (main): Likewise.
8874         Reported by Jim Meyering.
8875
8876 2012-02-04  Bruno Haible  <bruno@clisp.org>
8877
8878         stdioext: Fix last commit.
8879         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
8880
8881 2012-02-03  Bruno Haible  <bruno@clisp.org>
8882
8883         stdioext: Add tentative support for Plan9.
8884         * lib/stdio-impl.h: Include <errno.h>.
8885         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
8886         * lib/freadable.c (freadable): Likewise.
8887         * lib/fwritable.c (fwritable): Likewise.
8888         * lib/fbufmode.c (fbufmode): Likewise.
8889         * lib/freading.c (freading): Likewise.
8890         * lib/fwriting.c (fwriting): Likewise.
8891         * lib/freadptr.c (freadptr): Likewise.
8892         * lib/freadseek.c (freadptrinc): Likewise.
8893         * lib/freadahead.c (freadahead): Likewise.
8894         * lib/fpurge.c (fpurge): Likewise.
8895         * lib/fseeko.c (rpl_fseeko): Likewise.
8896         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
8897         Reported by Jens Staal <staal1978@gmail.com>.
8898
8899 2012-02-02  Jim Meyering  <meyering@redhat.com>
8900
8901         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
8902         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
8903         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
8904         not even to try to add the attribute.  Instead, add a pragma to suppress
8905         the suggestion/warning.
8906
8907 2012-01-31  Karl Berry  <karl@gnu.org>
8908
8909         setstate doc: typo.
8910         * doc/posix-functions/setstate.texi (setstate): { not (.
8911
8912 2012-01-31  Bruno Haible  <bruno@clisp.org>
8913
8914         popen: Make more robust on Windows.
8915         * lib/popen.c: On native Windows, use the _popen based code even if
8916         HAVE_POPEN is set.
8917         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
8918         environment variable on native Windows.
8919
8920 2012-01-30  Bruno Haible  <bruno@clisp.org>
8921
8922         pclose: Fix typo.
8923         * lib/stdio.in.h (pclose): Fix typo in warning message.
8924
8925 2012-01-30  Bruno Haible  <bruno@clisp.org>
8926
8927         doc about getlogin_r, setstate.
8928         * doc/posix-functions/getlogin_r.texi: List the incompatible
8929         declaration problem under "not fixed by gnulib".
8930         * doc/posix-functions/setstate.texi: Mention incompatible declaration
8931         problem on Solaris 11 and other platforms.
8932
8933 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
8934             Bruno Haible  <bruno@clisp.org>
8935
8936         poll tests: Make test more robust.
8937         * tests/test-poll.c: Include macros.h.
8938         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
8939         return value of various I/O operations.
8940         * modules/poll-tests (Files): Add tests/macros.h.
8941
8942 2012-01-30  Bruno Haible  <bruno@clisp.org>
8943
8944         sys_stat: Fix support for mingw64 and MSVC.
8945         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
8946         header files already do it.
8947         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
8948         stat itself.
8949         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8950
8951 2012-01-30  Bruno Haible  <bruno@clisp.org>
8952
8953         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
8954         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
8955         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
8956
8957 2012-01-29  Bruno Haible  <bruno@clisp.org>
8958
8959         quotearg: Fix test failure on MacOS X 10.5.
8960         * tests/test-quotearg-simple.c: Include localcharset.h.
8961         (main): If the locale encoding is not ASCII, bypass the tests of
8962         locale_quoting_style and clocale_quoting_style.
8963         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
8964
8965 2012-01-29  Jim Meyering  <meyering@redhat.com>
8966
8967         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
8968         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
8969         detect uses of canonicalize_file_name.
8970
8971 2012-01-28  Bruno Haible  <bruno@clisp.org>
8972
8973         test-framework-sh: Fix test failure with AIX 7.1 diff.
8974         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
8975         in column 1, like 'diff -c' does.
8976         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
8977         whether 'diff -u' is used. Instead, test whether the output contains
8978         some '@' character.
8979
8980 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
8981
8982         strtoimax: eliminate need for stdint.h, inttypes.h checks
8983         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
8984         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
8985         the prerequisites for a recently-introduced strtoimax test.
8986         I guess this might cause strtoimax to be replaced when not
8987         strictly necessary on older hosts, but this shouldn't introduce
8988         any bugs and it should make Emacs 'configure' faster on typical
8989         modern hosts.  Problem discovered when importing the latest gnulib
8990         to an Emacs test version.
8991         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
8992
8993 2012-01-28  Bruno Haible  <bruno@clisp.org>
8994
8995         sys_time: Override 'struct timeval' on some native Windows platforms.
8996         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
8997         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
8998         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
8999         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
9000         needs to be overridden.
9001         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
9002         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
9003         * tests/test-sys_select.c: Check that the tv_sec member has the same
9004         size as a 'time_t'.
9005         * tests/test-sys_time.c: Likewise.
9006         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
9007         is set, set also REPLACE_GETTIMEOFDAY.
9008         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
9009         convert the resulting 'struct timeval' before returning.
9010         * lib/select.c: Include <sys/time.h>.
9011         (select, timeval): Undefine at the right place.
9012         * modules/select (Depends-on): Add sys_time.
9013         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
9014         some Windows platforms.
9015         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
9016
9017 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
9018
9019         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
9020         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
9021         an integer.
9022         * lib/fcntl.c (dupfd): Likewise.
9023         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
9024
9025 2012-01-28  Bruno Haible  <bruno@clisp.org>
9026
9027         fcntl: Avoid compilation error on native Windows.
9028         * modules/fcntl (Depends-on): Add 'close'.
9029
9030 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
9031
9032         select, poll, isatty: Avoid warnings on x86_64 mingw64.
9033         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
9034         pointer to an integer.
9035         * lib/poll.c (IsConsoleHandle): Likewise.
9036         * lib/isatty.c (IsConsoleHandle): Likewise.
9037
9038 2012-01-28  Jim Meyering  <meyering@redhat.com>
9039
9040         doc: clarify README-release
9041         * top/README-release: Clarify: you should make a point to have
9042         the latest stable versions of build tools in your PATH, and the
9043         reference to buildreq is solely for its list of tool names, not
9044         for its minimal-functional version numbers.
9045         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
9046
9047         maint.mk: use more readable (yet functionally equivalent) quoting
9048         It is common to quote a single quote in a single quoted string like
9049         this:  '...'\''...'.  Unless you know the idiom, that looks like
9050         gibberish, so prefer to double-quote the string when possible.
9051         Then you can use a more readable, lone single quote: "...'..."
9052         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
9053         "don't" is more readable than the equivalent 'don'\''t'.
9054         (sc_cast_of_x_alloc_return_value): Likewise.
9055         (sc_cast_of_alloca_return_value): Likewise.
9056         (sc_makefile_path_separator_check): Similar: use ":" in '...',
9057         rather than '\'':'\''.
9058
9059 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
9060
9061         stdalign: relax _Alignof and tighten _Alignas test
9062         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
9063         as it was too strict: alignof must divide offsetof, but it need
9064         not equal offsetof.  Inspired by Joseph S. Myers's comment
9065         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
9066         Conversely, tighten the _Alignas test a bit, as the resulting
9067         alignment must be exactly 8.
9068
9069 2012-01-27  Bruno Haible  <bruno@clisp.org>
9070
9071         stdalign: Document the last change.
9072         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
9073
9074 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
9075
9076         stdalign: check that alignof and offsetof are consistent
9077         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
9078         Problem reported for gnulib by Richard W.M. Jones in
9079         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
9080
9081 2012-01-27  Jim Meyering  <meyering@redhat.com>
9082
9083         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
9084         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
9085         convert a sequence with gaps to the minimal containing range.
9086         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
9087         * tests/test-update-copyright.sh: Test for this.
9088         The FSF confirmed it is ok to do this, assuming there is at
9089         least one significant change per year in the affected range:
9090         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
9091
9092 2012-01-26  Bruno Haible  <bruno@clisp.org>
9093
9094         pipe2: refine doc about thread-safety
9095         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
9096         multithread-safety problem.
9097         * doc/glibc-functions/accept4.texi: Likewise.
9098
9099 2012-01-26  Bruno Haible  <bruno@clisp.org>
9100
9101         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
9102         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
9103         In the test program, include <fcntl.h>, for O_RDONLY.
9104
9105 2012-01-26  Eric Blake  <eblake@redhat.com>
9106
9107         pipe2: document lack of thread-safety in replacement
9108         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
9109         issue in replacement.
9110         * doc/glibc-functions/accept4.texi (accept4): Likewise.
9111         Based on a report by Eric Wong.
9112
9113 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
9114             Bruno Haible  <bruno@clisp.org>
9115
9116         malloca: Avoid warnings on x86_64 mingw64.
9117         * lib/malloca.c: Include <stdint.h>.
9118         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
9119         * modules/malloca (Depends-on): Add stdint.
9120         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
9121
9122 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
9123
9124         obstack: remove __STDC__ conditionals
9125         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
9126         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
9127         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
9128         m4/include_next.m4 as the only gnulib-maintained places that still
9129         refer to __STDC__.
9130
9131 2012-01-24  Bruno Haible  <bruno@clisp.org>
9132
9133         havelib: Modern quoting.
9134         * build-aux/config.rpath: Quote 'like this', not `like this', as per
9135         the recent change to the GNU coding standards.
9136
9137 2012-01-24  Bruno Haible  <bruno@clisp.org>
9138
9139         stdint: Improve support for Android.
9140         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
9141         Reported by Simon Josefsson <simon@josefsson.org>.
9142
9143 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
9144
9145         doc: omit trailing empty lines from INSTALL etc.
9146         * doc/Makefile (INSTALL): Omit trailing empty lines.
9147         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
9148         omit trailing empty lines.  This simplifies the build procedure.
9149
9150 2012-01-23  Jim Meyering  <meyering@redhat.com>
9151
9152         tests: avoid spurious warnings about gl_sockets_startup
9153         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
9154         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
9155         reporting a "statement with no effect".
9156         * tests/test-accept.c (main): Mark as "(void)".
9157         * tests/test-accept4.c (main): Likewise.
9158         * tests/test-bind.c (main): Likewise.
9159         * tests/test-connect.c (main): Likewise.
9160         * tests/test-getpeername.c (main): Likewise.
9161         * tests/test-getsockname.c (main): Likewise.
9162         * tests/test-getsockopt.c (main): Likewise.
9163         * tests/test-listen.c (main): Likewise.
9164         * tests/test-recv.c (main): Likewise.
9165         * tests/test-recvfrom.c (main): Likewise.
9166         * tests/test-send.c (main): Likewise.
9167         * tests/test-sendto.c (main): Likewise.
9168         * tests/test-setsockopt.c (main): Likewise.
9169         * tests/test-shutdown.c (main): Likewise.
9170
9171 2012-01-21  Bruno Haible  <bruno@clisp.org>
9172
9173         locale-fr.m4: Fix for Android.
9174         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
9175         failure of the test program on Bionic libc.
9176
9177 2012-01-21  Jim Meyering  <meyering@redhat.com>
9178
9179         bootstrap: fail when bootstrap_post_import_hook fails
9180         Otherwise, it's far too easy to miss diagnostics emitted
9181         between gnulib-tool's output and that of running configure.
9182         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
9183
9184 2012-01-17  Jim Meyering  <meyering@redhat.com>
9185
9186         maint: enable sc_trailing_blank
9187         * build-aux/pmccabe.css: Remove trailing blanks.
9188         * doc/acl-cygwin.txt: Likewise.
9189         * doc/gnu-oids.texi: Likewise
9190         * cfg.mk: Enable sc_trailing_blank.
9191         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
9192
9193 2012-01-17  Jim Meyering  <meyering@redhat.com>
9194
9195         maint: enable sc_prohibit_openat_without_use
9196         * cfg.mk: Enable sc_prohibit_openat_without_use.
9197         Exempt lib/selinux-at.c.
9198
9199 2012-01-17  Jim Meyering  <meyering@redhat.com>
9200
9201         maint: enable sc_prohibit_cloexec_without_use
9202         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
9203         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
9204
9205 2012-01-17  Jim Meyering  <meyering@redhat.com>
9206
9207         maint: enable sc_prohibit_intprops_without_use
9208         * cfg.mk: Enable sc_prohibit_intprops_without_use
9209         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
9210
9211 2012-01-17  Jim Meyering  <meyering@redhat.com>
9212
9213         maint: enable sc_prohibit_hash_pjw_without_use
9214         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
9215         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
9216         to match any use of \<hash_pjw\>, i.e., not necessarily with a
9217         following " (".
9218
9219 2012-01-17  Jim Meyering  <meyering@redhat.com>
9220
9221         maint: enable double-word-prohibiting rule
9222         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
9223         Exempt three files.
9224
9225 2012-01-17  Jim Meyering  <meyering@redhat.com>
9226
9227         maint: remove empty lines at EOF, but excluding modules/*
9228         Apply syntax rules at home as well as abroad.  Most changes
9229         were induced by running this:
9230           make srcdir=. _build-aux=build-aux -f top/maint.mk \
9231             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
9232             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
9233         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
9234         Exempt modules/* and two binary files.
9235         Also exempt doc/INSTALL*, per request from Bruno Haible.
9236         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
9237         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
9238         * doc/Copyright/request-assign.future: Likewise.
9239         * doc/Copyright/request-disclaim.changes: Likewise.
9240         * doc/INSTALL: Likewise.
9241         * doc/INSTALL.ISO: Likewise.
9242         * doc/INSTALL.UTF-8: Likewise.
9243         * doc/acl-cygwin.txt: Likewise.
9244         * doc/acl-resources.txt: Likewise.
9245         * doc/fdl-1.2.texi: Likewise.
9246         * doc/fdl-1.3.texi: Likewise.
9247         * doc/fdl.texi: Likewise.
9248         * lib/argp-pin.c: Likewise.
9249         * lib/round.c: Likewise.
9250         * lib/unicase/u16-totitle.c: Likewise.
9251         * lib/unictype/block_test.c: Likewise.
9252         * lib/uninorm/canonical-decomposition.c: Likewise.
9253         * m4/README: Likewise.
9254         * m4/relocatable-lib.m4: Likewise.
9255         * tests/test-isnand-nolibm.c: Likewise.
9256         * tests/test-isnand.c: Likewise.
9257         * tests/uninorm/NormalizationTest.txt: Likewise.
9258
9259 2012-01-17  Jim Meyering  <meyering@redhat.com>
9260
9261         maint: add framework to run syntax-check rules against gnulib sources
9262         * cfg.mk: New file, to disable all currently-failing tests.
9263         We'll enable them one by one, as they are made to pass.
9264         * Makefile (sc_maint): New rule.
9265
9266 2012-01-21  Bruno Haible  <bruno@clisp.org>
9267
9268         stdint: Add support for Android.
9269         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
9270         include the system's <stdint.h>.
9271         Reported by Simon Josefsson <simon@josefsson.org>.
9272
9273 2012-01-19  Jim Meyering  <meyering@redhat.com>
9274
9275         bootstrap: add bootstrap_post_import_hook
9276         Bison does still need something like the gnulib_mk_hook whose
9277         invocation I had to remove along with slurp in commit 767ccd40.
9278         Technically, we could get along without it, but doing so would
9279         have required living with a warning and a mandatory post-bootstrap
9280         automake rerun.
9281         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
9282         (bootstrap_post_import_hook): New function.
9283         Invoke it after gnulib-tool --import and before autoreconf.
9284
9285 2012-01-18  Jim Meyering  <meyering@redhat.com>
9286
9287         gitlog-to-changelog: don't use "no_"-prefixed variable name
9288         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
9289         to enable both --cluster and --no-cluster.  Change variable name,
9290         s/\$no_cluster/$cluster/, and reverse usage to match.
9291
9292         gitlog-to-changelog: use "||", not "or" in expressions
9293         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
9294         expressions.
9295
9296 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
9297
9298         gitlog-to-changelog: new option --no-cluster
9299         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
9300         clustering of adjacent commit messages.
9301
9302 2012-01-17  Jim Meyering  <meyering@redhat.com>
9303
9304         maint: spell file systems with two words, not one
9305         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
9306         two words, not one.
9307
9308 2012-01-16  Jim Meyering  <meyering@redhat.com>
9309
9310         bootstrap: add a FIXME comment to ensure we eventually remove the hack
9311         * build-aux/bootstrap (gnulib_tool_options): Add comment.
9312
9313 2012-01-16  Eric Blake  <eblake@redhat.com>
9314
9315         bootstrap: cater to autoconf 2.59
9316         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
9317         is not available.
9318
9319         bootstrap: properly check for libtool
9320         * build-aux/bootstrap (libtoolize): Also run libtool when older
9321         usage is detected.
9322
9323 2012-01-15  Bruno Haible  <bruno@clisp.org>
9324
9325         Improve support for MSVC 9.
9326         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
9327         clashes on MSVC.
9328         * lib/fcntl.in.h: Likewise.
9329         * lib/stdlib.in.h: Likewise.
9330         * lib/sys_stat.in.h: Likewise.
9331
9332 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
9333
9334         gnupload: we hold the master copy of this script now
9335         For motivation and more information, see:
9336         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
9337         * build-aux/gnupload: Make it clear in the heading comments that the
9338         master copy of this file is maintained by gnulib.  Since we are at
9339         it, bump its copyright year and ...
9340         ($scriptversion): ... the date in its version.
9341         ($usage): Patches and bug reports should be sent to the gnulib list,
9342         not the automake one.
9343         * config/srclist.txt: Don't try to sync 'gnupload' from automake
9344         anymore.
9345
9346 2012-01-15  Bruno Haible  <bruno@clisp.org>
9347
9348         Fix module 'random'.
9349         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
9350         initstate, setstate are declared.
9351
9352 2012-01-14  Bruno Haible  <bruno@clisp.org>
9353
9354         Tests for module 'random'.
9355         * modules/random-tests: New file.
9356         * tests/test-random.c: New file, based on tests/test-random_r.c.
9357
9358         New module 'random'.
9359         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
9360         declarations.
9361         * lib/random.c: New file, based on glibc/stdlib/random.c.
9362         * m4/random.m4: New file.
9363         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
9364         HAVE_RANDOM.
9365         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
9366         * modules/random: New file.
9367         * config/srclist.txt: Add an entry for random.c.
9368         * doc/posix-functions/random.texi: Mention the 'random' module.
9369         * doc/posix-functions/initstate.texi: Likewise.
9370         * doc/posix-functions/setstate.texi: Likewise.
9371         * doc/posix-functions/srandom.texi: Likewise.
9372
9373 2012-01-12  Bruno Haible  <bruno@clisp.org>
9374
9375         random_r: Use common idioms.
9376         * lib/random_r.c: Include <stdlib.h> first.
9377
9378         random_r: Override incompatible API on AIX, OSF/1.
9379         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
9380         Override the system function if REPLACE_RANDOM_R is 1.
9381         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
9382         and OSF/1, set REPLACE_RANDOM_R.
9383         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
9384         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
9385         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
9386         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
9387         * doc/glibc-functions/random_r.texi: Likewise.
9388         * doc/glibc-functions/setstate_r.texi: Likewise.
9389
9390         random_r: Support for MSVC 9.
9391         * lib/random_r.c: Include stdint.h, not inttypes.h.
9392
9393 2012-01-12  Eric Blake  <eblake@redhat.com>
9394
9395         inet_ntop: guard extra work by IF_LINT
9396         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
9397         better code generation when not checking for warnings.
9398         Suggested by Paul Eggert and Jim Meyering.
9399
9400         strptime: fix regression on mingw
9401         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
9402         Fix regression.  Reported by Bruno Haible.
9403
9404 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
9405             Bruno Haible  <bruno@clisp.org>
9406
9407         copy-file: add error-code-returning variant.
9408         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
9409         (qcopy_file_preserving): New declaration.
9410         * lib/copy-file.c (qcopy_file_preserving): Renamed from
9411         copy_file_preserving. Change return type to 'int'. Don't emit an error
9412         message here.
9413         (copy_file_preserving): New function.
9414         * tests/test-copy-file.c: Include <stdlib.h>.
9415         (main): Test qcopy_file_preserving if the environment variable
9416         NO_STDERR_OUTPUT is set.
9417         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
9418         with NO_STDERR_OUTPUT
9419         * tests/test-copy-file-2.sh: Likewise.
9420
9421 2012-01-10  Bruno Haible  <bruno@clisp.org>
9422
9423         copy-file: Use 'quote' module consistently.
9424         * lib/copy-file.c (copy_file_preserving): Use quote().
9425
9426         copy-file: Refactor.
9427         * lib/copy-file.c: Include quote.h.
9428         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
9429         message here.
9430         * modules/copy-file (Depends-on): Add quote.
9431
9432         acl: Export qcopy_acl.
9433         * lib/acl.h (qcopy_acl): New declaration.
9434         * lib/copy-acl.c (qcopy_acl): Make non-static.
9435
9436         acl: Rename a local variable.
9437         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
9438
9439         acl: Align return values of copy_acl and qcopy_acl.
9440         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
9441         maybe < -1.
9442
9443 2012-01-11  Eric Blake  <eblake@redhat.com>
9444
9445         strptime: silence gcc warnings
9446         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
9447         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
9448         Reported by Daniel P. Berrange.
9449
9450         inet_ntop: silence gcc warning
9451         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
9452         Reported by Daniel P. Berrange.
9453
9454 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
9455
9456         getloadavg test: skip the test on GNU/Linux without /proc mounted
9457         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
9458         file.  When /proc is not mounted, it always fails with ENOENT.
9459         * tests/test-getloadavg.c (main): Treat ENOENT return code from
9460         getloadavg(3) the same way as ENOSYS and ENOTSUP.
9461
9462 2012-01-10  Bruno Haible  <bruno@clisp.org>
9463
9464         regex: Avoid link error on MSVC 9.
9465         * modules/regex (Depends-on): Add wctype.
9466
9467 2012-01-10  Bruno Haible  <bruno@clisp.org>
9468
9469         doc: Mention --with-tests option.
9470         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
9471         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
9472         --with-tests.
9473         Reported by Reuben Thomas.
9474
9475 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
9476
9477         users.txt: order package names lexicographically.
9478         * users.txt: Order package names lexicographically.
9479
9480 2012-01-10  Jim Meyering  <meyering@redhat.com>
9481
9482         maint.mk: fix description in comment
9483         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
9484
9485         ignore-value: remove deprecated ignore_ptr function
9486         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
9487         * NEWS: Note this.
9488
9489 2012-01-09  Jim Meyering  <meyering@redhat.com>
9490
9491         test-init.sh: avoid a subshell
9492         * tests/test-init.sh: Remove protective subshell.
9493         Suggested by Bernhard Voelker.  While a subshell is normally
9494         required to protect against older shells (Solaris, FreeBSD) that
9495         warn about a missing program before performing redirection, the
9496         shell-selection tests performed by init.sh probably exclude any
9497         offending shell.
9498
9499 2012-01-08  Bruno Haible  <bruno@clisp.org>
9500
9501         setlocale tests: Avoid test failure on Solaris 11 2011-11.
9502         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
9503         variable.
9504
9505 2012-01-08  Bruno Haible  <bruno@clisp.org>
9506
9507         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
9508         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
9509         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
9510         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
9511         macro.
9512         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
9513         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
9514         * lib/spawn_faction_addopen.c: Add workaround implementation if
9515         HAVE_WORKING_POSIX_SPAWN.
9516         * modules/spawn (Makefile): Substitute
9517         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
9518         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
9519         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
9520         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
9521         (Depends-on): Update conditions.
9522         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
9523         the Solaris 11 bug.
9524
9525 2012-01-08  Bruno Haible  <bruno@clisp.org>
9526
9527         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
9528         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
9529         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
9530         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
9531         macro.
9532         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
9533         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
9534         * lib/spawn_faction_adddup2.c: Add workaround implementation if
9535         HAVE_WORKING_POSIX_SPAWN.
9536         * modules/spawn (Makefile): Substitute
9537         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
9538         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
9539         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
9540         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
9541         (Depends-on): Update conditions.
9542         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
9543         the Solaris 11 bug.
9544
9545 2012-01-08  Bruno Haible  <bruno@clisp.org>
9546
9547         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
9548         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
9549         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
9550         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
9551         HAVE_WORKING_POSIX_SPAWN.
9552         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
9553         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
9554         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
9555         * lib/spawn_faction_addclose.c: Add workaround implementation if
9556         HAVE_WORKING_POSIX_SPAWN.
9557         * modules/spawn (Makefile): Substitute
9558         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
9559         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
9560         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
9561         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
9562         (Depends-on): Update conditions.
9563         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
9564         the Solaris 11 bug.
9565
9566 2012-01-08  Bruno Haible  <bruno@clisp.org>
9567
9568         doc: Update for Solaris 11 2011-11.
9569         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
9570         * m4/printf.m4: Update comments.
9571
9572 2012-01-08  Bruno Haible  <bruno@clisp.org>
9573
9574         mktime: Avoid compilation error on Solaris 11.
9575         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
9576
9577 2012-01-08  Bruno Haible  <bruno@clisp.org>
9578
9579         doc: Small fix.
9580         * doc/posix-headers/nl_types.texi: Correct platforms list.
9581
9582 2012-01-08  Simon Josefsson  <simon@josefsson.org>
9583
9584         Add lgpl-3.0 module.
9585         * MODULES.html.sh (Support for building documentation): Add
9586         lgpl-3.0.
9587         * modules/lgpl-3.0: New file.
9588
9589 2012-01-08  Jim Meyering  <meyering@redhat.com>
9590
9591         select.c: indent with spaces, not TABs
9592         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
9593
9594 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9595
9596         quotearg: do not use grave accent for left quote
9597         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
9598         locale_quoting_style.
9599         (quotearg_buffer_restyled): Fix example.
9600         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
9601
9602 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9603
9604         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
9605         Most programs do not have translation catalogs for English and much
9606         less separate catalogs for British and American English.  Drop the
9607         suggestion to translators about these two, and provide it
9608         automatically for Unicode locales.  Like most programs, even those
9609         using American English, we use single quotation marks.  This conflicts
9610         with the American typographic convention, but works better when you
9611         cite the entire error message within double quotes.  It also tries not
9612         to clash with established practice and with what non-gnulib programs
9613         will usually do.
9614         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
9615         using an UTF-8 or GB-18030 locale.  The list of other locales with
9616         quotes was provided by Bruno Haible.
9617         (quotearg_buffer_restyled): Adjust instructions to translators.
9618         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
9619         text, since this would be wrong when using Unicode.
9620         * modules/quotearg: Depend on c-strcaseeq.
9621
9622 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9623
9624         quotearg: fix Wikipedia link
9625         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
9626
9627 2012-01-07  Simon Josefsson  <simon@josefsson.org>
9628
9629         Fix for mingw with MSVC9.
9630         * m4/ld-version-script.m4: Check that compiler rejects version
9631         scripts with syntax errors.  Reported by Bruno Haible
9632         <bruno@clisp.org>.
9633
9634 2012-01-06  Bruno Haible  <bruno@clisp.org>
9635
9636         Talk about "native Windows API", not "Woe32".
9637         * lib/accept4.c: Update comments to mention native Windows.
9638         * lib/execute.c: Likewise.
9639         * lib/fatal-signal.c: Likewise.
9640         * lib/localcharset.c: Likewise.
9641         * lib/nanosleep.c: Likewise.
9642         * lib/nl_langinfo.c: Likewise.
9643         * lib/pclose.c: Likewise.
9644         * lib/pipe-filter-gi.c: Likewise.
9645         * lib/pipe-filter-ii.c: Likewise.
9646         * lib/pipe.c: Likewise.
9647         * lib/pipe2.c: Likewise.
9648         * lib/popen.c: Likewise.
9649         * lib/progreloc.c: Likewise.
9650         * lib/relocatable.c: Likewise.
9651         * lib/sigaction.c: Likewise.
9652         * lib/sigprocmask.c: Likewise.
9653         * lib/spawn-pipe.h: Likewise.
9654         * lib/spawn-pipe.c: Likewise.
9655         * lib/spawni.c: Likewise.
9656         * lib/stat-time.h: Likewise.
9657         * lib/w32spawn.h: Likewise.
9658         * tests/test-isatty.c: Likewise.
9659         * lib/config.charset: More comments.
9660         * doc/gnulib-intro.texi: Mention native Windows.
9661         * doc/posix-functions/_Exit_C99.texi: Likewise.
9662         * doc/posix-headers/fcntl.texi: Likewise.
9663
9664 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
9665
9666         argp: Avoid crash if translator uses % characters in a translation.
9667         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
9668         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9669
9670 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
9671
9672         doc: C11 and C++11 are now official
9673         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
9674         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
9675         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
9676         * modules/stdalign:
9677         Replace references to draft C1X to C11, and to draft C++0X to C++11.
9678
9679 2012-01-06  Bruno Haible  <bruno@clisp.org>
9680
9681         uc-is-grapheme-break tests: Tweak.
9682         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
9683         message.
9684
9685 2012-01-06  Bruno Haible  <bruno@clisp.org>
9686
9687         test-init.sh: correct the test for diff -u
9688         * tests/test-init.sh: Also redirect stdout to /dev/null.
9689
9690 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
9691
9692         Use ', not `, for quoting output.
9693         * build-aux/announce-gen (usage, sizes, print_news_deltas)
9694         (print_changelog_deltas, get_tool_versions, main program):
9695         * build-aux/git-version-gen:
9696         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
9697         * build-aux/move-if-change (help):
9698         * build-aux/useless-if-before-free (usage, main program):
9699         * check-module (parse_module_file, usage)
9700         (find_included_lib_files, check_module):
9701         * lib/argmatch.c (main) [TEST]:
9702         * lib/argp-help.c (_help):
9703         * lib/getopt1.c (main) [TEST]:
9704         * lib/git-merge-changelog.c (usage):
9705         * lib/xstrtol-error.c (xstrtol_error):
9706         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
9707         * m4/argz.m4 (gl_FUNC_ARGZ):
9708         * m4/bison.m4 (gl_BISON):
9709         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
9710         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
9711         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
9712         * m4/fpending.m4 (gl_PREREQ_FPENDING):
9713         * m4/gc-random.m4 (gl_GC_RANDOM):
9714         * m4/intl.m4 (gt_CHECK_DECL):
9715         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
9716         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
9717         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
9718         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
9719         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
9720         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
9721         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
9722         * tests/test-dirname.c (main):
9723         * tests/test-getpass.c (main):
9724         * tests/test-iconvme.c (main):
9725         * tests/test-parse-datetime.c (LOG):
9726         * tests/test-xstrtoimax.sh:
9727         * tests/test-xstrtol.sh:
9728         * tests/test-xstrtoll.sh:
9729         * tests/test-xstrtoumax.sh:
9730         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
9731         * top/GNUmakefile (abort-due-to-no-makefile):
9732         Quote 'like this', not `like this', as per the recent change to
9733         the GNU coding standards.
9734
9735 2012-01-05  Bruno Haible  <bruno@clisp.org>
9736
9737         strtoimax: Don't force a replacement on systems where intmax_t is int.
9738         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
9739         'intmax_t' is not larger than 'int'.
9740         Reported by Pádraig Brady <P@draigBrady.com>.
9741
9742 2012-01-05  Bruno Haible  <bruno@clisp.org>
9743
9744         doc: Mention NetBSD bugs.
9745         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
9746         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
9747
9748 2012-01-05  Bruno Haible  <bruno@clisp.org>
9749
9750         strtoumax tests: Enhance tests.
9751         * tests/test-strtoumax.c (main): Add tests for large values.
9752
9753 2012-01-05  Bruno Haible  <bruno@clisp.org>
9754
9755         strtoimax: Work around AIX 5.1 bug.
9756         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
9757         definition.
9758         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
9759         Set HAVE_STRTOIMAX.
9760         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
9761         REPLACE_STRTOIMAX.
9762         * modules/inttypes-incomplete (Makefile.am): Substitute
9763         REPLACE_STRTOIMAX.
9764         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
9765         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
9766         (Depends-on): Update conditions.
9767         * tests/test-strtoimax.c (main): Add tests for large values.
9768         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
9769
9770 2012-01-05  Bruno Haible  <bruno@clisp.org>
9771
9772         inttypes: Modernize.
9773         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
9774         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
9775         (Makefile.am): Update inttypes.h rule.
9776
9777 2012-01-05  Jim Meyering  <meyering@redhat.com>
9778
9779         init.sh: don't waste a subshell just to redirect stderr
9780         * tests/init.sh: In testing for diff -u and diff -c, use a
9781         stderr-redirecting exec inside `...` rather than a subshell.
9782
9783         test-init.sh: avoid failure on HP-UX 11.00
9784         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
9785         resolves to diff -c or cmp.  Reported by Bruno Haible.
9786
9787 2012-01-05  Bruno Haible  <bruno@clisp.org>
9788
9789         Tests for module 'strtoull'.
9790         * modules/strtoull-tests: New file.
9791         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
9792
9793 2012-01-05  Bruno Haible  <bruno@clisp.org>
9794
9795         Tests for module 'strtoll'.
9796         * modules/strtoll-tests: New file.
9797         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
9798
9799 2012-01-05  Bruno Haible  <bruno@clisp.org>
9800
9801         Tests for module 'strtoul'.
9802         * modules/strtoul-tests: New file.
9803         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
9804
9805 2012-01-05  Bruno Haible  <bruno@clisp.org>
9806
9807         Tests for module 'strtol'.
9808         * modules/strtol-tests: New file.
9809         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
9810
9811 2012-01-04  Jim Meyering  <meyering@redhat.com>
9812
9813         test-init.sh: accommodate Solaris 5.10's different diff -u output
9814         * tests/test-init.sh: Also exempt @@ lines from the comparison
9815         of diff output, since Solaris 5.10 and GNU diff formats differ.
9816         Reported by Stefano Lattarini.
9817
9818 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
9819
9820         test-posixtm: don't assume signed integer wraparound
9821         * tests/test-posixtm.c (main): Don't assume wraparound semantics
9822         after signed integer overflow.  Inspired by (though it may not
9823         fix) Bruno Haible's bug report in
9824         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
9825
9826         Spell out "Windows 9x" and "Windows XP".
9827         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
9828         "Windows 9x" and "WinXP" with "Windows XP".
9829
9830 2012-01-04  Jim Meyering  <meyering@redhat.com>
9831
9832         test-vc-list-files-cvs.sh: remove obsolete comment
9833         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
9834         double exit.  Now that's all encapsulated via skip_ and Exit.
9835
9836 2012-01-04  Bruno Haible  <bruno@clisp.org>
9837
9838         Talk about "native Windows API", not "Win32".
9839         * lib/classpath.c: Update comments to mention native Windows.
9840         * lib/csharpexec.c: Likewise.
9841         * lib/dup2.c: Likewise.
9842         * lib/error.c: Likewise.
9843         * lib/fcntl.c: Likewise.
9844         * lib/filename.h: Likewise.
9845         * lib/findprog.c: Likewise.
9846         * lib/get-rusage-as.c: Likewise.
9847         * lib/get-rusage-data.c: Likewise.
9848         * lib/getpagesize.c: Likewise.
9849         * lib/javaexec.c: Likewise.
9850         * lib/msvc-inval.c: Likewise.
9851         * lib/msvc-nothrow.c: Likewise.
9852         * lib/nanosleep.c: Likewise.
9853         * lib/nonblocking.c: Likewise.
9854         * lib/printf-parse.c: Likewise.
9855         * lib/setlocale.c: Likewise.
9856         * lib/sigaction.c: Likewise.
9857         * lib/strerror_r.c: Likewise.
9858         * lib/tmpdir.c: Likewise.
9859         * lib/vasnprintf.c: Likewise.
9860         * lib/w32spawn.h: Likewise.
9861         * lib/waitpid.c: Likewise.
9862         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
9863         * m4/locale-ar.m4: Likewise.
9864         * m4/locale-fr.m4: Likewise.
9865         * m4/locale-ja.m4: Likewise.
9866         * m4/locale-tr.m4: Likewise.
9867         * m4/locale-zh.m4: Likewise.
9868         * m4/printf.m4: Likewise.
9869         * tests/test-cloexec.c: Likewise.
9870         * tests/test-copy-acl.sh: Likewise.
9871         * tests/test-copy-file.sh: Likewise.
9872         * tests/test-file-has-acl.sh: Likewise.
9873         * tests/test-set-mode-acl.sh: Likewise.
9874         * tests/test-dup-safer.c: Likewise.
9875         * tests/test-dup2.c: Likewise.
9876         * tests/test-dup3.c: Likewise.
9877         * tests/test-fcntl.c: Likewise.
9878         * tests/test-nonblocking-pipe.h: Likewise.
9879         * tests/test-nonblocking-socket.h: Likewise.
9880         * tests/test-pipe.c: Likewise.
9881         * tests/test-pipe2.c: Likewise.
9882         * tests/test-spawn-pipe-child.c: Likewise.
9883         * doc/acl-resources.txt: Likewise.
9884         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9885         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
9886         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
9887         * lib/localcharset.c: Update comments to mention native Windows.
9888         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9889         * lib/localename.c: Likewise.
9890         * lib/progreloc.c: Likewise.
9891         * lib/relocatable.c: Likewise.
9892         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9893         (windows_compute_revents): Renamed from win32_compute_revents.
9894         (windows_compute_revents_socket): Renamed from
9895         win32_compute_revents_socket.
9896         * lib/select.c: Update comments to mention native Windows.
9897         (windows_poll_handle): Renamed from win32_poll_handle.
9898         * m4/threadlib.m4: Update comments to mention native Windows.
9899         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
9900         --enable-threads=windows instead of --enable-threads=win32. Set
9901         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
9902         * lib/glthread/lock.h: Update comments to mention native Windows.
9903         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
9904         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
9905         USE_WIN32_THREADS.
9906         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
9907         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
9908         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
9909         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
9910         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
9911         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
9912         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
9913         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
9914         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
9915         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
9916         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
9917         * tests/test-tls.c: Likewise.
9918         Rationale:
9919         Microsoft renamed the "Win32 API" to "Windows API", as it is available
9920         on both 32-bit and 64-bit Windows systems.
9921         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
9922         line of distinction is between "native Windows" on one side and Unix/
9923         POSIX systems on the other side. More details in
9924         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
9925         Suggested by Paul Eggert.
9926
9927 2012-01-03  Bruno Haible  <bruno@clisp.org>
9928
9929         isatty: Support for MSVC 9.
9930         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
9931         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
9932         (_isatty_nothrow): New function.
9933         (isatty): Use it instead of _isatty.
9934         (IsConsoleHandle): Add comment, from Paolo Bonzini.
9935         * lib/poll.c (IsConsoleHandle): Likewise.
9936         * lib/select.c (IsConsoleHandle): Likewise.
9937         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
9938         (gl_PREREQ_ISATTY): New macro.
9939         * modules/isatty (Depends-on): Add msvc-inval.
9940         (configure.ac): Invoke gl_PREREQ_ISATTY.
9941
9942 2012-01-03  Jim Meyering  <meyering@redhat.com>
9943
9944         maint.mk: remove temporary transition aid from over 1.5 years ago
9945         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
9946         purpose was to aid in the transition (avoiding silent malfunction)
9947         from that old name to the new _sc_search_regexp.  This shim was
9948         added by commit 219c504b.
9949
9950         init.sh: do not try to accommodate compare arguments starting with "-"
9951         * tests/init.sh (compare_dev_null_): Do not try to accommodate
9952         compare arguments that start with "-".  Besides, we do not worry
9953         about this when invoking diff or cmp; why start now with sed?
9954         Using "--" to separate options from argument would trigger sed
9955         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
9956         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
9957
9958 2012-01-02  Bruno Haible  <bruno@clisp.org>
9959
9960         Enhance tests for module 'isatty'.
9961         * modules/isatty-tests (Depends-on): Add pipe-posix.
9962         * tests/test-isatty.c: Include <fcntl.h>.
9963         (DEV_NULL): New macro.
9964         (main): Test the resut of isatty() also on regular files, pipes, and
9965         /dev/null.
9966
9967         New module 'isatty'.
9968         * lib/unistd.in.h (isatty): New declaration.
9969         * lib/isatty.c: New file, based on an idea of
9970         Bastien Roucariès <roucaries.bastien@gmail.com>.
9971         * m4/isatty.m4: New file.
9972         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
9973         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
9974         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
9975         REPLACE_ISATTY.
9976         * modules/isatty: New file.
9977         * doc/posix-functions/isatty.texi: Mention the new module.
9978         Suggested by Paolo Bonzini.
9979
9980 2012-01-02  Bruno Haible  <bruno@clisp.org>
9981
9982         canonicalize: Tweak 2011-12-29 commit.
9983         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
9984         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
9985
9986 2012-01-02  Jim Meyering  <meyering@redhat.com>
9987
9988         gitlog-to-changelog: describe input syntax in --help output
9989         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
9990
9991         gitlog-to-changelog: fix typo in --help: show backslash before email @
9992         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
9993         in sources, but not in actual output.
9994
9995 2011-12-30  Jim Meyering  <meyering@redhat.com>
9996
9997         gitlog-to-changelog: don't malfunction when name contains %-directive
9998         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
9999         in a name string cause trouble.  E.g., with a user name of "%s",
10000         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
10001
10002 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
10003
10004         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
10005         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
10006         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
10007         the "  (tiny change)" notation that is appended to the standard
10008         ChangeLog "date  name  email" header line.
10009
10010 2012-01-01  Jim Meyering  <meyering@redhat.com>
10011
10012         test-framework-sh: init.sh: fix "make dist" failure
10013         When using gnulib-tool's --with-tests option and any module that
10014         depends on test-framework-sh, "make dist" would fail due to the
10015         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
10016         in the gltests directory, and not in the gllib/ directory.
10017         One way to work around that is to move the EXTRA_DIST += init.sh
10018         from the primary module to the -tests one:
10019         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
10020         * modules/test-framework-sh (Makefile.am): ...not here.
10021         Reported by Tom G. Christensen in
10022         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
10023
10024         version-etc: update copyright year reported by --version
10025         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
10026
10027 2011-12-31  Pádraig Brady  <P@draigBrady.com>
10028
10029         canonicalize: only stat() if required
10030         * lib/canonicalize.c (canonicalize_filename_mode):
10031         Avoid calling l?stat() when both CAN_MISSING,
10032         and CAN_NOLINKS are set, as we neither need
10033         to resolve symlinks or test component existence.
10034
10035 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
10036
10037         doc: cover st_ino issues once; add OpenVMS etc.
10038         * doc/posix-functions/stat.texi (stat):
10039         * doc/posix-functions/lstat.texi (lstat):
10040         * doc/posix-functions/fstatat.texi (fstatat):
10041         * doc/posix-functions/fstat.texi (fstat):
10042         Move general 'struct stat' stuff to sys_stat.texi,
10043         leaving behind a pointer.
10044         * doc/posix-headers/sys_stat.texi (sys/stat.h):
10045         Merge duplicate info about 'struct stat' problems into here.
10046         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
10047         and suggest partial workarounds.
10048
10049         same-inode: port to OpenVMS
10050         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
10051         three st_ino values.
10052
10053 2011-12-30  Pádraig Brady  <P@draigBrady.com>
10054
10055         canonicalize: fix references to stat() and lstat()
10056         * lib/canonicalize.c (canonicalize_filename_mode):
10057         Ensure references always resolve to a replacement
10058         function if required (even via a macro).
10059
10060 2011-12-30  Jim Meyering  <meyering@redhat.com>
10061
10062         gitlog-to-changelog: remove a little duplication
10063         * build-aux/gitlog-to-changelog (main): Grep @lines once,
10064         rather than twice.
10065
10066 2011-12-29  Pádraig Brady  <P@draigBrady.com>
10067
10068         canonicalize: add support for not resolving symlinks
10069         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
10070         indicate we don't want to follow symlinks.  Also
10071         provide CAN_MODE_MASK to aid setting these existing
10072         mutually exclusive values.
10073         * lib/canonicalize.c (canonicalize_filename_mode):
10074         Extract the flags from can_mode parameter, which
10075         are currently just used to select between stat()
10076         and lstat().  Also ensure that mutually exclusive
10077         values are flagged immediately as invalid.
10078         * tests/test-canonicalize.c: Verify symlinks are
10079         not followed, and that invalid flag combinations
10080         are diagnosed.
10081
10082 2011-12-25  Jim Meyering  <meyering@redhat.com>
10083
10084         gitlog-to-changelog: do not clump multi-paragraph entries
10085         Identical header lines (date,name,email+coauthors) are suppressed,
10086         thus putting all entries with those same characteristics under
10087         a single header.  However, when a log entry consists of two or
10088         more paragraphs, it may not be clear where it starts and ends.
10089         This change makes it so that such an entry is always separated
10090         from others by a header line, even when that header would
10091         otherwise be suppressed.
10092         * build-aux/gitlog-to-changelog: Implement the above.
10093         Inspired by a related request from Stefano Lattarini in
10094         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
10095
10096 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
10097
10098         announce-gen: fix `cmd' typo in diagnostic
10099         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
10100         diagnostic: a missing '$' meant that the command was not output.
10101
10102 2011-12-23  Jim Meyering  <meyering@redhat.com>
10103
10104         test-framework-sh: distribute init.sh
10105         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
10106         Otherwise, "make -C gnulib-tests check" (at least in grep) would
10107         fail due to the lack of init.sh.
10108
10109         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
10110         * modules/atexit-tests: Rather than listing tests/init.sh,
10111         now that there's a module for it, simply depend on that new module.
10112         * modules/closein-tests: Likewise.
10113         * modules/exclude-tests: Likewise.
10114         * modules/getcwd-tests: Likewise.
10115         * modules/perror-tests: Likewise.
10116         * modules/pread-tests: Likewise.
10117         * modules/pwrite-tests: Likewise.
10118         * modules/vc-list-files-tests: Likewise.
10119         * modules/verify-tests: Likewise.
10120         * modules/xalloc-die-tests: Likewise.
10121         * modules/xstrtoimax-tests: Likewise.
10122         * modules/xstrtol-tests: Likewise.
10123         * modules/xstrtoll-tests: Likewise.
10124         * modules/xstrtoumax-tests: Likewise.
10125         * modules/yesno-tests: Likewise.
10126
10127 2011-12-22  Jim Meyering  <meyering@redhat.com>
10128
10129         test-framework-sh: add minimal tests of init.sh's compare function
10130         * modules/test-framework-sh-tests: New file.
10131         * tests/test-init.sh: New file.
10132
10133         test-framework-sh: new module
10134         * modules/test-framework-sh: New file.
10135         * MODULES.html.sh (Support for maintaining and releasing projects):
10136         List it.
10137
10138         init.sh: do not emit simulated diff output to stderr
10139         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
10140
10141 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
10142
10143         .gitignore: ignore gnulib.dvi and regex.info
10144         * doc/.gitignore:add gnulib.dvi and regex.info
10145
10146 2011-12-22  Jim Meyering  <meyering@redhat.com>
10147
10148         init.sh: correct previous change
10149         * tests/init.sh (compare): My previous change was wrong.
10150         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
10151
10152         init.sh: avoid unwarranted test failure when using "set -e"
10153         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
10154         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
10155         a use like "compare exp out" would get evoke an unconditional failure.
10156
10157 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
10158
10159         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
10160         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
10161         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
10162         autoreconf that did not.
10163         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
10164         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
10165
10166 2011-12-17  Jim Meyering  <meyering@redhat.com>
10167
10168         bootstrap: remove some now-unneeded code
10169         This script arose back when gnulib-tool was young.
10170         Since then, it has seen improvements that render much of this
10171         script unnecessary.  In particular, it can now make symlinks
10172         to the files it uses.  Also, I no longer see as much value in
10173         marking files as read-only via comments.
10174         If you relied on the symlink-creation feature of the preceding
10175         version of this script, you can get most of that functionality
10176         by adding the --symlink option to the definition of
10177         gnulib_tool_option_extras in your bootstrap.conf file.
10178         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
10179         Run autopoint and libtoolize *before* gnulib-tool.
10180         After it, run an abbreviated autoreconf, rather than a loop around
10181         all tools.
10182         (slirp, bt_mark_as_generated): Remove functions.
10183
10184 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
10185
10186         ftoastr: fix typo
10187         * lib/ftoastr.h: Fix misspelling in comment.
10188
10189 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
10190
10191         * top/README-release: fix punctuation.
10192
10193 2011-12-17  Jim Meyering  <meyering@redhat.com>
10194
10195         bootstrap: correct the recent buildreq change
10196         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
10197         had no effect.
10198         * build-aux/bootstrap (buildreq): Bracket each search term with
10199         "*...*", so that the shell "case" statement works as intended.
10200         Add comments.
10201
10202 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
10203
10204         build: let bootstrap resort to wget when downloading .po files
10205         * build-aux/bootstrap (download_po_files): Fallback to wget when
10206         downloading the .po files via rsync fails.  This is necessary to
10207         bootstrap from behind a strict firewall.
10208
10209 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
10210
10211         stdint: don't assume C++11 when compiling with g++
10212         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
10213         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
10214         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
10215         work also in C++ before C++11, as that improperly inhibits
10216         generating a substitute stdint.h for that case.
10217
10218 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
10219
10220         alloca: protect comment from gnulib-tool
10221         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
10222         that gnulib-tool doesn't think it's a license, and munge it to
10223         say "GCC version 3".
10224
10225 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
10226
10227         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
10228         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
10229         $(abs_top_builddir) instead of $(top_builddir).
10230
10231 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
10232
10233         strftime-tests: also test nanoseconds
10234         * tests/test-strftime.c (T): Add a test of %N.
10235
10236 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
10237
10238         inttypes, stdint: add C++11 support
10239         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
10240         when including inttypes.h and stdint.h.  Support this change to
10241         the standard.
10242         * doc/posix-headers/inttypes.texi (inttypes.h):
10243         * doc/posix-headers/stdint.texi (stdint.h): Document this.
10244         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
10245         Define if not defined already, for the benefit of pre-C++11 hosts.
10246         Define the standard format macros (e.g., PRId8) always.
10247         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
10248         Likewise, if __cpluspus.  Define the standard constant and limit
10249         macros (e.g., INT8_C, INT8_MAX) always.
10250         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
10251         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
10252         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
10253         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
10254         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
10255         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
10256         Likewise.
10257
10258 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
10259
10260         nonblocking tests: Fix test failure on Linux/PPC.
10261         Suggested by Prerna Saxena in
10262         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
10263         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
10264         Set to 1100000.
10265
10266 2011-12-12  Jim Meyering  <meyering@redhat.com>
10267
10268         argmatch: don't hard-code `' when listing valid option arguments
10269         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
10270         use the quote function to add quotes.  Use fputs rather than
10271         fprintf for the format string with no format directive.
10272
10273 2011-12-07  Eric Blake  <eblake@redhat.com>
10274
10275         bootstrap: detect tools required by gnulib-tool
10276         * build-aux/bootstrap (buildreq): Provide minimum implicit
10277         dependencies.
10278         * DEPENDENCIES: Mention patch as a prereq.
10279
10280 2011-12-04  Bruno Haible  <bruno@clisp.org>
10281
10282         sethostname: Port to Windows platforms.
10283         * lib/sethostname.c: Provide an alternate implementation for Windows
10284         platforms.
10285         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
10286         (main): Skip the test if sethostname() fails with EPERM. On Windows
10287         platforms, don't check the result of gethostname().
10288
10289 2011-12-04  Bruno Haible  <bruno@clisp.org>
10290             Jim Meyering  <meyering@redhat.com>
10291
10292         tests: Avoid spurious error message on platforms without mktemp program.
10293         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
10294
10295 2011-12-04  Bruno Haible  <bruno@clisp.org>
10296
10297         sethostname: Fix documentation.
10298         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
10299         "not fixed" section.
10300
10301 2011-12-03  Bruno Haible  <bruno@clisp.org>
10302
10303         gnulib-tool: Verify that the License field is present and non-empty.
10304         * gnulib-tool (func_get_license_raw): New function, extracted from
10305         func_get_license.
10306         (func_get_license): Use it. Warn if the module is not a test module and
10307         has no license.
10308         Suggested by Jim Meyering.
10309
10310 2011-12-03  Bruno Haible  <bruno@clisp.org>
10311
10312         sethostname tests: Fix link error on mingw.
10313         * tests/test-sethostname1.c: New file, extracted from
10314         tests/test-sethostname.c.
10315         * tests/test-sethostname2.c: New file, extracted from
10316         tests/test-sethostname.c.
10317         * tests/test-sethostname.c: Remove file.
10318         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
10319         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
10320         (Depends-on): Add gethostname.
10321         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
10322         Link the latter with $(GETHOSTNAME_LIB).
10323
10324         sethostname tests: Fix compilation error on mingw.
10325         * tests/test-sethostname.c: Don't include <sys/types.h>.
10326         (geteuid): Use a dummy value without uid_t.
10327         * modules/sethostname-tests (Depends-on): Remove sys_types.
10328
10329         sethostname tests: Avoid a gcc warning.
10330         * tests/test-sethostname.c (main): Remove an unused variable.
10331
10332         Tweak last commit.
10333         * modules/sethostname-tests (Files): Sort by decreasing importance.
10334         (configure.ac): Check for geteuid.
10335         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
10336         the test when there's nothing to test. Drop an unnecessary cast.
10337         Improve an error message. Verify that the final sethostname() call
10338         succeeds.
10339
10340 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
10341
10342         Add a test suite for the sethostname module.
10343         * modules/sethostname-tests: New file.  A test program
10344         for the sethostname module.
10345         * tests/test-sethostname.c: Likewise.
10346
10347 2011-12-03  Bruno Haible  <bruno@clisp.org>
10348
10349         Tweak last commit.
10350         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
10351         Fix preprocessor directives indentation. Fix typos.
10352         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
10353         * modules/unistd (Makefile): Likewise.
10354
10355 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
10356
10357         Integrate the sethostname module into unistd.
10358         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
10359         into the unistd.h header.
10360         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
10361         preprocessor directives.
10362         * modules/unistd: Setup the Makefile substitutions of the
10363         SETHOSTNAME preprocessor directives.
10364
10365 2011-12-03  Bruno Haible  <bruno@clisp.org>
10366
10367         Tweak last commit.
10368         * lib/sethostname.c: Don't include <string.h>.
10369         (sethostname): No need to copy the argument string to the stack. Don't
10370         call clearerr. Preserve errno when fprintf failed.
10371         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
10372         Don't invoke AC_REPLACE_FUNCS.
10373         * modules/sethostname (Link): Remove empty section.
10374         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
10375         failure problem.
10376
10377 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
10378
10379         New module 'sethostname'.
10380         * lib/sethostname.c (sethostname): New file.  Provide sethostname
10381         for systems that lack it.
10382         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
10383         sethostname declaration and function.
10384         * modules/sethostname: New file.  Define the sethostname module.
10385
10386 2011-12-03  Bruno Haible  <bruno@clisp.org>
10387
10388         Tweak last commit.
10389         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
10390
10391 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
10392
10393         Split the HOST_NAME_MAX detection into a separate m4 macro.
10394         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
10395         macro so it can be used by the pending sethostname module.
10396
10397 2011-12-03  Bruno Haible  <bruno@clisp.org>
10398
10399         Fix module descriptions syntax.
10400         * modules/argv-iter (License): Fix syntax.
10401         * modules/di-set (License): Likewise.
10402         * modules/ino-map (License): Likewise.
10403         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
10404
10405 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
10406
10407         stdalign: port to Clang 3.0
10408         Problem reported by Simon Josefsson in
10409         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
10410         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
10411         which has <stdalign.h> but which does not define alignof.
10412         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
10413
10414 2011-12-01  Eric Blake  <eblake@redhat.com>
10415
10416         mktempd: silence dd usage
10417         * build-aux/mktempd (rand_bytes): Silence dd.
10418
10419 2011-11-30  Simon Josefsson  <simon@josefsson.org>
10420
10421         manywarnings: Don't mention gcc version in docstring.
10422         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
10423         Jim Meyering <meyering@redhat.com>.
10424
10425 2011-11-30  Jim Meyering  <meyering@redhat.com>
10426
10427         hash: mark a few floating point constants with "f" suffix
10428         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
10429         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
10430         floating point constants with "f", since they're destined to be
10431         saved/used as "float"s.
10432
10433 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
10434
10435         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
10436         * tests/test-float.c (test_long_double): Correct and re-enable the
10437         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
10438
10439 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
10440
10441         Avoid subtracting two pointers that don't point into the same block.
10442         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
10443         only pointers into the same memory block are subtracted. We cannot
10444         assume that sizeof (ptrdiff_t) == sizeof (void *).
10445
10446 2011-11-29  Eric Blake  <eblake@redhat.com>
10447
10448         maint.mk: add syntax check for use of compare from init.sh
10449         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
10450         moved here from coreutils.
10451
10452         manywarnings: drop -Wunsuffixed-float-constants
10453         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
10454         '1.0D', which is the only way to silence this warning for 'double'.
10455
10456 2011-11-29  Jim Meyering  <meyering@redhat.com>
10457
10458         hash: mark compute_bucket_size with the pure attribute
10459         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
10460
10461         quotearg, propername: correct pragma guard expression
10462         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
10463         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
10464
10465 2011-11-28  Jim Meyering  <meyering@redhat.com>
10466
10467         propername: do not mark proper_name with the const attribute
10468         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
10469         since it examines data pointed to by its parameter.
10470         * lib/propername.c (proper_name): Instead, add a pragma to suppress
10471         the suggestion from -Wsuggest-attribute=const.
10472
10473         propername: mark one more function as const
10474         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
10475
10476 2011-11-27  Jim Meyering  <meyering@redhat.com>
10477
10478         mark functions with const and pure attributes
10479
10480         Mark functions per suggestions from gcc-4.6 when using these options:
10481         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
10482         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
10483         Follow these guidelines: when possible, apply the attribute to
10484         an extern declaration, not to its definition.  Apply it to the
10485         definition only when the definition is static.
10486         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
10487         * lib/argv-iter.h (argv_iter_n_args): Likewise.
10488         * lib/base64.h (isbase64): Likewise.
10489         * lib/basename-lgpl.c (last_component, base_len): Likewise.
10490         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
10491         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
10492         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
10493         (c_tolower, c_toupper): Likewise.
10494         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
10495         * lib/chdir-long.c (find_non_slash): Likewise.
10496         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
10497         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
10498         * lib/file-type.h (file_type): Likewise.
10499         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
10500         * lib/filevercmp.c (verrevcmp): Likewise.
10501         * lib/freadahead.h (freadahead): Likewise.
10502         * lib/fts.c (fts_maxarglen): Likewise.
10503         * lib/hash-pjw.h (hash_pjw): Likewise.
10504         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
10505         * lib/hash.c (is_prime, next_prime): Likewise.
10506         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
10507         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
10508         (hash_table_ok, hash_get_first, hash_string): Likewise.
10509         (compute_bucket_size): Likewise.
10510         * lib/i-ring.h (i_ring_empty): Likewise.
10511         * lib/isnan.c (isnanl): Likewise.
10512         * lib/math.h (isnanl, rpl_isnanl): Likewise.
10513         * lib/memcasecmp.h (memcasecmp): Likewise.
10514         * lib/memchr2.h (memchr2): Likewise.
10515         * lib/memcmp2.h (memcmp2): Likewise.
10516         * lib/parse-datetime.y (lookup_zone): Likewise.
10517         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
10518         [!WINDOWS_SOCKETS]: Likewise.
10519         * lib/strnlen1.h (strnlen1): Likewise.
10520         * lib/uniwidth.in.h (uc_width): Likewise.
10521         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
10522         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
10523         (quoting_options_from_style): Add a comment.
10524         * lib/propername.h (proper_name): Add a comment.
10525
10526 2011-11-27  Bruno Haible  <bruno@clisp.org>
10527
10528         Remove unused macros from !_LIBC code in glibc-borrowed files.
10529         * lib/fnmatch.c (STRCOLL): Remove macro.
10530         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
10531         * lib/glob.c (__stat, __readdir64): Remove macros.
10532         * lib/tempname.c (__open64, __xstat64): Remove macros.
10533         Suggested by Paul Eggert.
10534
10535 2011-11-27  Bruno Haible  <bruno@clisp.org>
10536
10537         getcwd: Fix link error on MSVC 9.
10538         * modules/getcwd (Depends-on): Add readdir, rewinddir.
10539
10540 2011-11-27  Bruno Haible  <bruno@clisp.org>
10541
10542         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
10543         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
10544         HAVE_OPENDIR is 0.
10545         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
10546         HAVE_CLOSEDIR is 0.
10547         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
10548         is 0.
10549         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
10550
10551 2011-11-27  Bruno Haible  <bruno@clisp.org>
10552
10553         getcwd: Fix bug from 2011-08-17.
10554         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
10555         platforms that need it.
10556         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
10557         code of 4 to be a failure, not a success. This ensures that
10558         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
10559
10560 2011-11-27  Bruno Haible  <bruno@clisp.org>
10561
10562         binary-io tests: Avoid test failure on mingw when libtool is used.
10563         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
10564         Don't verify the size of t-bin-out1.tmp here.
10565         * tests/test-binary-io.sh: Verify it here.
10566         Reported by Simon Josefsson.
10567
10568 2011-11-26  Bruno Haible  <bruno@clisp.org>
10569
10570         Fix conflict between two instantiations of module 'unistd'.
10571         * gnulib-tool (func_emit_autoconf_snippet): Substitute
10572         ${include_guard_prefix} also in the autoconf snippet.
10573         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
10574         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
10575         GNULIB_UNISTD_H_GETOPT.
10576         * modules/getopt-posix (configure.ac): Set the
10577         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
10578         * modules/getopt-gnu (configure.ac): Likewise.
10579         * modules/unistd (Makefile.am): Change the substitution value of
10580         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
10581         Reported by Simon Josefsson.
10582
10583 2011-11-25  Bruno Haible  <bruno@clisp.org>
10584
10585         pagealign_alloc: Doc and comments.
10586         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
10587         module.
10588         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
10589
10590 2011-11-25  Jim Meyering  <meyering@redhat.com>
10591
10592         test-update-copyright.sh: avoid false-positive failure
10593         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
10594         around false positive failure on Cygwin/Windows.  The latter was
10595         matching erroneously-created files with names like
10596         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
10597
10598 2011-11-25  Simon Josefsson  <simon@josefsson.org>
10599
10600         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
10601         * m4/valgrind-tests.m4: Check that the parameters that will be
10602         used works, not just a subset of them.  Reported by Bruno Haible
10603         <bruno@clisp.org>.
10604
10605 2011-11-24  Jim Meyering  <meyering@redhat.com>
10606
10607         test-stdalign.c: comment out long double tests
10608         * tests/test-stdalign.c: Don't try to reduce alignment of long double
10609         variables.  That provokes errors like this from gcc-4.7.0 20111124:
10610         error: '_Alignas' specifiers cannot reduce alignment of \
10611         'static_longdouble_alignas'.
10612
10613 2011-11-22  Jim Meyering  <meyering@redhat.com>
10614
10615         init.sh: make "compare /dev/null FILE" output more readable
10616         * tests/init.sh (compare_): Document the preferred order of arguments.
10617         (emit_diff_u_header_): New function.
10618         (compare_dev_null_): Emit a simulated diff, rather than just the
10619         contents of the unexpected file.  Suggestion from Bruno Haible.
10620
10621 2011-11-21  Jim Meyering  <meyering@redhat.com>
10622             Eric Blake  <eblake@redhat.com>
10623
10624         init.sh: work around OSF/1 5.1's mishandling of /dev/null
10625         * tests/init.sh: Make our compare function slightly more portable.
10626         Reported by Bruno Haible in
10627         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
10628
10629 2011-11-21  Simon Josefsson  <simon@josefsson.org>
10630
10631         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
10632         before using it, in code that ends up in config.h.
10633
10634 2011-11-20  Bruno Haible  <bruno@clisp.org>
10635
10636         getcwd: Work around getcwd bug on AIX 5..7.
10637         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
10638         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
10639         Use a different value for gl_cv_func_getcwd_path_max. Move the
10640         definition of HAVE_PARTLY_WORKING_GETCWD from here...
10641         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
10642         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
10643         Define HAVE_MINIMALLY_WORKING_GETCWD.
10644         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
10645         where it is not even minimally working, that is, on AIX.
10646         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
10647         m4/getcwd-path-max.m4.
10648         (main): Update exit code computation.
10649         * doc/posix-functions/getcwd.texi: Mention list of platforms where
10650         getcwd does not handle long file names.
10651
10652 2011-11-20  Bruno Haible  <bruno@clisp.org>
10653
10654         getcwd: Fix bug from 2009-09-10.
10655         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
10656         like "no".
10657
10658 2011-11-20  Simon Josefsson  <simon@josefsson.org>
10659
10660         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
10661
10662 2011-11-20  Bruno Haible  <bruno@clisp.org>
10663
10664         fma tests: Avoid shadowing local variables.
10665         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
10666         expected.
10667
10668 2011-11-20  Bruno Haible  <bruno@clisp.org>
10669
10670         copysignf tests: Fix.
10671         * tests/test-copysignf.c: Fix signature check.
10672
10673 2011-11-20  Bruno Haible  <bruno@clisp.org>
10674
10675         fma: Remove unused code.
10676         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
10677         unused macros.
10678
10679 2011-11-20  Bruno Haible  <bruno@clisp.org>
10680
10681         sethostname: Fix doc about AIX.
10682         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
10683         sethostname; it has it.
10684
10685         sethostname: Mention more portability problems.
10686         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
10687         problem.
10688         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
10689
10690 2011-11-19  Bruno Haible  <bruno@clisp.org>
10691
10692         Depend on module fcntl-h when AT_FDCWD is used.
10693         * modules/utimens (Depends-on): Add fcntl-h.
10694         * modules/areadlinkat (Depends-on): Likewise.
10695         * modules/areadlinkat-with-size (Depends-on): Likewise.
10696         * modules/faccessat (Depends-on): Likewise.
10697         * modules/fchmodat (Depends-on): Likewise.
10698         * modules/fchownat (Depends-on): Likewise.
10699         * modules/getcwd (Depends-on): Likewise.
10700         * modules/mkdirat (Depends-on): Likewise.
10701         * modules/mkfifoat (Depends-on): Likewise.
10702         * modules/readlinkat (Depends-on): Likewise.
10703         * modules/symlinkat (Depends-on): Likewise.
10704         * modules/dup2-tests (Depends-on): Likewise.
10705         * modules/fdutimensat-tests (Depends-on): Likewise.
10706         * modules/futimens-tests (Depends-on): Likewise.
10707
10708 2011-11-19  Bruno Haible  <bruno@clisp.org>
10709
10710         euidaccess: Update a comment.
10711         * lib/euidaccess.c: Update comment about platforms with faccessat.
10712
10713 2011-11-19  Bruno Haible  <bruno@clisp.org>
10714
10715         openat: Fix file list.
10716         * modules/openat (Files): Remove lib/at-func.c.
10717
10718 2011-11-19  Bruno Haible  <bruno@clisp.org>
10719
10720         fstatat: Simplify.
10721         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
10722         gnulib should define rpl_fstatat, there is a
10723         "#define fstatat rpl_fstatat" in <sys/stat.h>.
10724
10725 2011-11-19  Bruno Haible  <bruno@clisp.org>
10726
10727         Ensure 'inline' can be used in tests/test-utimens-common.h.
10728         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
10729         * modules/futimens-tests (configure.ac): Likewise.
10730         * modules/utimens-tests (configure.ac): Likewise.
10731         * modules/utimensat-tests (configure.ac): Likewise.
10732
10733 2011-11-19  Simon Josefsson  <simon@josefsson.org>
10734
10735         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
10736         not hash_insert0.
10737         (hash_insert_if_absent): Doc fix.
10738
10739 2011-11-19  Simon Josefsson  <simon@josefsson.org>
10740
10741         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
10742
10743 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
10744
10745         test-getcwd: disambiguate exit status
10746         * tests/test-getcwd.c (test_long_name): Return 0..7.
10747         (main): Exit with an unambiguous exit status.  The old
10748         code yielded a mysterious mixture of two failure codes.
10749
10750         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
10751         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
10752         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
10753         rpl_fstatat or fstatat.  This should fix the other problem
10754         reported by Kai Habel in
10755         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10756         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
10757         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
10758         and I reproduced it on a Solaris 8 host we still have in production.
10759
10760 2011-11-18  Jim Meyering  <meyering@redhat.com>
10761
10762         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
10763         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
10764         Add a sentence to the comment.
10765         (hash_insert0): New function that simply calls hash_insert_if_absent.
10766         * lib/hash.h (hash_insert_if_absent): Declare it.
10767         (hash_insert0): Add deprecation attribute.
10768         (_GL_ATTRIBUTE_DEPRECATED): Define.
10769         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
10770         not hash_insert0.
10771         * NEWS: Mention it, even though it's not really an incompatible change.
10772
10773 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
10774
10775         openat: avoid compilation failure due to lack of <errno.h> inclusion
10776         * lib/openat.c: Include <errno.h>.
10777
10778 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
10779
10780         * modules/getcwd (Depends-on): Add fdopendir.
10781         This fixes one of the two problems reported by Kai Habel in
10782         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10783
10784         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
10785         stdalign problem reported by Ian Beckwith in
10786         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
10787         * modules/crypto/gc-arcfour (Depends-on):
10788         Depend conditionally on crypto/arcfour.
10789         * modules/crypto/gc-arctwo (Depends-on):
10790         Depend conditionally on crypto/arctwo.
10791         * modules/crypto/gc-des (Depends-on):
10792         Depend conditionally on crypto/des.
10793         * modules/crypto/gc-hmac-md5 (Depends-on):
10794         Depend conditionally on crypto/hmac-md5.
10795         * modules/crypto/gc-hmac-sha1 (Depends-on):
10796         Depend conditionally on crypto/hmac-sha1.
10797         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
10798         * modules/crypto/gc-md4 (Depends-on):
10799         Depend conditionally on crypto/md4.
10800         * modules/crypto/gc-md5 (Depends-on):
10801         Depend conditionally on crypto/md5.
10802         * modules/crypto/gc-rijndael (Depends-on):
10803         Depend conditionally on crypto/rijndael.
10804         * modules/crypto/gc-sha1 (Depends-on):
10805         Depend conditionally on crypto/sha1.
10806         * modules/crypto/gc-arcfour:
10807         * modules/crypto/gc-arctwo:
10808         * modules/crypto/gc-des:
10809         * modules/crypto/gc-hmac-md5:
10810         * modules/crypto/gc-hmac-sha1:
10811         * modules/crypto/gc-md2:
10812         * modules/crypto/gc-md4:
10813         * modules/crypto/gc-md5:
10814         * modules/crypto/gc-rijndael:
10815         * modules/crypto/gc-sha1:
10816         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
10817         now that the conditional dependencies do the work for us.
10818
10819 2011-11-17  Jim Meyering  <meyering@redhat.com>
10820
10821         tests: factor st_ctime-comparison out of two headers
10822         * tests/test-utimens-common.h (ctime_compare): Define.
10823         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
10824         * tests/test-lutimens.h (test_lutimens): Likewise.
10825         * tests/test-utimens.h (test_utimens): Likewise.
10826
10827         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
10828         Invoke the test program via an init.sh-using wrapper.
10829         * tests/test-getcwd.sh: New file.
10830         * modules/getcwd-tests (Files): Add it.
10831         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
10832
10833 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
10834
10835         gitlog-to-changelog: support multi-author commits.
10836         The FSF cares about keeping track of all authors of patches to its
10837         projects, but Git doesn't provide obvious support for multi-author
10838         changesets. Consensus seems to be forming around the use of extra
10839         Signed-off-by inspired lines in the log message formatted as
10840         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
10841         multi-author commits between version control systems.
10842         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
10843         log message and output in standard ChangeLog multi-author format.
10844         Reported by Peter Rosin <peda@lysator.liu.se>
10845
10846 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
10847             Bruno Haible  <bruno@clisp.org>
10848
10849         Fix some modules' file list.
10850         * modules/fstatat (Files): Add m4/lstat.m4.
10851         * modules/openat (Files): Likewise.
10852         * modules/unlinkat (Files): Likewise.
10853
10854 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
10855
10856         maint.mk: fix tight-scope.mk generation in VPATH builds.
10857         * top/maint.mk (tight-scope.mk): Make sure to prefix file
10858         reference with $(srcdir) so that the file is found correctly even
10859         when running `make syntax-check' in a VPATH build.
10860
10861 2011-11-13  Bruno Haible  <bruno@clisp.org>
10862             Jim Meyering  <meyering@redhat.com>
10863
10864         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
10865         * tests/init.sh (compare): Remove "No differences encountered" or
10866         synonymous output from the 'diff' program.
10867
10868 2011-11-13  Bruno Haible  <bruno@clisp.org>
10869
10870         Makefile: Tweak indentation.
10871         * Makefile: Use tab as first character in every line that contains rule
10872         commands.
10873
10874 2011-11-13  Bruno Haible  <bruno@clisp.org>
10875
10876         Syntax check for copyright statements.
10877         * check-copyright: New file.
10878         * Makefile (sc_check_copyright): New rule.
10879
10880 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10881
10882         * build-aux/git-version-gen: Add --prefix to configure the tag
10883         match string.
10884
10885 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10886
10887         * build-aux/git-version-gen: Add --help and --version.
10888
10889 2011-11-12  Jim Meyering  <meyering@redhat.com>
10890
10891         revamp the other test-exclude?.sh scripts to use init.sh, too
10892         * tests/test-exclude1.sh: Use init.sh.
10893         * tests/test-exclude2.sh: Likewise.
10894         * tests/test-exclude3.sh: Likewise.
10895         * tests/test-exclude4.sh: Likewise.
10896         * tests/test-exclude5.sh: Likewise.
10897         * tests/test-exclude6.sh: Likewise.
10898         * tests/test-exclude7.sh: Likewise.
10899         * tests/test-exclude8.sh: Likewise.
10900         * modules/exclude-tests (Files): List init.sh.
10901
10902         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
10903         These shell scripts ignored failure of the binary test-exclude,
10904         so making the latter return 77 didn't cause them to be skipped.
10905         * tests/test-exclude5.sh: Exit with test-exclude's error status
10906         when that program fails.  Revamp to use init.sh.
10907         * tests/test-exclude2.sh: Likewise.
10908
10909         test-exclude: fix a typo
10910         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
10911
10912 2011-11-11  Bruno Haible  <bruno@clisp.org>
10913
10914         obstack: Fix compilation error on MSVC 9.
10915         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
10916
10917 2011-11-11  Jim Meyering  <meyering@redhat.com>
10918
10919         test-exclude: skip tests rather than failing on deficient systems
10920         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
10921         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
10922         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
10923         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
10924
10925 2011-11-10  Bruno Haible  <bruno@clisp.org>
10926
10927         ptsname_r test: Avoid gcc warning on glibc systems.
10928         * tests/test-ptsname_r.c (null_ptr): New function.
10929         (test_errors): Use it.
10930
10931 2011-11-10  Bruno Haible  <bruno@clisp.org>
10932
10933         ptsname_r: Avoid compilation error on OSF/1 5.1.
10934         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
10935         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
10936         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
10937         function is not declared or incompatibly declared.
10938         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
10939         * modules/ptsname_r (Depends-on, configure.ac): Update.
10940         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
10941
10942 2011-11-10  Bruno Haible  <bruno@clisp.org>
10943
10944         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
10945         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
10946         When cross-compiling, guess yes on all platforms except AIX.
10947         Reported by Ludovic Courtès <ludo@gnu.org>.
10948
10949 2011-11-09  Bruno Haible  <bruno@clisp.org>
10950
10951         ptsname_r tests: Fix bugs.
10952         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
10953         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
10954
10955 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
10956
10957         fstatat: work with cross-compilation
10958         Problem reported by Ludovic Courtès in
10959         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
10960         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
10961         "cross-compiling" and assume the bug is present.  Replace
10962         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
10963         an inverted sense, to be more conservative about our assumptions.
10964         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
10965
10966 2011-11-09  Bruno Haible  <bruno@clisp.org>
10967
10968         Improve MODULES.html output.
10969         * modules/mkfifoat (Description): Use the word "function".
10970         * modules/readlinkat (Description): Likewise.
10971         * modules/symlinkat (Description): Likewise.
10972
10973 2011-11-09  Eric Blake  <eblake@redhat.com>
10974
10975         ptsname_r-tests: new test module
10976         * modules/ptsname_r-tests: New module.
10977         * tests/test-ptsname_r.c: New file.
10978
10979         ptsname_r: new module
10980         * modules/ptsname_r: New module.
10981         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
10982         * lib/ptsname.c (__ptsname_r): Split...
10983         * lib/ptsname_r.c: ...into new file.
10984         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
10985         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
10986         * modules/stdlib (Makefile.am): Substitute witnesses.
10987         * lib/stdlib.in.h (ptsname_r): Declare it.
10988         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
10989         * MODULES.html.sh (Misc): Likewise.
10990         * modules/ptsname (Depends-on): Alter dependency.
10991         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
10992
10993 2011-11-09  Jim Meyering  <meyering@redhat.com>
10994
10995         announce-gen: be more concise when there's only one URL+tarball
10996         * build-aux/announce-gen (get_tool_versions): When you distribute
10997         only one type of tarball, combine the first two "Here are..."
10998         sections and make the key-checking grammar independent of
10999         how many tarballs there are.
11000
11001 2011-11-09  Eric Blake  <eblake@redhat.com>
11002
11003         openpty: provide a stub on mingw
11004         * lib/pty.in.h (includes): Provide forward declarations.
11005         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
11006
11007         raise: fix mingw handling of SIGPIPE
11008         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
11009
11010 2011-11-08  Bruno Haible  <bruno@clisp.org>
11011
11012         More conditional dependencies.
11013         * modules/faccessat (Depends-on): Add conditions.
11014         * modules/fchmodat (Depends-on): Likewise.
11015         * modules/fchownat (Depends-on): Likewise.
11016         * modules/fstatat (Depends-on): Likewise.
11017         * modules/mkfifoat (Depends-on): Likewise.
11018         * modules/readlinkat (Depends-on): Likewise.
11019         * modules/symlinkat (Depends-on): Likewise.
11020         * modules/unlinkat (Depends-on): Likewise.
11021         * modules/utimensat (Depends-on): Likewise.
11022         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
11023         * modules/linkat (Depends-on): Refine the conditions.
11024         * modules/renameat (Depends-on): Likewise.
11025
11026 2011-11-08  Bruno Haible  <bruno@clisp.org>
11027
11028         faccessat: Move AC_LIBOBJ invocation to module description.
11029         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
11030         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
11031         invocation from here...
11032         * modules/faccessat (configure.ac): ... to here. Invoke
11033         gl_PREREQ_FACCESSAT.
11034
11035 2011-11-08  Bruno Haible  <bruno@clisp.org>
11036
11037         faccessat: Simplify autoconf macro.
11038         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
11039         gl_FUNC_EUIDACCESS.
11040
11041 2011-11-08  Bruno Haible  <bruno@clisp.org>
11042
11043         renameat: Fix dependencies.
11044         * modules/renameat (Depends-on): Add stdbool.
11045
11046 2011-11-08  Bruno Haible  <bruno@clisp.org>
11047
11048         mkfifoat: Fix module description.
11049         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
11050         not gl_UNISTD_MODULE_INDICATOR.
11051
11052 2011-11-08  Bruno Haible  <bruno@clisp.org>
11053
11054         fstatat: Remove unused dependency.
11055         * modules/fstatat (Depends-on): Remove fstat.
11056
11057 2011-11-08  Simon Josefsson  <simon@josefsson.org>
11058
11059         GNUmakefile: behave when Makefile is missing.
11060         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
11061
11062 2011-11-08  Bruno Haible  <bruno@clisp.org>
11063
11064         openat: Conditionalize dependencies.
11065         * lib/openat.c: Reduce the scope of some #includes.
11066         * modules/openat (Depends-on): Add conditions.
11067
11068 2011-11-07  Jim Meyering  <meyering@redhat.com>
11069
11070         maint.mk: extract GPG key ID without using a temporary file
11071         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
11072         without using a temporary file.  Based on a suggestion from Werner Koch
11073         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
11074
11075 2011-11-07  Eric Blake  <eblake@redhat.com>
11076
11077         grantpt: fix typo
11078         * lib/stdlib.in.h (grantpt): Check correct function.
11079
11080         maint.mk: silence new syntax check
11081         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
11082
11083 2011-11-06  Bruno Haible  <bruno@clisp.org>
11084
11085         Doc about floating-point and math API.
11086         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
11087         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
11088
11089 2011-11-06  Bruno Haible  <bruno@clisp.org>
11090
11091         stdalign tests: Skip the test when compiled by Sun C.
11092         * tests/test-stdalign.c (main): Skip the test on Sun C.
11093
11094 2011-11-06  Bruno Haible  <bruno@clisp.org>
11095
11096         ansi-c++-opt: Complete the 2011-06-05 change.
11097         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
11098         does not support namespaces, set the variable to "no", not to ":".
11099
11100 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
11101
11102         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
11103
11104 2011-11-06  Bruno Haible  <bruno@clisp.org>
11105
11106         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
11107         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
11108         (minus_zerol) [HP-UX]: New macro.
11109         (unary_minus) [HP-UX]: New function.
11110         (copysignl) [HP-UX]: Use unary_minus function.
11111
11112 2011-11-06  Bruno Haible  <bruno@clisp.org>
11113
11114         ldexp, ldexpf, ldexpl: Enhance tests.
11115         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
11116         and tests/test-ldexpl.c.
11117         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
11118         LDEXP, MIN_EXP, MAX_EXP): New macros.
11119         Include test-ldexp.h.
11120         (main): Just call test_function.
11121         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
11122         infinity.h, nan.h.
11123         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
11124         MAX_EXP): New macros.
11125         Include test-ldexp.h.
11126         (x, y): Remove variables.
11127         (main): Just call test_function.
11128         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
11129         infinity.h, nan.h.
11130         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
11131         MAX_EXP): New macros.
11132         Include test-ldexp.h.
11133         (x, y): Remove variables.
11134         (main): Just call test_function.
11135         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
11136         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
11137         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
11138         (Depends-on): Add isnand-nolibm, signbit, float.
11139         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
11140         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
11141         (Depends-on): Add isnanf-nolibm, signbit, float.
11142
11143 2011-11-06  Bruno Haible  <bruno@clisp.org>
11144
11145         math tests: Cosmetics.
11146         * tests/test-math-c++.cc: Reorder declarations.
11147
11148 2011-11-05  Bruno Haible  <bruno@clisp.org>
11149
11150         fma*: Simplify test.
11151         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
11152         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
11153
11154         Tests for module 'fmal'.
11155         * modules/fmal-tests: New file.
11156         * tests/test-fmal1.c: New file.
11157         * tests/test-fmal2.c: New file.
11158
11159         New module 'fmal'.
11160         * lib/math.in.h (fmal): New declaration.
11161         * lib/fmal.c: New file.
11162         * m4/fmal.m4: New file.
11163         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
11164         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
11165         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
11166         REPLACE_FMAL.
11167         * modules/fmal: New file.
11168         * doc/posix-functions/fmal.texi: Mention the new module and the various
11169         bugs.
11170
11171         Tests for module 'fmaf'.
11172         * modules/fmaf-tests: New file.
11173         * tests/test-fmaf1.c: New file.
11174         * tests/test-fmaf2.c: New file.
11175
11176         New module 'fmaf'.
11177         * lib/math.in.h (fmaf): New declaration.
11178         * lib/fmaf.c: New file.
11179         * m4/fmaf.m4: New file.
11180         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
11181         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
11182         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
11183         REPLACE_FMAF.
11184         * modules/fmaf: New file.
11185         * doc/posix-functions/fmaf.texi: Mention the new module and the various
11186         bugs.
11187
11188         Tests for module 'fma'.
11189         * modules/fma-tests: New file.
11190         * tests/test-fma1.c: New file.
11191         * tests/test-fma1.h: New file.
11192         * tests/test-fma2.c: New file.
11193         * tests/test-fma2.h: New file.
11194
11195         New module 'fma'.
11196         * lib/math.in.h (fma): New declaration.
11197         * lib/fma.c: New file.
11198         * m4/fma.m4: New file.
11199         * m4/fegetround.m4: New file.
11200         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
11201         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
11202         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
11203         REPLACE_FMA.
11204         * modules/fma: New file.
11205         * doc/posix-functions/fma.texi: Mention the new module and the various
11206         bugs.
11207
11208         Extend gl_MATHFUNC.
11209         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
11210         Support 'void' as argument type.
11211         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
11212
11213 2011-11-05  Jim Meyering  <meyering@redhat.com>
11214
11215         maint.mk: also prohibit inclusion of dirent.h without use
11216         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
11217
11218 2011-11-05  Bruno Haible  <bruno@clisp.org>
11219
11220         ldexpl tests: Avoid test failure on MSVC 9.
11221         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
11222         value. Needed in order to enforce the conversion from a value greater
11223         than LDBL_MAX to Infinity.
11224
11225 2011-11-05  Bruno Haible  <bruno@clisp.org>
11226
11227         New modules 'at-internal', 'openat-h', split off from module 'openat'.
11228         * modules/at-internal: New file, extracted from modules/openat.
11229         * modules/openat-h: New file.
11230         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
11231         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
11232         * modules/openat (Description): Add reference to POSIX function.
11233         (Files): Remove lib/openat.h, lib/openat-proc.c.
11234         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
11235         intprops, unistd.
11236         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
11237         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
11238         gl_FCNTL_MODULE_INDICATOR.
11239         (Include): Remove unistd.h, openat.h.
11240         * modules/areadlinkat (Files): Add lib/at-func.c.
11241         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
11242         openat-die, openat-h, save-cwd.
11243         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
11244         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
11245         openat-die, openat-h, save-cwd, unistd.
11246         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
11247         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
11248         openat-h, save-cwd. Remove fcntl-h, openat.
11249         * modules/fchmodat (Files): Remove lib/openat.h.
11250         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
11251         openat, stdbool, unistd.
11252         * modules/fchownat (Files): Remove lib/openat.h.
11253         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
11254         openat, stdbool, sys_stat.
11255         * modules/fdopendir (Files): Remove lib/openat-priv.h,
11256         lib/openat-proc.c.
11257         (Depends-on): Add at-internal.
11258         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
11259         * modules/fstatat (Files): Remove lib/openat.h.
11260         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
11261         stdbool, unistd.
11262         * modules/fts (Depends-on): Add openat-h.
11263         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
11264         openat.
11265         * modules/mkdirat (Files): Remove lib/openat.h.
11266         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
11267         openat, stdbool, sys_stat.
11268         * modules/mkfifoat (Files): Add lib/at-func.c.
11269         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
11270         openat-h, save-cwd. Remove fcntl-h, openat.
11271         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
11272         * modules/readlinkat (Files): Add lib/at-func.c.
11273         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
11274         openat-h, save-cwd. Remove fcntl-h, openat.
11275         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
11276         openat.
11277         * modules/selinux-at (Files): Add lib/at-func.c.
11278         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
11279         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
11280         * modules/symlinkat (Files): Add lib/at-func.c.
11281         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
11282         openat-h, save-cwd. Remove fcntl-h, openat.
11283         * modules/unlinkat (Files): Remove lib/openat.h.
11284         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
11285         stdbool.
11286         * modules/utimensat (Files): Add lib/at-func.c.
11287         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
11288         openat-die, openat-h, save-cwd.
11289         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
11290         * modules/fdutimensat-tests (Depends-on): Add openat.
11291         * modules/fstatat-tests (Depends-on): Add openat-h.
11292         * modules/readlinkat-tests (Depends-on): Add openat.
11293         * modules/symlinkat-tests (Depends-on): Add openat.
11294
11295 2011-11-05  Bruno Haible  <bruno@clisp.org>
11296
11297         openat: Include <stdbool.h>.
11298         * lib/openat.c: Include <stdbool.h>.
11299
11300 2011-11-04  Bruno Haible  <bruno@clisp.org>
11301
11302         fchownat, renameat, unlinkat: Fix dependencies.
11303         * modules/fchownat (Depends-on): Add fstatat.
11304         * modules/renameat (Depends-on): Likewise.
11305         * modules/unlinkat (Depends-on): Likewise.
11306
11307 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
11308
11309         openat: remove direct dependency on dirent
11310         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
11311         and hasn't been needed ever since fdopendir was split into its own
11312         module on 2009-08-31.
11313         * modules/openat (Depends-on): Remove dirent.
11314
11315 2011-11-04  Bruno Haible  <bruno@clisp.org>
11316
11317         renameat: Optimize code size.
11318         * modules/renameat (configure.ac): Don't compile at-func2.c if
11319         REPLACE_RENAMEAT is 1.
11320
11321 2011-11-04  Bruno Haible  <bruno@clisp.org>
11322
11323         openat tests: Fix file list.
11324         * modules/openat-tests (Files): Add tests/test-open.h.
11325
11326 2011-11-04  Bruno Haible  <bruno@clisp.org>
11327
11328         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
11329         * modules/fchmodat (Depends-on): Add openat-die.
11330         * modules/fchownat (Depends-on): Likewise.
11331         * modules/linkat (Depends-on): Likewise.
11332         * modules/renameat (Depends-on): Likewise.
11333         * modules/openat (Depends-on): Add dirent.
11334
11335 2011-11-04  Jim Meyering  <meyering@redhat.com>
11336
11337         at-func*.c: fix comments
11338         * lib/at-func2.c: Correct/improve first-line comment.
11339         * lib/at-func.c: Correct grammar in first-line comment.
11340
11341 2011-11-04  Bruno Haible  <bruno@clisp.org>
11342
11343         New module 'mkdirat', split off from module 'openat'.
11344         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
11345         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
11346         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
11347         * modules/mkdirat: New file, extracted from modules/openat.
11348         * modules/openat (Files): Remove lib/mkdirat.c.
11349         (Depends-on): Remove mkdir.
11350         (configure.ac): Remove AC_LIBOBJ of mkdirat.
11351         (Include): Remove <sys/stat.h>.
11352         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
11353         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
11354         tests/test-mkdir.h.
11355         (Depends-on): Remove ignore-value.
11356         (Makefile.am): Remove rules for test-mkdirat.
11357         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
11358         of module 'openat'.
11359         * NEWS: Mention the change.
11360
11361 2011-11-04  Bruno Haible  <bruno@clisp.org>
11362
11363         closedir: Avoid warning on mingw.
11364         * lib/closedir.c: Include <unistd.h>.
11365
11366 2011-11-04  Bruno Haible  <bruno@clisp.org>
11367
11368         New module 'fstatat', split off from module 'openat'.
11369         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
11370         defined.
11371         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
11372         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
11373         gl_FUNC_FSTATAT.
11374         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
11375         * modules/fstatat: New file, extracted from modules/openat.
11376         * modules/openat (Files): Remove lib/fstatat.c.
11377         (Depends-on): Remove lstat.
11378         (configure.ac): Remove AC_LIBOBJ of fstatat.
11379         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
11380         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
11381         tests/test-lstat.h, tests/test-stat.h.
11382         (Depends-on): Remove getcwd-lgpl.
11383         (Makefile.am): Remove rules for test-fstatat.
11384         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
11385         of module 'openat'.
11386         * NEWS: Mention the change.
11387         * modules/getcwd (Depends-on): Add fstatat.
11388         * modules/linkat (Depends-on): Likewise.
11389         * modules/mkfifoat-tests (Depends-on): Likewise.
11390         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
11391
11392 2011-11-03  Bruno Haible  <bruno@clisp.org>
11393
11394         New module 'unlinkat', split off from module 'openat'.
11395         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
11396         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
11397         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
11398         * modules/unlinkat: New file, extracted from modules/openat. Correct
11399         the dependency conditions.
11400         * modules/openat (Files): Remove lib/unlinkat.c.
11401         (Depends-on): Remove rmdir, unlink.
11402         (configure.ac): Remove AC_LIBOBJ of unlinkat.
11403         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
11404         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
11405         tests/test-rmdir.h, tests/test-unlink.h.
11406         (Depends-on): Remove unlinkdir.
11407         (Makefile.am): Remove rules for test-unlinkat.
11408         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
11409         of module 'openat'.
11410         * NEWS: Mention the change.
11411         * modules/linkat-tests (Depends-on): Add unlinkat.
11412         * modules/mkfifoat-tests (Depends-on): Likewise.
11413         * modules/readlinkat-tests (Depends-on): Likewise.
11414
11415 2011-11-02  Bruno Haible  <bruno@clisp.org>
11416
11417         New module 'fchmodat', split off from module 'openat'.
11418         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
11419         defined.
11420         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
11421         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
11422         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
11423         * modules/fchmodat: New file, extracted from modules/openat.
11424         * modules/openat (Files): Remove lib/fchmodat.c.
11425         (configure.ac): Remove AC_LIBOBJ of fchmodat.
11426         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
11427         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
11428         (Makefile.am): Remove rules for test-fchmodat.
11429         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
11430         of module 'openat'.
11431         * NEWS: Mention the change.
11432
11433 2011-11-02  Jim Meyering  <meyering@redhat.com>
11434
11435         putenv: indent #definition of "environ" to placate cppi
11436         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
11437
11438         gitlog-to-changelog: provide a ChangeLog-repair mechanism
11439         Git logs are often treated as immutable, because editing them
11440         changes the SHA1 checksums of all descendants.  Thus, errors in
11441         git logs tend to stay there forever.  However, when we generate
11442         a ChangeLog file -- typically for distribution -- from that git log,
11443         we can actually make corrections in the generated file.  The key
11444         lies in recording in machine-readable/applicable form the desired
11445         corrections.  See --help for description and an example.
11446         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
11447         (usage): Describe it; alphabetize option descriptions.
11448         (main): Honor the new option, carefully.
11449
11450 2011-11-01  Jim Meyering  <meyering@redhat.com>
11451
11452         gitlog-to-changelog: avoid an infloop
11453         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
11454         that ends up being empty.
11455
11456 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
11457
11458         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
11459         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
11460         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
11461         contains (possibly-quoted) backslashes.  This should avoid
11462         all-too-common shell bugs if COMPLICATED contains backslashes in
11463         the "wrong" places.  Reported by David Evans in
11464         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
11465         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
11466         because we want ASCII ranges.  Is there some reason we don't use
11467         the C locale everywhere in this script?
11468         (func_module, top level): Avoid unwanted pathname expansion when
11469         $repo_url_prefix or $repo_url_suffix_repl contain shell
11470         metacharacters like '?' and '*'.
11471
11472 2011-11-01  Bruno Haible  <bruno@clisp.org>
11473
11474         fchownat: Improve description.
11475         * modules/fchownat (Description): Add link to function.
11476
11477 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
11478
11479         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
11480         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
11481         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
11482         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
11483
11484 2011-11-01  Bruno Haible  <bruno@clisp.org>
11485
11486         alignof: Avoid collision with stdalign module.
11487         * lib/alignof.h (alignof): Remove macro.
11488         * NEWS: Mention the change.
11489         Reported by Paul Eggert.
11490
11491 2011-11-01  Bruno Haible  <bruno@clisp.org>
11492
11493         New module 'fchownat', split off from module 'openat'.
11494         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
11495         defined.
11496         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
11497         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
11498         invoke gl_FUNC_FCHOWNAT.
11499         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
11500         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
11501         * modules/fchownat: New file, extracted from modules/openat.
11502         * modules/openat (Files): Remove lib/fchownat.c.
11503         (Depends-on): Remove lchown.
11504         (configure.ac): Remove AC_LIBOBJ of fchownat.
11505         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
11506         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
11507         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
11508         (Depends-on): Remove mgetgroups, usleep, stat-time.
11509         (configure.ac): Remove test for getegid.
11510         (Makefile.am): Remove rules for test-fchownat.
11511         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
11512         of module 'openat'.
11513         * NEWS: Mention the change.
11514
11515 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
11516
11517         stdalign: port better to MSVC and to Sun C 5.11
11518         This fixes some of the problems reported by Bruno Haible in
11519         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
11520         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
11521         shortcomings of MSVC and of Sun C 5.11.
11522         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
11523         around __declspec arg.
11524         * modules/stdalign-tests (Files): Add tests/macros.h.
11525         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
11526         Include macros.h, for ASSERT.
11527         (DECLARE_ALIGNED): Remove.
11528         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
11529         to catch bug), and to 1 if not (simplifies the rest of the code).
11530         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
11531         (CHECK_AUTO): Remove.
11532         (CHECK_ALIGNED): Check only the alignment of the static vars,
11533         since auto var alignment isn't supported by Sun C 5.11.
11534         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
11535         ASSERT failures are easier to diagnose.
11536
11537 2011-10-31  Bruno Haible  <bruno@clisp.org>
11538
11539         doc about some IRIX 5.3 problems.
11540         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
11541         on IRIX 5.3.
11542         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
11543         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
11544         5.3.
11545         * doc/posix-functions/grantpt.texi: Likewise.
11546         * doc/posix-functions/unlockpt.texi: Likewise.
11547         * doc/posix-functions/lgamma.texi: Likewise.
11548         * doc/posix-functions/nextafter.texi: Likewise.
11549         * doc/posix-functions/remainder.texi: Likewise.
11550         * doc/posix-functions/select.texi: Mention misplaced declaration on
11551         IRIX 5.3.
11552         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11553
11554 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
11555
11556         gitlog-to-changelog: fix git-log invocation.
11557         git-log mishandles date strings before 1970-01-01 UTC, and there is
11558         no use to specify --since=1970-01-01 by default anyway.
11559         * build-aux/gitlog-to-changelog: By default, when no --since option
11560         was given, do not specify explicit --since option to git-log.
11561
11562 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
11563
11564         gitlog-to-changelog: new option --append-dot.
11565         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
11566         first non-blank line of each commit message terminated with a dot.
11567
11568 2011-10-30  Bruno Haible  <bruno@clisp.org>
11569
11570         ffsl, ffsll: Avoid compilation error due to 'restrict'.
11571         * lib/ffsl.h: Include <config.h>.
11572         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
11573
11574 2011-10-30  Jim Meyering  <meyering@redhat.com>
11575
11576         GNUmakefile: reenable "make syntax-check" for most projects
11577         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
11578         build-aux variable", "syntax-check" would do nothing but succeed with
11579         the "No version control files detected..." diagnostic (unless you
11580         happened to override _build-aux via cfg.mk).
11581         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
11582         to precede inclusion of maint.mk.  Otherwise, these variables would
11583         be used undefined in any project that does not override the default.
11584
11585 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
11586
11587         gitlog-to-changelog: treat a message with only blank lines as empty.
11588         * build-aux/gitlog-to-changelog: Move the code that removes leading and
11589         trailing blank lines before the code that issues a warning about an
11590         empty commit message.
11591
11592 2011-10-30  Jim Meyering  <meyering@redhat.com>
11593
11594         test-parse-datetime.c: avoid new DST-related false positive test failure
11595         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
11596         based on the time/date we'll convert, not the current time.
11597         Otherwise, the moment we cross a DST boundary like today's in
11598         Europe, (CEST to CET), that offset ends up being one hour off.
11599
11600 2011-10-27  Bruno Haible  <bruno@clisp.org>
11601
11602         fstat: Tweak documentation.
11603         * modules/fstat (Description): More precise description.
11604
11605 2011-10-27  Bruno Haible  <bruno@clisp.org>
11606
11607         Update documentation regarding 'largefile' module.
11608         * doc/posix-functions/fstat.texi: Tweak wording.
11609         * doc/posix-functions/opendir.texi: Mention that the module fixes the
11610         problems with huge directories and/or small ino_t types.
11611         * doc/posix-functions/readdir.texi: Likewise.
11612         * doc/posix-functions/rewinddir.texi: Likewise.
11613
11614 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
11615
11616         maint.mk: don't maintain a second build-aux variable.
11617         * maint.mk (build_aux): Removed.  The maintainer-makefile module
11618         depends on GNUmakefile, which already maintains a cfg.mk
11619         overridable $(_build-aux) for projects with a non-standard
11620         build-aux directory location, although without the $(srcdir)
11621         prefix.  Use that variable consistently instead of introducing a
11622         second one.  Adjust all call sites.
11623
11624 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
11625
11626         Add stdalign module and use it in other modules.
11627         This is based on a previous proposal by Bruno Haible
11628         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
11629
11630         stdalign: new module
11631         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
11632         * modules/stdalign: New files.
11633         * MODULES.html.sh (c1x_core_properties): Add stdalign.
11634         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
11635
11636         stdalign-tests: new module
11637         * modules/stdalign-tests, tests/test-stdalign.c: New files.
11638
11639         argp: use stdalign
11640         * lib/argp-parse.c: Include <stdalign.h>.
11641         (alignof): Remove.
11642         * modules/argp (Depends-on): Add stdalign.
11643
11644         crypto libraries: use stdalign
11645         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
11646         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
11647         Do not include <stdlib.h> twice, in md4.c.
11648         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
11649         because we are accessing a pointer's bit-pattern, not a size.
11650         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
11651         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
11652         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
11653         * modules/crypto/sha512: Likewise.
11654
11655         sys_socket: use stdalign, not alignof
11656         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
11657         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
11658
11659 2011-10-27  Bruno Haible  <bruno@clisp.org>
11660
11661         raise test: Avoid a test failure on Linux/MIPS.
11662         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
11663         because 99 is a valid signal on Linux/MIPS.
11664
11665 2011-10-27  Bruno Haible  <bruno@clisp.org>
11666
11667         nonblocking tests: Fix test failure on Linux/MIPS.
11668         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
11669         Set to 270000.
11670
11671 2011-10-27  Bruno Haible  <bruno@clisp.org>
11672
11673         utimensat: Work around problem on Linux/hppa.
11674         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
11675         values.
11676         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
11677
11678 2011-10-25  Jim Meyering  <meyering@redhat.com>
11679
11680         maint.mk: fix a bug in sc_prohibit_stddef_without_use
11681         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
11682         after symbols like NULL, size_t, etc.
11683         Reported by Alfred M. Szmidt.
11684
11685         maint.mk: exempt ENODATA from a syntax-check rule
11686         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
11687         from the sc_prohibit_always-defined_macros syntax-check rule.
11688         Add a comment.  See this for more details:
11689         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
11690
11691 2011-10-23  Jim Meyering  <meyering@redhat.com>
11692
11693         fts: close parent dir FD before returning from post-traversal fts_read
11694         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
11695         unlink A, even though an FD open on A remained.  This is suboptimal
11696         (holding a file descriptor open longer than needed), but otherwise not
11697         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
11698         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
11699         that represents a real problem: it causes the removal of A to fail
11700         with e.g., "rm: cannot remove `A': Device or resource busy"
11701
11702         fts visits each directory twice and keeps a cache (fts_fd_ring) of
11703         directory file descriptors.  After completing the final, FTS_DP,
11704         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
11705         cache, but then proceeded to add a new FD to it via the subsequent
11706         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
11707         final file descriptor would be closed only via fts_close's call to
11708         fd_ring_clear.  Now, it is usually closed earlier, via the final
11709         FTS_DP-returning fts_read call.
11710         * lib/fts.c (restore_initial_cwd): New function, converted from
11711         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
11712         Update callers.
11713         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
11714         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
11715
11716 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
11717             Bruno Haible  <bruno@clisp.org>
11718             Jim Meyering  <jim@meyering.net>
11719
11720         readme-release: improve safety of release prep instructions.
11721         * README-release: Don't git pull all branches when only master
11722         is needed for the release process.
11723         Run make maintainer-clean before changing trees and merging.
11724         Don't try to run ./configure right after git pull in case files
11725         that influence the bootstrap process have changed, move the
11726         ./configure step to after running ./bootstrap.
11727         Don't bootstrap "one last time"... it's the first time!
11728
11729 2011-10-22  Bruno Haible  <bruno@clisp.org>
11730
11731         errno, strerror-override: Support for MSVC 10.
11732         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
11733         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
11734         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
11735         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
11736         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
11737         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
11738         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
11739         Assign values compatible with MSVC 10.
11740         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
11741         New macros.
11742         (GNULIB_defined_EWINSOCK): New macro.
11743         * lib/strerror-override.c (strerror_override): Update accordingly.
11744         * lib/strerror-override.h: Likewise.
11745         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
11746         longer equal to the corresponding errno value.
11747         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11748
11749 2011-10-22  Bruno Haible  <bruno@clisp.org>
11750
11751         perror: Recognize when test program crashes.
11752         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
11753         strerror, set gl_cv_func_perror_works to no.
11754         Reported by Daniel Richard G. <skunk@iskunk.org>.
11755
11756         perror: Fix indentation.
11757         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
11758
11759 2011-10-22  Bruno Haible  <bruno@clisp.org>
11760
11761         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
11762         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
11763         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
11764         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
11765         functions, not as a macro.
11766         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
11767         macros.
11768         (isfinite, isinf, isnan, signbit): Check overloaded functions and
11769         absence of macro.
11770         Suggested by Eric Blake.
11771         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11772
11773 2011-10-21  Bruno Haible  <bruno@clisp.org>
11774
11775         relocatable-prog-wrapper: Don't leave object files behind.
11776         * build-aux/install-reloc: Re-synchronize list of .o files to be
11777         removed with list of compilation units.
11778
11779 2011-10-20  Bruno Haible  <bruno@clisp.org>
11780
11781         openpty, posix_openpt: Remove code duplication.
11782         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
11783         * lib/openpty.c: Include <stdlib.h>.
11784         (openpty): Use posix_openpt on all platforms except IRIX.
11785         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
11786
11787 2011-10-20  Bruno Haible  <bruno@clisp.org>
11788
11789         unlockpt: Detect invalid argument.
11790         * lib/unlockpt.c: Include <fcntl.h>.
11791         (unlockpt): Check whether fd is valid, using fcntl().
11792         * modules/unlockpt (Depends-on): Add fcntl-h.
11793
11794 2011-10-20  Bruno Haible  <bruno@clisp.org>
11795
11796         openpty: Avoid compilation error on AIX 6.1.
11797         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
11798
11799 2011-10-20  Bruno Haible  <bruno@clisp.org>
11800
11801         posix_openpt: Support for OpenBSD.
11802         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
11803         (posix_openpt) [OpenBSD]: New code.
11804         * lib/grantpt.c: Include <fcntl.h>.
11805         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
11806         * modules/grantpt (Depends-on): Add fcntl-h.
11807
11808 2011-10-20  Bruno Haible  <bruno@clisp.org>
11809
11810         posix_openpt test: Coding style.
11811         * tests/test-posix_openpt.c: Use GNU coding style.
11812
11813 2011-10-20  Bruno Haible  <bruno@clisp.org>
11814
11815         grantpt: Support --avoid=pt_chown.
11816         * modules/grantpt (Files): Add lib/pty-private.h.
11817
11818 2011-10-20  Bruno Haible  <bruno@clisp.org>
11819
11820         posix_openpt: Fix autoconf macro.
11821         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
11822         unneeded check for _getpty.
11823
11824 2011-10-20  Bruno Haible  <bruno@clisp.org>
11825
11826         openpty: Update comments.
11827         * lib/openpty.c: Add comments about Minix.
11828
11829 2011-10-19  Eric Blake  <eblake@redhat.com>
11830
11831         openpty: relax license
11832         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
11833
11834         pt_chown: use configmake to simplify build
11835         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
11836
11837         ptsname and others: relax license
11838         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
11839         * modules/unlockpt (License): Likewise.
11840         * modules/pt_chown (License): Likewise.
11841         * modules/ptsname (License): Likewise.
11842         * modules/ttyname_r (License): Likewise.
11843
11844 2011-10-19  Jim Meyering  <meyering@redhat.com>
11845
11846         posix_openpt: remove spurious #endif
11847         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
11848
11849 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
11850
11851         maint.mk: Respect $(build_aux) in web-manual rule.
11852         * top/maint.mk (web-manual): Find gen-announce script in user's
11853         $(build_aux) directory instead of hard-coding 'build-aux'.
11854
11855 2011-10-19  Bruno Haible  <bruno@clisp.org>
11856
11857         posix_openpt: Fix compilation error.
11858         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
11859         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
11860         Mention the openpty module as an alternative.
11861
11862 2011-10-19  Bruno Haible  <bruno@clisp.org>
11863
11864         Support for old NeXTstep 3.3 frexp().
11865         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
11866         execution time of the test to 5 seconds.
11867         Reported by Daniel Richard G. <skunk@iskunk.org>.
11868
11869 2011-10-19  Bruno Haible  <bruno@clisp.org>
11870
11871         Support for old NeXTstep 3.3 sed.
11872         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
11873         part, use /.../, not \|...|. Escape periods in the header file name.
11874         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
11875         Reported by Daniel Richard G. <skunk@iskunk.org>.
11876
11877 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11878
11879         Support for old NeXTstep 3.3 gcc.
11880         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
11881         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
11882         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
11883         * lib/spawn.in.h (_Restrict_arr_): Likewise.
11884         * lib/regex.h (_Restrict_arr_): Likewise.
11885         * lib/regex_internal.h (re_token_t): Likewise.
11886         * lib/regexec.c (check_node_accept_bytes): Likewise.
11887         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
11888
11889 2011-10-18  Eric Blake  <eblake@redhat.com>
11890
11891         posix_openpt: new module
11892         * modules/posix_openpt: New module.
11893         * m4/posix_openpt.m4: New file.
11894         * lib/posix_openpt.c: Likewise.
11895         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
11896         (gl_STDLIB_H_DEFAULTS): Set defaults.
11897         * modules/stdlib (Makefile.am): Substitute macros.
11898         * lib/stdlib.in.h (posix_openpt): Declare.
11899         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
11900         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
11901         * modules/posix_openpt-tests: New test module.
11902         * tests/test-posix_openpt.c: New test.
11903
11904 2011-10-15  Bruno Haible  <bruno@clisp.org>
11905
11906         xstrtoll: Fix compilation failure.
11907         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
11908         from lib/strtol.c.
11909         * doc/posix-headers/limits.texi: Mention missing numerical limits on
11910         some platforms.
11911         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11912
11913 2011-10-15  Bruno Haible  <bruno@clisp.org>
11914
11915         vasnprintf: Optimize bit search operation.
11916         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
11917         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
11918         gl_DOUBLE_EXPONENT_LOCATION.
11919         * modules/vasnprintf (Files): Add m4/exponentd.m4.
11920         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11921         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11922         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11923         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11924         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11925         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11926         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11927         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
11928
11929 2011-10-15  Bruno Haible  <bruno@clisp.org>
11930
11931         vasnprintf: Fix comments.
11932         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
11933
11934 2011-10-14  Bruno Haible  <bruno@clisp.org>
11935
11936         Tests for module 'integer_length_ll'.
11937         * modules/integer_length_ll-tests: New file.
11938         * tests/test-integer_length_ll.c: New file.
11939
11940         New module 'integer_length_ll'.
11941         * lib/integer_length_ll.c: New file.
11942         * modules/integer_length_ll: New file.
11943
11944 2011-10-14  Bruno Haible  <bruno@clisp.org>
11945
11946         Tests for module 'integer_length_l'.
11947         * modules/integer_length_l-tests: New file.
11948         * tests/test-integer_length_l.c: New file.
11949
11950         New module 'integer_length_l'.
11951         * lib/integer_length_l.c: New file.
11952         * modules/integer_length_l: New file.
11953
11954 2011-10-14  Bruno Haible  <bruno@clisp.org>
11955
11956         Tests for module 'integer_length'.
11957         * modules/integer_length-tests: New file.
11958         * tests/test-integer_length.c: New file.
11959
11960         New module 'integer_length'.
11961         * lib/integer_length.h: New file.
11962         * lib/integer_length.c: New file.
11963         * modules/integer_length: New file.
11964
11965 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11966
11967         popen: Fix dependency conditions.
11968         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
11969
11970 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11971
11972         perror: Fix autoconf test.
11973         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
11974         <stdlib.h> and <string.h>.
11975
11976 2011-10-14  Bruno Haible  <bruno@clisp.org>
11977
11978         ffsl: Optimize on 64-bit platforms.
11979         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
11980         unrolling.
11981
11982 2011-10-13  Bruno Haible  <bruno@clisp.org>
11983
11984         ffsl: Optimize on 32-bit platforms.
11985         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
11986         use ffs() without a loop.
11987
11988         ffsl, ffsll: Optimize for GCC.
11989         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
11990         * lib/ffsl.c (GCC_BUILTIN): New macro.
11991         * lib/ffsll.c (GCC_BUILTIN): Likewise.
11992
11993 2011-10-13  Bruno Haible  <bruno@clisp.org>
11994
11995         ffs, bcopy, memset: Support symbol renaming via config.h.
11996         * lib/ffs.c: Include <config.h>.
11997         * lib/bcopy.c: Likewise.
11998         * lib/memset.c: Likewise.
11999
12000 2011-10-10  Bruno Haible  <bruno@clisp.org>
12001
12002         atanl: Simplify for platforms where 'long double' == 'double'.
12003         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
12004         alternative implementation.
12005         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12006         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12007         * modules/atanl (Depends-on): Add atan. Update conditions.
12008
12009 2011-10-10  Bruno Haible  <bruno@clisp.org>
12010
12011         acosl: Simplify for platforms where 'long double' == 'double'.
12012         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
12013         alternative implementation.
12014         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12015         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12016         * modules/acosl (Depends-on): Add acos. Update conditions.
12017
12018 2011-10-10  Bruno Haible  <bruno@clisp.org>
12019
12020         asinl: Simplify for platforms where 'long double' == 'double'.
12021         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
12022         alternative implementation.
12023         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12024         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12025         * modules/asinl (Depends-on): Add asin. Update conditions.
12026
12027 2011-10-10  Bruno Haible  <bruno@clisp.org>
12028
12029         tanl: Simplify for platforms where 'long double' == 'double'.
12030         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
12031         implementation.
12032         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12033         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12034         * modules/tanl (Depends-on): Add tan. Update conditions.
12035         (configure.ac): Don't compile trigl.c if
12036         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12037
12038 2011-10-10  Bruno Haible  <bruno@clisp.org>
12039
12040         cosl: Simplify for platforms where 'long double' == 'double'.
12041         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
12042         implementation.
12043         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12044         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12045         * modules/cosl (Depends-on): Add cos. Update conditions.
12046         (configure.ac): Don't compile sincosl.c and trigl.c if
12047         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12048
12049 2011-10-10  Bruno Haible  <bruno@clisp.org>
12050
12051         sinl: Simplify for platforms where 'long double' == 'double'.
12052         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
12053         implementation.
12054         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12055         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12056         * modules/sinl (Depends-on): Add sin. Update conditions.
12057         (configure.ac): Don't compile sincosl.c and trigl.c if
12058         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12059
12060 2011-10-10  Bruno Haible  <bruno@clisp.org>
12061
12062         logl: Simplify for platforms where 'long double' == 'double'.
12063         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
12064         implementation.
12065         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12066         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12067         * modules/logl (Depends-on): Add log. Update conditions.
12068
12069 2011-10-10  Bruno Haible  <bruno@clisp.org>
12070
12071         expl: Simplify for platforms where 'long double' == 'double'.
12072         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
12073         implementation.
12074         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12075         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12076         * modules/expl (Depends-on): Add exp. Update conditions.
12077
12078 2011-10-10  Bruno Haible  <bruno@clisp.org>
12079
12080         sqrtl: Simplify for platforms where 'long double' == 'double'.
12081         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
12082         alternative implementation.
12083         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12084         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12085         * modules/sqrtl (Depends-on): Update conditions.
12086
12087 2011-10-10  Bruno Haible  <bruno@clisp.org>
12088
12089         ldexpl: Simplify for platforms where 'long double' == 'double'.
12090         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
12091         alternative implementation.
12092         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12093         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12094         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
12095
12096 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
12097
12098         ffsll: set correct witness
12099         * modules/ffsll (configure.ac): Fix typo.
12100
12101 2011-10-10  Bruno Haible  <bruno@clisp.org>
12102
12103         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
12104         * lib/printf-frexpl.c: Include <config.h>.
12105         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
12106         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
12107         second time.
12108         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
12109         gl_LONG_DOUBLE_VS_DOUBLE.
12110         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
12111         conditions.
12112
12113 2011-10-10  Bruno Haible  <bruno@clisp.org>
12114
12115         frexpl: Simplify for platforms where 'long double' == 'double'.
12116         * lib/frexpl.c: Include <config.h>.
12117         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
12118         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
12119         time.
12120         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12121         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12122         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
12123         * modules/frexpl (Depends-on): Add frexp. Update conditions.
12124         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
12125         conditions.
12126
12127 2011-10-10  Jim Meyering  <meyering@redhat.com>
12128
12129         test-renameat: don't leave behind a temporary file
12130         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
12131           ERROR: files left in build directory after distclean:
12132           ./gltests/test-renameat.too
12133           make[1]: *** [distcleancheck] Error 1
12134         Reported by Tom G. Christensen.
12135
12136 2011-10-09  Bruno Haible  <bruno@clisp.org>
12137
12138         rint: Determine RINT_LIBM correctly on AIX 7.
12139         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
12140         directly, not only through a function pointer. Also accept an optional
12141         4th argument with extra code.
12142         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
12143         rintf() call by gcc when optimizing.
12144
12145         mathfunc.m4: Refactor.
12146         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
12147         m4 variable.
12148
12149 2011-10-09  Bruno Haible  <bruno@clisp.org>
12150
12151         rintl: Simplify for platforms where 'long double' == 'double'.
12152         * lib/rintl.c: Include <config.h>.
12153         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
12154         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
12155         time.
12156         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12157         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12158         * modules/rintl (Depends-on): Add rint. Update conditions.
12159
12160 2011-10-09  Bruno Haible  <bruno@clisp.org>
12161
12162         roundl: Simplify for platforms where 'long double' == 'double'.
12163         * lib/roundl.c: Include <config.h>.
12164         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
12165         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
12166         time.
12167         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12168         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12169         * modules/roundl (Depends-on): Add round. Update conditions.
12170
12171 2011-10-09  Bruno Haible  <bruno@clisp.org>
12172
12173         truncl: Simplify for platforms where 'long double' == 'double'.
12174         * lib/truncl.c: Include <config.h>.
12175         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
12176         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
12177         time.
12178         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12179         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12180         * modules/truncl (Depends-on): Add trunc. Update conditions.
12181
12182 2011-10-09  Bruno Haible  <bruno@clisp.org>
12183
12184         ceill: Simplify for platforms where 'long double' == 'double'.
12185         * lib/ceill.c: Include <config.h>.
12186         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
12187         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
12188         time.
12189         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12190         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12191         * modules/ceill (Depends-on): Add ceil. Update conditions.
12192
12193 2011-10-09  Bruno Haible  <bruno@clisp.org>
12194
12195         floorl: Simplify for platforms where 'long double' == 'double'.
12196         * lib/floorl.c: Include <config.h>.
12197         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
12198         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
12199         time.
12200         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12201         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12202         * modules/floorl (Depends-on): Add floor. Update conditions.
12203
12204 2011-10-09  Bruno Haible  <bruno@clisp.org>
12205
12206         rint: Fix ordering constraints.
12207         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
12208         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
12209         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
12210
12211 2011-10-09  Bruno Haible  <bruno@clisp.org>
12212
12213         copysignl: Simplify for platforms where 'long double' == 'double'.
12214         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
12215         alternative.
12216         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12217         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12218         * modules/copysignl (Depends-on): Add copysign. Update conditions.
12219
12220 2011-10-09  Bruno Haible  <bruno@clisp.org>
12221
12222         Tests for module 'rintl'.
12223         * modules/rintl-tests: New file.
12224         * tests/test-rintl.c: New file.
12225
12226         New module 'rintl'.
12227         * lib/math.in.h (rintl): New declaration.
12228         * lib/rintl.c: New file.
12229         * m4/rintl.m4: New file.
12230         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
12231         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
12232         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
12233         * modules/rintl: New file.
12234         * tests/test-math-c++.cc: Check the declaration of rintl.
12235         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
12236         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
12237         * doc/posix-functions/rintl.texi: Mention the new module.
12238
12239 2011-10-09  Bruno Haible  <bruno@clisp.org>
12240
12241         Tests for module 'rintf'.
12242         * modules/rintf-tests: New file.
12243         * tests/test-rintf.c: New file.
12244
12245         New module 'rintf'.
12246         * lib/math.in.h (rintf): New declaration.
12247         * lib/rintf.c: New file.
12248         * m4/rintf.m4: New file.
12249         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
12250         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
12251         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
12252         * modules/rintf: New file.
12253         * tests/test-math-c++.cc: Check the declaration of rintf.
12254         * doc/posix-functions/rintf.texi: Mention the new module.
12255
12256 2011-10-09  Bruno Haible  <bruno@clisp.org>
12257
12258         rint: Support for MSVC.
12259         * lib/math.in.h (rint): New declaration.
12260         * lib/rint.c: New file.
12261         * m4/rint.m4: New file.
12262         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
12263         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
12264         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
12265         * modules/rint (Description): Fix.
12266         (Files): Add lib/rint.c, m4/rint.m4.
12267         (Depends-on): Add math.
12268         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
12269         gl_MATH_MODULE_INDICATOR.
12270         * tests/test-math-c++.cc: Check the declaration of rint.
12271         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
12272         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
12273         * doc/posix-functions/rint.texi: Mention the replacement provided by
12274         the module.
12275
12276         rint tests: More tests.
12277         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
12278         minus-zero.h, infinity.h, nan.h.
12279         (main): Skip the test if the current rounding mode is not standard. Add
12280         tests for negative numbers, minus zero, infinity, NaN.
12281         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
12282         tests/nan.h.
12283         (Depends-on): Add isnand-nolibm.
12284
12285 2011-10-09  Bruno Haible  <bruno@clisp.org>
12286
12287         Tests for module 'copysignl'.
12288         * modules/copysignl-tests: New file.
12289         * tests/test-copysignl.c: New file.
12290
12291         New module 'copysignl'.
12292         * lib/math.in.h (copysignl): New declaration.
12293         * lib/copysignl.c: New file.
12294         * m4/copysignl.m4: New file.
12295         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
12296         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
12297         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
12298         HAVE_COPYSIGNL.
12299         * modules/copysignl: New file.
12300         * tests/test-math-c++.cc: Check the declaration of copysignl.
12301         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
12302         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
12303         * doc/posix-functions/copysignl.texi: Mention the new module.
12304
12305 2011-10-09  Bruno Haible  <bruno@clisp.org>
12306
12307         Tests for module 'copysignf'.
12308         * modules/copysignf-tests: New file.
12309         * tests/test-copysignf.c: New file.
12310
12311         New module 'copysignf'.
12312         * lib/math.in.h (copysignf): New declaration.
12313         * lib/copysignf.c: New file.
12314         * m4/copysignf.m4: New file.
12315         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
12316         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
12317         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
12318         HAVE_COPYSIGNF.
12319         * modules/copysignf: New file.
12320         * tests/test-math-c++.cc: Check the declaration of copysignf.
12321         * doc/posix-functions/copysignf.texi: Mention the new module.
12322
12323 2011-10-09  Bruno Haible  <bruno@clisp.org>
12324
12325         Ensure that HAVE_* variables are set to 1 before they are set to 0.
12326         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
12327         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
12328         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
12329         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
12330         gl_SIGNAL_H_DEFAULTS.
12331
12332 2011-10-09  Bruno Haible  <bruno@clisp.org>
12333
12334         poll: Make macro safer.
12335         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
12336         ac_cv_header_poll_h is not set.
12337
12338 2011-10-09  Bruno Haible  <bruno@clisp.org>
12339
12340         copysign: Provide replacement.
12341         * lib/math.in.h (copysign): New declaration.
12342         * lib/copysign.c: New file.
12343         * m4/copysign.m4: New file.
12344         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
12345         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
12346         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
12347         HAVE_COPYSIGN.
12348         * modules/copysign (Description): Clarify.
12349         (Files): Add lib/copysign.c, m4/copysign.m4.
12350         (Depends-on): Add math, signbit.
12351         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
12352         gl_MATH_MODULE_INDICATOR.
12353         * tests/test-math-c++.cc: Check the declaration of copysign.
12354         * doc/posix-functions/copysign.texi: Mention the effects of the module
12355         on Minix and MSVC.
12356
12357 2011-10-09  Bruno Haible  <bruno@clisp.org>
12358
12359         isinf: Ensure macro on AIX 5.1.
12360         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
12361         macro.
12362         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
12363
12364 2011-10-09  Bruno Haible  <bruno@clisp.org>
12365
12366         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
12367         * modules/snprintf-posix-tests (configure.ac): Require
12368         gl_LONG_DOUBLE_VS_DOUBLE.
12369         * modules/sprintf-posix-tests (configure.ac): Likewise.
12370         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
12371         * modules/vasprintf-posix-tests (configure.ac): Likewise.
12372         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
12373         * modules/vsprintf-posix-tests (configure.ac): Likewise.
12374         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
12375         tests on platforms where 'long double' is the same as 'double'.
12376         * tests/test-sprintf-posix.h (test_function): Likewise.
12377         * tests/test-vasnprintf-posix.c (test_function): Likewise.
12378         * tests/test-vasprintf-posix.c (test_function): Likewise.
12379
12380         *printf: Fix for platforms where 'long double' == 'double'.
12381         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
12382         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
12383         * modules/dprintf-posix (Files): Add m4/math_h.m4.
12384         * modules/fprintf-posix (Files): Likewise.
12385         * modules/obstack-printf-posix (Files): Likewise.
12386         * modules/snprintf-posix (Files): Likewise.
12387         * modules/sprintf-posix (Files): Likewise.
12388         * modules/vasnprintf (Files): Likewise.
12389         * modules/vasnprintf-posix (Files): Likewise.
12390         * modules/vasprintf-posix (Files): Likewise.
12391         * modules/vdprintf-posix (Files): Likewise.
12392         * modules/vfprintf-posix (Files): Likewise.
12393         * modules/vsnprintf-posix (Files): Likewise.
12394         * modules/vsprintf-posix (Files): Likewise.
12395         * modules/unistdio/u8-vasnprintf (Files): Likewise.
12396         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
12397         * modules/unistdio/u16-vasnprintf (Files): Likewise.
12398         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
12399         * modules/unistdio/u32-vasnprintf (Files): Likewise.
12400         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
12401         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
12402
12403         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
12404         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
12405         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12406         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
12407         'long double'.
12408         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
12409
12410         isinf: Fix for platforms where 'long double' == 'double'.
12411         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
12412         Don't blindly assume 80-bit 'long double'.
12413
12414         isfinite: Fix for platforms where 'long double' == 'double'.
12415         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
12416         Don't blindly assume 80-bit 'long double'.
12417
12418         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
12419         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
12420         * modules/isfinite-tests (configure.ac): Require
12421         gl_LONG_DOUBLE_VS_DOUBLE.
12422         * modules/isinf-tests (configure.ac): Likewise.
12423         * modules/isnan-tests (configure.ac): Likewise.
12424         * modules/isnanl-tests (configure.ac): Likewise.
12425         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
12426         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
12427         tests on platforms where 'long double' is the same as 'double'.
12428         * tests/test-isinf.c (test_isinfl): Likewise.
12429         * tests/test-isnan.c (test_long_double): Likewise.
12430         * tests/test-isnanl.h (main): Likewise.
12431
12432 2011-10-08  Bruno Haible  <bruno@clisp.org>
12433
12434         Tests for module 'tanhf'.
12435         * modules/tanhf-tests: New file.
12436         * tests/test-tanhf.c: New file.
12437
12438         New module 'tanhf'.
12439         * lib/math.in.h (tanhf): New declaration.
12440         * lib/tanhf.c: New file.
12441         * m4/tanhf.m4: New file.
12442         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
12443         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
12444         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
12445         * modules/tanhf: New file.
12446         * tests/test-math-c++.cc: Check the declaration of tanhf.
12447         * doc/posix-functions/tanhf.texi: Mention the new module.
12448
12449         tanh: Use a .m4 file.
12450         * m4/tanh.m4: New file.
12451         * modules/tanh (Files): Add it.
12452         (configure.ac): Just invoke gl_FUNC_TANH.
12453
12454 2011-10-08  Bruno Haible  <bruno@clisp.org>
12455
12456         Tests for module 'coshf'.
12457         * modules/coshf-tests: New file.
12458         * tests/test-coshf.c: New file.
12459
12460         New module 'coshf'.
12461         * lib/math.in.h (coshf): New declaration.
12462         * lib/coshf.c: New file.
12463         * m4/coshf.m4: New file.
12464         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
12465         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
12466         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
12467         * modules/coshf: New file.
12468         * tests/test-math-c++.cc: Check the declaration of coshf.
12469         * doc/posix-functions/coshf.texi: Mention the new module.
12470
12471         cosh: Use a .m4 file.
12472         * m4/cosh.m4: New file.
12473         * modules/cosh (Files): Add it.
12474         (configure.ac): Just invoke gl_FUNC_COSH.
12475
12476 2011-10-08  Bruno Haible  <bruno@clisp.org>
12477
12478         Tests for module 'sinhf'.
12479         * modules/sinhf-tests: New file.
12480         * tests/test-sinhf.c: New file.
12481
12482         New module 'sinhf'.
12483         * lib/math.in.h (sinhf): New declaration.
12484         * lib/sinhf.c: New file.
12485         * m4/sinhf.m4: New file.
12486         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
12487         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
12488         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
12489         * modules/sinhf: New file.
12490         * tests/test-math-c++.cc: Check the declaration of sinhf.
12491         * doc/posix-functions/sinhf.texi: Mention the new module.
12492
12493         sinh: Use a .m4 file.
12494         * m4/sinh.m4: New file.
12495         * modules/sinh (Files): Add it.
12496         (configure.ac): Just invoke gl_FUNC_SINH.
12497
12498 2011-10-08  Bruno Haible  <bruno@clisp.org>
12499
12500         Tests for module 'atan2f'.
12501         * modules/atan2f-tests: New file.
12502         * tests/test-atan2f.c: New file.
12503
12504         New module 'atan2f'.
12505         * lib/math.in.h (atan2f): New declaration.
12506         * lib/atan2f.c: New file.
12507         * m4/atan2f.m4: New file.
12508         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
12509         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
12510         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
12511         * modules/atan2f: New file.
12512         * tests/test-math-c++.cc: Check the declaration of atan2f.
12513         * doc/posix-functions/atan2f.texi: Mention the new module.
12514
12515         atan2: Use a .m4 file.
12516         * m4/atan2.m4: New file.
12517         * modules/atan2 (Files): Add it.
12518         (configure.ac): Just invoke gl_FUNC_ATAN2.
12519
12520 2011-10-08  Bruno Haible  <bruno@clisp.org>
12521
12522         Tests for module 'atanf'.
12523         * modules/atanf-tests: New file.
12524         * tests/test-atanf.c: New file.
12525
12526         New module 'atanf'.
12527         * lib/math.in.h (atanf): New declaration.
12528         * lib/atanf.c: New file.
12529         * m4/atanf.m4: New file.
12530         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
12531         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
12532         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
12533         * modules/atanf: New file.
12534         * tests/test-math-c++.cc: Check the declaration of atanf.
12535         * doc/posix-functions/atanf.texi: Mention the new module.
12536
12537         atan: Use a .m4 file.
12538         * m4/atan.m4: New file.
12539         * modules/atan (Files): Add it.
12540         (configure.ac): Just invoke gl_FUNC_ATAN.
12541
12542 2011-10-08  Bruno Haible  <bruno@clisp.org>
12543
12544         Tests for module 'acosf'.
12545         * modules/acosf-tests: New file.
12546         * tests/test-acosf.c: New file.
12547
12548         New module 'acosf'.
12549         * lib/math.in.h (acosf): New declaration.
12550         * lib/acosf.c: New file.
12551         * m4/acosf.m4: New file.
12552         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
12553         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
12554         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
12555         * modules/acosf: New file.
12556         * tests/test-math-c++.cc: Check the declaration of acosf.
12557         * doc/posix-functions/acosf.texi: Mention the new module.
12558
12559         acos: Use a .m4 file.
12560         * m4/acos.m4: New file.
12561         * modules/acos (Files): Add it.
12562         (configure.ac): Just invoke gl_FUNC_ACOS.
12563
12564 2011-10-08  Bruno Haible  <bruno@clisp.org>
12565
12566         Tests for module 'asinf'.
12567         * modules/asinf-tests: New file.
12568         * tests/test-asinf.c: New file.
12569
12570         New module 'asinf'.
12571         * lib/math.in.h (asinf): New declaration.
12572         * lib/asinf.c: New file.
12573         * m4/asinf.m4: New file.
12574         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
12575         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
12576         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
12577         * modules/asinf: New file.
12578         * tests/test-math-c++.cc: Check the declaration of asinf.
12579         * doc/posix-functions/asinf.texi: Mention the new module.
12580
12581         asin: Use a .m4 file.
12582         * m4/asin.m4: New file.
12583         * modules/asin (Files): Add it.
12584         (configure.ac): Just invoke gl_FUNC_ASIN.
12585
12586 2011-10-08  Bruno Haible  <bruno@clisp.org>
12587
12588         Tests for module 'tanf'.
12589         * modules/tanf-tests: New file.
12590         * tests/test-tanf.c: New file.
12591
12592         New module 'tanf'.
12593         * lib/math.in.h (tanf): New declaration.
12594         * lib/tanf.c: New file.
12595         * m4/tanf.m4: New file.
12596         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
12597         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
12598         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
12599         * modules/tanf: New file.
12600         * tests/test-math-c++.cc: Check the declaration of tanf.
12601         * doc/posix-functions/tanf.texi: Mention the new module.
12602
12603         tan: Use a .m4 file.
12604         * m4/tan.m4: New file.
12605         * modules/tan (Files): Add it.
12606         (configure.ac): Just invoke gl_FUNC_TAN.
12607
12608 2011-10-08  Bruno Haible  <bruno@clisp.org>
12609
12610         Tests for module 'cosf'.
12611         * modules/cosf-tests: New file.
12612         * tests/test-cosf.c: New file.
12613
12614         New module 'cosf'.
12615         * lib/math.in.h (cosf): New declaration.
12616         * lib/cosf.c: New file.
12617         * m4/cosf.m4: New file.
12618         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
12619         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
12620         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
12621         * modules/cosf: New file.
12622         * tests/test-math-c++.cc: Check the declaration of cosf.
12623         * doc/posix-functions/cosf.texi: Mention the new module.
12624
12625         cos: Use a .m4 file.
12626         * m4/cos.m4: New file.
12627         * modules/cos (Files): Add it.
12628         (configure.ac): Just invoke gl_FUNC_COS.
12629
12630 2011-10-08  Bruno Haible  <bruno@clisp.org>
12631
12632         Tests for module 'sinf'.
12633         * modules/sinf-tests: New file.
12634         * tests/test-sinf.c: New file.
12635
12636         New module 'sinf'.
12637         * lib/math.in.h (sinf): New declaration.
12638         * lib/sinf.c: New file.
12639         * m4/sinf.m4: New file.
12640         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
12641         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
12642         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
12643         * modules/sinf: New file.
12644         * tests/test-math-c++.cc: Check the declaration of sinf.
12645         * doc/posix-functions/sinf.texi: Mention the new module.
12646
12647         sin: Use a .m4 file.
12648         * m4/sin.m4: New file.
12649         * modules/sin (Files): Add it.
12650         (configure.ac): Just invoke gl_FUNC_SIN.
12651
12652 2011-10-08  Bruno Haible  <bruno@clisp.org>
12653
12654         Tests for module 'powf'.
12655         * modules/powf-tests: New file.
12656         * tests/test-powf.c: New file.
12657
12658         New module 'powf'.
12659         * lib/math.in.h (powf): New declaration.
12660         * lib/powf.c: New file.
12661         * m4/powf.m4: New file.
12662         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
12663         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
12664         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
12665         * modules/powf: New file.
12666         * tests/test-math-c++.cc: Check the declaration of powf.
12667         * doc/posix-functions/powf.texi: Mention the new module.
12668
12669         pow: Use a .m4 file.
12670         * m4/pow.m4: New file.
12671         * modules/pow (Files): Add it.
12672         (configure.ac): Just invoke gl_FUNC_POW.
12673
12674 2011-10-08  Bruno Haible  <bruno@clisp.org>
12675
12676         Tests for module 'log10f'.
12677         * modules/log10f-tests: New file.
12678         * tests/test-log10f.c: New file.
12679
12680         New module 'log10f'.
12681         * lib/math.in.h (log10f): New declaration.
12682         * lib/log10f.c: New file.
12683         * m4/log10f.m4: New file.
12684         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
12685         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
12686         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
12687         * modules/log10f: New file.
12688         * tests/test-math-c++.cc: Check the declaration of log10f.
12689         * doc/posix-functions/log10f.texi: Mention the new module.
12690
12691         log10: Use a .m4 file.
12692         * m4/log10.m4: New file.
12693         * modules/log10 (Files): Add it.
12694         (configure.ac): Just invoke gl_FUNC_LOG10.
12695
12696 2011-10-08  Bruno Haible  <bruno@clisp.org>
12697
12698         Tests for module 'logf'.
12699         * modules/logf-tests: New file.
12700         * tests/test-logf.c: New file.
12701
12702         New module 'logf'.
12703         * lib/math.in.h (logf): New declaration.
12704         * lib/logf.c: New file.
12705         * m4/logf.m4: New file.
12706         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
12707         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
12708         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
12709         * modules/logf: New file.
12710         * tests/test-math-c++.cc: Check the declaration of logf.
12711         * doc/posix-functions/logf.texi: Mention the new module.
12712
12713         log: Use a .m4 file.
12714         * m4/log.m4: New file.
12715         * modules/log (Files): Add it.
12716         (configure.ac): Just invoke gl_FUNC_LOG.
12717
12718 2011-10-08  Bruno Haible  <bruno@clisp.org>
12719
12720         Tests for module 'expf'.
12721         * modules/expf-tests: New file.
12722         * tests/test-expf.c: New file.
12723
12724         New module 'expf'.
12725         * lib/math.in.h (expf): New declaration.
12726         * lib/expf.c: New file.
12727         * m4/expf.m4: New file.
12728         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
12729         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
12730         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
12731         * modules/expf: New file.
12732         * tests/test-math-c++.cc: Check the declaration of expf.
12733         * doc/posix-functions/expf.texi: Mention the new module.
12734
12735         exp: Use a .m4 file.
12736         * m4/exp.m4: New file.
12737         * modules/exp (Files): Add it.
12738         (configure.ac): Just invoke gl_FUNC_EXP.
12739
12740 2011-10-08  Bruno Haible  <bruno@clisp.org>
12741
12742         Tests for module 'sqrtf'.
12743         * modules/sqrtf-tests: New file.
12744         * tests/test-sqrtf.c: New file.
12745
12746         New module 'sqrtf'.
12747         * lib/math.in.h (sqrtf): New declaration.
12748         * lib/sqrtf.c: New file.
12749         * m4/sqrtf.m4: New file.
12750         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
12751         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
12752         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
12753         * modules/sqrtf: New file.
12754         * tests/test-math-c++.cc: Check the declaration of sqrtf.
12755         * doc/posix-functions/sqrtf.texi: Mention the new module.
12756
12757 2011-10-08  Bruno Haible  <bruno@clisp.org>
12758
12759         Tests: Avoid link failures w.r.t. libintl.
12760         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
12761         $(LIBINTL).
12762         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
12763         $(LIBINTL).
12764         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
12765         against $(LIBINTL).
12766         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
12767         $(LIBINTL).
12768         * modules/openat-tests (Makefile.am): Link test-fchmodat against
12769         $(LIBINTL).
12770         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
12771
12772 2011-10-08  Bruno Haible  <bruno@clisp.org>
12773
12774         pow tests: Defeat compiler optimizations.
12775         * tests/test-pow.c (main): Assign arguments to x and y before use.
12776
12777 2011-10-08  Bruno Haible  <bruno@clisp.org>
12778
12779         gnulib-tool: Improve last commit.
12780         * gnulib-tool (func_modules_transitive_closure): Simplify code.
12781         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
12782         ignore dependencies that are not among the modules list.
12783
12784 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
12785
12786         gnulib-tool: don't follow dependencies to avoided modules
12787         This fixes a bug that is related to the previous one.
12788         * gnulib-tool (func_modules_transitive_closure)
12789         (func_emit_autoconf_snippets):
12790         Check whether a dependency is acceptable before using it.
12791         (--extract-dependencies): Report an error if --avoid is also used,
12792         since this combination of options is not yet supported.
12793
12794         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
12795         Problem reported by Peter Dyballa in
12796         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
12797         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
12798         when echoing "$condition".
12799
12800 2011-10-07  Bruno Haible  <bruno@clisp.org>
12801
12802         Fix documentation about math functions on MacOS X.
12803         * doc/posix-functions/exp2.texi: Don't say the function is missing on
12804         MacOS X 10.5.
12805         * doc/posix-functions/fdim.texi: Likewise.
12806         * doc/posix-functions/feclearexcept.texi: Likewise.
12807         * doc/posix-functions/fegetenv.texi: Likewise.
12808         * doc/posix-functions/fegetround.texi: Likewise.
12809         * doc/posix-functions/feholdexcept.texi: Likewise.
12810         * doc/posix-functions/feraiseexcept.texi: Likewise.
12811         * doc/posix-functions/fesetenv.texi: Likewise.
12812         * doc/posix-functions/fesetround.texi: Likewise.
12813         * doc/posix-functions/fetestexcept.texi: Likewise.
12814         * doc/posix-functions/feupdateenv.texi: Likewise.
12815         * doc/posix-functions/fmax.texi: Likewise.
12816         * doc/posix-functions/fmin.texi: Likewise.
12817         * doc/posix-functions/log2.texi: Likewise.
12818         * doc/posix-functions/modff.texi: Likewise.
12819         * doc/posix-functions/nan.texi: Likewise.
12820         * doc/posix-functions/nanf.texi: Likewise.
12821         * doc/posix-functions/nextafterf.texi: Likewise.
12822         * doc/posix-functions/remquo.texi: Likewise.
12823
12824 2011-10-07  Bruno Haible  <bruno@clisp.org>
12825
12826         modff: Drop assumption about library that defines modff.
12827         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
12828         AC_CHECK_FUNCS.
12829         * modules/modff (Files): Add m4/mathfunc.m4.
12830
12831 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
12832
12833         raise tests: Avoid a GCC warning.
12834         * tests/test-raise.c (handler): Use _Noreturn.
12835
12836 2011-10-07  Bruno Haible  <bruno@clisp.org>
12837
12838         Tests for module 'ldexpf'.
12839         * modules/ldexpf-tests: New file.
12840         * tests/test-ldexpf.c: New file.
12841
12842         New module 'ldexpf'.
12843         * lib/math.in.h (ldexpf): New declaration.
12844         * lib/ldexpf.c: New file.
12845         * m4/ldexpf.m4: New file.
12846         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
12847         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
12848         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
12849         * modules/ldexpf: New file.
12850         * tests/test-math-c++.cc: Check the declaration of ldexpf.
12851         * doc/posix-functions/ldexpf.texi: Mention the new module.
12852
12853 2011-10-06  Bruno Haible  <bruno@clisp.org>
12854
12855         frexpf: Work around problems on IRIX and mingw.
12856         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
12857         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
12858         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
12859         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
12860         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
12861         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
12862         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
12863
12864 2011-10-06  Bruno Haible  <bruno@clisp.org>
12865
12866         fabsf: Drop assumption about library that defines fabsf.
12867         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
12868         AC_CHECK_FUNCS.
12869         * modules/fabsf (Files): Add m4/mathfunc.m4.
12870
12871 2011-10-06  Bruno Haible  <bruno@clisp.org>
12872
12873         frexpf: Drop assumption about library that defines frexpf.
12874         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
12875         'int *', 'float *', 'long double *', 'float', 'long double'.
12876         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
12877         AC_CHECK_FUNCS.
12878         * modules/frexpf (Files): Add m4/mathfunc.m4.
12879
12880         Tests for module 'frexpf'.
12881         * modules/frexpf-tests: New file.
12882         * tests/test-frexpf.c: New file.
12883
12884         New module 'frexpf'.
12885         * lib/math.in.h (frexpf): New declaration.
12886         * lib/frexpf.c: New file.
12887         * m4/frexpf.m4: New file.
12888         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
12889         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
12890         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
12891         * modules/frexpf: New file.
12892         * tests/test-math-c++.cc: Check the declaration of frexpf.
12893         * doc/posix-functions/frexpf.texi: Mention the new module.
12894
12895 2011-10-06  Bruno Haible  <bruno@clisp.org>
12896
12897         math: Sort function declarations of math.in.h.
12898         * lib/math.in.h (frexp, logb): Move declarations.
12899
12900 2011-10-05  Bruno Haible  <bruno@clisp.org>
12901
12902         Tests for module 'modff'.
12903         * modules/modff-tests: New file.
12904         * tests/test-modff.c: New file.
12905
12906         New module 'modff'.
12907         * lib/math.in.h (modff): New declaration.
12908         * lib/modff.c: New file.
12909         * m4/modff.m4: New file.
12910         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
12911         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
12912         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
12913         * modules/modff: New file.
12914         * tests/test-math-c++.cc: Check the declaration of modff.
12915         * doc/posix-functions/modff.texi: Mention the new module.
12916
12917         modf tests: Make test sharper.
12918         * tests/test-modf.c (main): Strengthen upper bound.
12919
12920         modf: Use a .m4 file.
12921         * m4/modf.m4: New file.
12922         * modules/modf (Files): Add it.
12923         (configure.ac): Just invoke gl_FUNC_MODF.
12924
12925 2011-10-05  Bruno Haible  <bruno@clisp.org>
12926
12927         Tests for module 'fmodf'.
12928         * modules/fmodf-tests: New file.
12929         * tests/test-fmodf.c: New file.
12930
12931         New module 'fmodf'.
12932         * lib/math.in.h (fmodf): New declaration.
12933         * lib/fmodf.c: New file.
12934         * m4/fmodf.m4: New file.
12935         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
12936         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
12937         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
12938         * modules/fmodf: New file.
12939         * tests/test-math-c++.cc: Check the declaration of fmodf.
12940         * doc/posix-functions/fmodf.texi: Mention the new module.
12941
12942         fmod: Use a .m4 file.
12943         * m4/fmod.m4: New file.
12944         * modules/fmod (Files): Add it.
12945         (configure.ac): Just invoke gl_FUNC_FMOD.
12946
12947 2011-10-05  Bruno Haible  <bruno@clisp.org>
12948
12949         Tests for module 'fabsf'.
12950         * modules/fabsf-tests: New file.
12951         * tests/test-fabsf.c: New file.
12952
12953         New module 'fabsf'.
12954         * lib/math.in.h (fabsf): New declaration.
12955         * lib/fabsf.c: New file.
12956         * m4/fabsf.m4: New file.
12957         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
12958         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
12959         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
12960         * modules/fabsf: New file.
12961         * tests/test-math-c++.cc: Check the declaration of fabsf.
12962         * doc/posix-functions/fabsf.texi: Mention the new module.
12963
12964         fabs: Use a .m4 file.
12965         * m4/fabs.m4: New file.
12966         * modules/fabs (Files): Add it.
12967         (configure.ac): Just invoke gl_FUNC_FABS.
12968
12969 2011-10-05  Jim Meyering  <meyering@redhat.com>
12970
12971         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
12972         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
12973         ls -lL regression introduced in coreutils-8.12, it does so at the
12974         cost of an additional stat call in the common case.  Besides, now
12975         that the kernel change that prompted commit 95f7c57f has been reverted
12976         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
12977         we have no use for commit 95f7c57f, "file-has-acl: use
12978         acl_extended_file_nofollow if available".
12979
12980 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
12981
12982         file-has-acl: revert unintended change in behavior of ls -L
12983         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
12984         derived from...
12985         (file_has_acl): ...code here.  Call it.
12986         This problem was introduced with 2011-07-22 commit 95f7c57f,
12987         "file-has-acl: use acl_extended_file_nofollow if available".
12988         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
12989
12990 2011-10-03  Bruno Haible  <bruno@clisp.org>
12991
12992         poll: Avoid link errors on MSVC.
12993         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
12994         * modules/poll (Depends-on): Add sockets.
12995         (Link): New section.
12996         * NEWS: Mention the change.
12997         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
12998         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
12999         $(LIB_POLL) instead of $(LIBSOCKET).
13000
13001 2011-10-03  Bruno Haible  <bruno@clisp.org>
13002
13003         sys_select tests: Fix link error on MSVC 9.
13004         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
13005         with $(LIB_SELECT) instead of $(LIBSOCKET).
13006
13007 2011-10-03  Bruno Haible  <bruno@clisp.org>
13008
13009         sys_select: Fix compilation error on mingw.
13010         * lib/sys_select.in.h: On native Windows, include <io.h>.
13011
13012 2011-10-03  Bruno Haible  <bruno@clisp.org>
13013
13014         wmemset: Support for MSVC.
13015         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
13016         whether wmemset() exists.
13017
13018 2011-10-03  Bruno Haible  <bruno@clisp.org>
13019
13020         wmemmove: Support for MSVC.
13021         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
13022         whether wmemmove() exists.
13023
13024 2011-10-03  Bruno Haible  <bruno@clisp.org>
13025
13026         wmemcpy: Support for MSVC.
13027         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
13028         whether wmemcpy() exists.
13029
13030 2011-10-03  Bruno Haible  <bruno@clisp.org>
13031
13032         wmemcmp: Support for MSVC.
13033         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
13034         whether wmemcmp() exists.
13035
13036 2011-10-03  Bruno Haible  <bruno@clisp.org>
13037
13038         wmemchr: Support for MSVC.
13039         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
13040         whether wmemchr() exists.
13041
13042 2011-10-03  Bruno Haible  <bruno@clisp.org>
13043
13044         glthread/*, strsignal: Support for MSVC.
13045         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
13046         including <winsock.h> on MSVC 9.
13047         * lib/glthread/lock.h: Likewise.
13048         * lib/glthread/thread.h: Likewise.
13049         * lib/glthread/tls.h: Likewise.
13050         * lib/glthread/yield.h: Likewise.
13051         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
13052         if HAVE_UNISTD_H is false.
13053         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
13054
13055 2011-10-03  Bruno Haible  <bruno@clisp.org>
13056
13057         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
13058         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
13059         Set to 100000.
13060
13061 2011-10-03  Bruno Haible  <bruno@clisp.org>
13062
13063         acl: Fix specification.
13064         * lib/file-has-acl.c (file_has_acl): Fix specification.
13065
13066 2011-10-03  Bruno Haible  <bruno@clisp.org>
13067
13068         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
13069         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
13070         (compute_curr_prefix, shared_library_fullname,
13071         find_shared_library_fullname, get_shared_library_fullname, relocate):
13072         Use it together with PIC && INSTALLDIR.
13073         Reported by <jojelino@gmail.com>
13074         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
13075
13076 2011-10-01  Jim Meyering  <meyering@redhat.com>
13077
13078         maint.mk: adjust a release-related rule not to require use of gzip
13079         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
13080         Instead, check each file in $(DIST_ARCHIVES).  This is better for
13081         projects that build only .tar.xz files.  Also fix an erroneous test.
13082
13083         test-linkat: don't leave behind a temporary file
13084         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
13085         Otherwise, coreutils' "make distcheck" would fail with this:
13086           Only in /c/cu/tests/torture/coreutils/test/\
13087             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
13088           make[2]: *** [my-distcheck] Error 1
13089
13090         float, math: add omitted file
13091         * lib/itold.c: Add file, required for yesterday's float change.
13092
13093 2011-10-01  Bruno Haible  <bruno@clisp.org>
13094
13095         isinf: Fix for OpenBSD/x86.
13096         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
13097         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
13098         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
13099
13100 2011-10-01  Bruno Haible  <bruno@clisp.org>
13101
13102         isfinite: Fix syntax error in configure test.
13103         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
13104
13105         isfinite: Fix typo.
13106         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
13107         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
13108
13109 2011-10-01  Bruno Haible  <bruno@clisp.org>
13110
13111         nonblocking tests: Fix test failure on Linux/IA-64.
13112         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
13113         Set to 270000.
13114
13115 2011-10-01  Bruno Haible  <bruno@clisp.org>
13116
13117         mkfifoat tests: Fix a test failure on mingw.
13118         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
13119         with error ENOSYS.
13120
13121 2011-09-30  Bruno Haible  <bruno@clisp.org>
13122
13123         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
13124         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
13125         'long double'. Set REPLACE_ITOLD.
13126         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
13127         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
13128         * lib/itold.c: New file.
13129         * modules/float (Files): Add lib/itold.c.
13130         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
13131         (Makefile.am): Substitute REPLACE_ITOLD.
13132         * modules/math (Depends-on): Add float.
13133         (Makefile.am): Substitute REPLACE_ITOLD.
13134         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
13135         * doc/posix-headers/math.texi: Likewise.
13136         * doc/posix-functions/logl.texi: Likewise.
13137
13138 2011-09-30  Bruno Haible  <bruno@clisp.org>
13139
13140         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
13141         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
13142         Set to 140000.
13143
13144 2011-09-30  Bruno Haible  <bruno@clisp.org>
13145
13146         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
13147         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
13148         invocation, say "right after AC_PROG_CC_STDC", not "right after
13149         AC_PROG_CC".
13150         Reported by Gary V. Vaughan <gary@gnu.org>.
13151
13152 2011-09-30  Bruno Haible  <bruno@clisp.org>
13153
13154         Centralize C99 requirement.
13155         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
13156         * modules/stdarg (configure.ac-early): Invoke it instead of
13157         AC_PROG_CC_STDC.
13158         Reported by Gary V. Vaughan and Paul Eggert.
13159
13160 2011-09-29  Bruno Haible  <bruno@clisp.org>
13161
13162         float: Fix LDBL_MAX value on Linux/PowerPC.
13163         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
13164         on Linux/PowerPC.
13165         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
13166         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
13167         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
13168         platform.
13169         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
13170
13171 2011-09-29  Bruno Haible  <bruno@clisp.org>
13172
13173         doc: Improve doc about gl_EARLY.
13174         * doc/gnulib-tool.texi (Initial import): Mention where to place an
13175         AC_PROG_CC_STDC invocation.
13176         Reported by Gary V. Vaughan <gary@gnu.org>.
13177
13178 2011-09-28  Bruno Haible  <bruno@clisp.org>
13179
13180         fgetc, fputc, fread, fwrite tests: Fix link error.
13181         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
13182         on non-MSVC platforms.
13183         * tests/test-fputc.c (main): Likewise.
13184         * tests/test-fread.c (main): Likewise.
13185         * tests/test-fwrite.c (main): Likewise.
13186         Reported by Jim Meyering.
13187
13188 2011-09-27  Bruno Haible  <bruno@clisp.org>
13189
13190         fputc, fwrite tests: Avoid test failure on MSVC.
13191         * tests/test-fgetc.c: Include msvc-inval.h.
13192         (main): Invoke gl_msvc_inval_ensure_handler.
13193         * tests/test-fputc.c: Include msvc-inval.h.
13194         (main): Invoke gl_msvc_inval_ensure_handler.
13195         * tests/test-fread.c: Include msvc-inval.h.
13196         (main): Invoke gl_msvc_inval_ensure_handler.
13197         * tests/test-fwrite.c: Include msvc-inval.h.
13198         (main): Invoke gl_msvc_inval_ensure_handler.
13199         * modules/fgetc-tests (Depends-on): Add msvc-inval.
13200         * modules/fputc-tests (Depends-on): Likewise.
13201         * modules/fread-tests (Depends-on): Likewise.
13202         * modules/fwrite-tests (Depends-on): Likewise.
13203
13204 2011-09-27  Bruno Haible  <bruno@clisp.org>
13205
13206         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
13207         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
13208         (raise): Remove older, duplicated declaration.
13209         (_gl_raise_SIGPIPE): New declaration.
13210         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
13211         (rpl_raise): Remove function.
13212         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
13213         a gnulib-defined SIGPIPE here.
13214         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
13215         'sigprocmask' has detected missing signal-blocking and the module
13216         'sigpipe' is enabled.
13217         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
13218
13219 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
13220
13221         base64-tests: avoid memory leak
13222         * tests/test-base64.c (main): Plug memory leak.
13223
13224         base32: new module
13225         * modules/base32: New module.
13226         * lib/base32.c: New file.
13227         * lib/base32.h: Likewise.
13228         * m4/base32.m4: Likewise.
13229         * modules/base32-tests: New test.
13230         * tests/test-base32.c: Likewise.
13231         * MODULES.html.sh (Misc): Mention it.
13232
13233 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
13234
13235         gnulib: use more-standard license notice wording
13236         * gnulib-tool (func_emit_copyright_notice): When emitting a
13237         license notice into a file, use the standard wording as suggested
13238         by the current information for GNU maintainers, except say "file"
13239         rather than "program".  The new wording gives a license version
13240         number, which addresses an issue raised by Glenn Morris in
13241         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
13242         * m4/onceonly.m4: Use that same wording here, too.
13243
13244         dup2: minor simplification
13245         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
13246         as lib/dup2.c no longer uses 'inline'.
13247
13248 2011-09-25  Bruno Haible  <bruno@clisp.org>
13249
13250         strings: Fix compilation error on MSVC.
13251         * lib/strings.in.h: Include <stddef.h> for size_t.
13252
13253 2011-09-25  Bruno Haible  <bruno@clisp.org>
13254
13255         fflush et al.: Document limitation on MSVC.
13256         * doc/posix-functions/fflush.texi: Document possible crash in handling
13257         mode other than DEFAULT_HANDLING.
13258         * doc/posix-functions/fgetc.texi: Likewise.
13259         * doc/posix-functions/fputc.texi: Likewise.
13260         * doc/posix-functions/fread.texi: Likewise.
13261         * doc/posix-functions/fwrite.texi: Likewise.
13262
13263 2011-09-25  Bruno Haible  <bruno@clisp.org>
13264
13265         msvc-inval: Allow three invalid parameter handling modes.
13266         * lib/msvc-inval.h: Don't include <stdlib.h> here.
13267         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
13268         macros.
13269         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
13270         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
13271         SANE_LIBRARY_HANDLING as a no-op.
13272         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
13273         <stdlib.h>.
13274         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
13275
13276 2011-09-25  Bruno Haible  <bruno@clisp.org>
13277
13278         msvc-inval: Make handler multithread-safe.
13279         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
13280         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
13281         declarations.
13282         (gl_msvc_inval_current): New declaration.
13283         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
13284         Operate on the structure returned by gl_msvc_inval_current().
13285         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
13286         Remove varaiables.
13287         (tls_index, tls_initialized): New variables.
13288         (not_per_thread): New variable.
13289         (gl_msvc_inval_current): New function.
13290         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
13291         returned by gl_msvc_inval_current().
13292
13293 2011-09-25  Bruno Haible  <bruno@clisp.org>
13294
13295         msvc-inval: Install handler globally.
13296         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
13297         !_MSC_VER.
13298         (gl_msvc_invalid_parameter_handler): Remove declaration.
13299         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
13300         declarations.
13301         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
13302         Install the handler globally, don't uninstall it.
13303         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
13304         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
13305         currently valid, call RaiseException instead.
13306         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
13307         for !_MSC_VER.
13308
13309 2011-09-25  Bruno Haible  <bruno@clisp.org>
13310
13311         strerror_r-posix: Fix for MSVC 9.
13312         * lib/strerror_r.c (local_snprintf): New function.
13313         (snprintf): Define to local_snprintf, not to _snprintf.
13314
13315 2011-09-25  Bruno Haible  <bruno@clisp.org>
13316
13317         ftruncate: Support for MSVC 9.
13318         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
13319         (chsize_nothrow): New function.
13320         (chsize): Redefine as a macro.
13321         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
13322         * modules/ftruncate (Depends-on): Add msvc-inval.
13323
13324 2011-09-25  Bruno Haible  <bruno@clisp.org>
13325
13326         New module 'fstat'.
13327         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
13328         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
13329         * lib/fchdir.c (rpl_fstat): Remove function.
13330         * m4/fstat.m4: New file.
13331         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
13332         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
13333         declared.
13334         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
13335         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
13336         * modules/fstat: New file.
13337         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
13338         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
13339         is set.
13340         * doc/posix-functions/fstat.texi: Mention the new module and the
13341         problem on MSVC.
13342         * NEWS: Mention the change.
13343         * modules/acl (Depends-on): Add fstat.
13344         * modules/chdir-safer (Depends-on): Likewise.
13345         * modules/chown (Depends-on): Likewise.
13346         * modules/copy-file (Depends-on): Likewise.
13347         * modules/fchdir (Depends-on): Likewise.
13348         * modules/fdopendir (Depends-on): Likewise.
13349         * modules/fopen (Depends-on): Likewise.
13350         * modules/fts (Depends-on): Likewise.
13351         * modules/getcwd (Depends-on): Likewise.
13352         * modules/isapipe (Depends-on): Likewise.
13353         * modules/linkat (Depends-on): Likewise.
13354         * modules/lseek (Depends-on): Likewise.
13355         * modules/mkdir-p (Depends-on): Likewise.
13356         * modules/open (Depends-on): Likewise.
13357         * modules/openat (Depends-on): Likewise.
13358         * modules/read-file (Depends-on): Likewise.
13359         * modules/renameat (Depends-on): Likewise.
13360         * modules/utimens (Depends-on): Likewise.
13361
13362 2011-09-25  Bruno Haible  <bruno@clisp.org>
13363
13364         linkat: Fix compilation on MSVC 9.
13365         * lib/linkat.c: Don't include <stdint.h>.
13366
13367 2011-09-25  Bruno Haible  <bruno@clisp.org>
13368
13369         fclose: Support for MSVC 9.
13370         * lib/fclose.c: Include msvc-inval.h.
13371         (fclose_nothrow): New function.
13372         (rpl_fclose): Use it.
13373         * modules/fclose (Depends-on): Add msvc-inval.
13374         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
13375
13376 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
13377
13378         dup2: minor simplifications
13379         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
13380         that it's a performance win.
13381         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
13382         ! defined __CYGWIN__)" to "ifdef F_GETFL".
13383
13384 2011-09-24  Jim Meyering  <meyering@redhat.com>
13385
13386         test-futimens: avoid a warning from gcc -Wshadow
13387         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
13388         to avoid a shadowing warning.
13389
13390 2011-09-24  Bruno Haible  <bruno@clisp.org>
13391
13392         fdopen: Support for MSVC 9.
13393         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
13394         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
13395         * lib/fdopen.c: Include msvc-inval.h.
13396         (fdopen_nothrow): New function.
13397         (rpl_fdopen): Use it.
13398         * modules/fdopen (Depends-on): Add msvc-inval.
13399         * modules/fclose-tests (Depends-on): Add fdopen.
13400         * modules/fflush-tests (Depends-on): Likewise.
13401         * modules/fgetc-tests (Depends-on): Likewise.
13402         * modules/fputc-tests (Depends-on): Likewise.
13403         * modules/fread-tests (Depends-on): Likewise.
13404         * modules/freopen-tests (Depends-on): Likewise.
13405         * modules/fseeko-tests (Depends-on): Likewise.
13406         * modules/ftello-tests (Depends-on): Likewise.
13407         * modules/fwrite-tests  (Depends-on): Likewise.
13408         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
13409
13410 2011-09-24  Bruno Haible  <bruno@clisp.org>
13411
13412         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
13413         * modules/fgetc-tests (Depends-on): Add unistd.
13414         * modules/fputc-tests (Depends-on): Likewise.
13415         * modules/fread-tests (Depends-on): Likewise.
13416         * modules/fwrite-tests (Depends-on): Likewise.
13417
13418 2011-09-24  Bruno Haible  <bruno@clisp.org>
13419
13420         dup: Simplify autoconf test.
13421         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
13422         on gl_MSVC_INVAL's result.
13423
13424 2011-09-24  Bruno Haible  <bruno@clisp.org>
13425
13426         Tests for function fwrite().
13427         * modules/fwrite-tests: New file.
13428         * tests/test-fwrite.c: New file.
13429         * modules/stdio-tests (Depends-on): Add fwrite-tests.
13430
13431         Tests for function fread().
13432         * modules/fread-tests: New file.
13433         * tests/test-fread.c: New file.
13434         * modules/stdio-tests (Depends-on): Add fread-tests.
13435
13436         Activate fputc tests.
13437         * modules/stdio-tests (Depends-on): Add fputc-tests.
13438
13439         Enhance fgetc, fputc tests.
13440         * tests/test-fgetc.c (main): Also test the stream's error indicator.
13441         * tests/test-fputc.c (main): Likewise.
13442
13443 2011-09-24  Bruno Haible  <bruno@clisp.org>
13444
13445         write: Support for MSVC 9.
13446         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
13447         is not 1.
13448         * lib/write.c (write_nothrow): New function.
13449         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
13450         not 1. Use write_nothrow.
13451         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
13452         invalid parameter handler.
13453         (gl_PREREQ_WRITE): New macro.
13454         * modules/write (Depends-on): Add msvc-inval.
13455         (configure.ac): Invoke gl_PREREQ_WRITE.
13456         * doc/posix-functions/write.texi: Mention the problem on MSVC.
13457
13458 2011-09-24  Bruno Haible  <bruno@clisp.org>
13459
13460         read: Fix last commit.
13461         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
13462
13463 2011-09-24  Bruno Haible  <bruno@clisp.org>
13464
13465         dup2: Fix last commit.
13466         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
13467         (rpl_dup2): Disable fcntl workaround on native Windows.
13468
13469         sigprocmask: Make code safer.
13470         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
13471         section that changes macro definitions for this compilation unit.
13472
13473 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
13474
13475         dup2: clarify by coalescing Windows-specific material
13476         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
13477         "msvc-nothrow.h"' to the Windows-specific section, so that the
13478         Emacs source need not contain these include files.
13479         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
13480         Windows-specific fixes into this function rather than just the
13481         nothrow fix, as this shortens and clarifies the code.  Always
13482         define as a function, as that's a bit cleaner than having it be
13483         sometimes a function and sometimes a macro.
13484         (rpl_dup2): Move the Windows-specific stuff out of here and into
13485         ms_windows_dup2.  Don't protect the Haiku-related fix with
13486         "#if !defined __linux__", as the same code also works around
13487         a Linux kernel bug, and it doesn't add any system calls on any
13488         platform.  Add comment about FreeBSD 6.1.
13489
13490         sigprocmask: move #include directive
13491         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
13492         Windows-specific section, so that the Emacs source need not
13493         contain msvc-inval.h.
13494
13495 2011-09-23  Bruno Haible  <bruno@clisp.org>
13496
13497         read: Support for MSVC 9.
13498         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
13499         is not 1.
13500         * lib/read.c (read_nothrow): New function.
13501         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
13502         read_nothrow.
13503         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
13504         invalid parameter handler.
13505         (gl_PREREQ_READ): New macro.
13506         * modules/read (Depends-on): Add msvc-inval.
13507         (configure.ac): Invoke gl_PREREQ_READ.
13508         * doc/posix-functions/read.texi: Mention the problem on MSVC.
13509
13510 2011-09-23  Bruno Haible  <bruno@clisp.org>
13511
13512         close: Support for MSVC 9.
13513         * lib/close.c: Include <errno.h>, msvc-inval.h.
13514         (close_nothrow): New function.
13515         (rpl_close): Use it.
13516         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
13517         invalid parameter handler.
13518         * modules/close (Depends-on): Add msvc-inval.
13519         * modules/dup2-tests (Depends-on): Add close.
13520         * modules/dup3-tests (Depends-on): Likewise.
13521         * modules/fcntl-tests (Depends-on): Likewise.
13522         * modules/spawn-pipe-tests (Depends-on): Likewise.
13523         * modules/unistd-safer-tests (Depends-on): Likewise.
13524         * doc/posix-functions/close.texi: Mention the problem on MSVC.
13525
13526 2011-09-23  Bruno Haible  <bruno@clisp.org>
13527
13528         New module 'dup'.
13529         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
13530         Allow replacement.
13531         * lib/dup.c: New file.
13532         * lib/fchdir.c (rpl_dup): Remove function.
13533         * m4/dup.m4: New file.
13534         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
13535         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
13536         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
13537         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
13538         * modules/dup: New file.
13539         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
13540         'dup' module is in use.
13541         * modules/fdopendir (Depends-on): Add dup.
13542         * modules/fdutimensat-tests (Depends-on): Likewise.
13543         * modules/fts (Depends-on): Likewise.
13544         * modules/futimens-tests (Depends-on): Likewise.
13545         * modules/posix_spawnp-tests (Depends-on): Likewise.
13546         * modules/unistd-safer-tests (Depends-on): Likewise.
13547         * modules/utimens-tests (Depends-on): Likewise.
13548         * doc/posix-functions/dup.texi: Mention the new module and the problem
13549         on MSVC.
13550
13551 2011-09-23  Bruno Haible  <bruno@clisp.org>
13552
13553         getdtablesize: Support for MSVC 9.
13554         * lib/getdtablesize.c: Include msvc-inval.h.
13555         (_setmaxstdio_nothrow): New function.
13556         (_setmaxstdio): Redefine it.
13557         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
13558         * modules/getdtablesize (Depends-on): Add msvc-inval.
13559         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
13560
13561 2011-09-23  Bruno Haible  <bruno@clisp.org>
13562
13563         signal-h: Rename from signal.
13564         * modules/signal-h: Renamed from modules/signal.
13565         * modules/pthread_sigmask (Depends-on): Update.
13566         * modules/raise (Depends-on): Likewise.
13567         * modules/sigaction (Depends-on): Likewise.
13568         * modules/sigpipe (Depends-on): Likewise.
13569         * modules/sigprocmask (Depends-on): Likewise.
13570         * modules/sys_select (Depends-on): Likewise.
13571         * modules/signal-h-tests: Renamed from modules/signal-tests.
13572         (Files, Depends-on, Makefile.am): Update.
13573         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
13574         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
13575         (Files, Makefile.am): Update.
13576         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
13577         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
13578         * modules/signal: New placeholder file.
13579         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
13580         * doc/posix-headers/signal.texi: Update.
13581         * NEWS: Mention the change.
13582
13583 2011-09-23  Bruno Haible  <bruno@clisp.org>
13584
13585         sigprocmask: Avoid crashes through signal() on MSVC 9.
13586         * lib/sigprocmask.c: Include msvc-inval.h.
13587         (signal_nothrow): New function.
13588         (signal): Redefine it.
13589         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
13590         * modules/sigprocmask (Depends-on): Add msvc-inval.
13591         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
13592
13593 2011-09-23  Bruno Haible  <bruno@clisp.org>
13594
13595         Tests for module 'raise'.
13596         * modules/raise-tests: New file.
13597         * tests/test-raise.c: New file.
13598
13599         raise: Support for MSVC.
13600         * lib/signal.in.h (raise): New declaration.
13601         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
13602         for native Windows platforms.
13603         * m4/raise.m4: New file.
13604         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
13605         HAVE_RAISE, REPLACE_RAISE.
13606         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
13607         REPLACE_RAISE.
13608         * modules/raise (Status, Notice): Remove fields.
13609         (Files): Add m4/raise.m4.
13610         (Depends-on): Add signal, msvc-inval.
13611         (configure.ac): Use the common idioms.
13612         (Maintainer): Add me.
13613         * tests/test-signal-c++.cc: Check the signature of raise.
13614         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
13615
13616 2011-09-23  Bruno Haible  <bruno@clisp.org>
13617
13618         pipe2: Fix compilation on pre-C99 compilers.
13619         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
13620
13621 2011-09-23  Bruno Haible  <bruno@clisp.org>
13622
13623         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
13624         * lib/msvc-nothrow.h: New file.
13625         * lib/msvc-nothrow.c: New file.
13626         * m4/msvc-nothrow.m4: New file.
13627         * modules/msvc-nothrow: New file.
13628         * lib/dup2.c: Include msvc-nothrow.h.
13629         (rpl_dup2): No need to protect _get_osfhandle call here.
13630         * lib/accept4.c: Include msvc-nothrow.h.
13631         * lib/error.c: Likewise.
13632         * lib/fcntl.c: Likewise.
13633         * lib/lseek.c: Likewise.
13634         * lib/nonblocking.c: Likewise.
13635         * lib/poll.c: Likewise.
13636         * lib/read.c: Likewise.
13637         * lib/select.c: Likewise.
13638         * lib/sockets.h: Likewise.
13639         * lib/sockets.c: Likewise.
13640         * lib/stdio-read.c: Likewise.
13641         * lib/stdio-write.c: Likewise.
13642         * lib/write.c: Likewise.
13643         * lib/w32sock.h: Likewise.
13644         * lib/w32spawn.h: Likewise.
13645         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
13646         * lib/fsync.c: Likewise.
13647         * lib/isapipe.c: Likewise.
13648         * modules/dup2 (Depends-on): Add msvc-nothrow.
13649         * modules/accept4 (Depends-on): Likewise.
13650         * modules/error (Depends-on): Likewise.
13651         * modules/fcntl (Depends-on): Likewise.
13652         * modules/lseek (Depends-on): Likewise.
13653         * modules/nonblocking (Depends-on): Likewise.
13654         * modules/poll (Depends-on): Likewise.
13655         * modules/read (Depends-on): Likewise.
13656         * modules/select (Depends-on): Likewise.
13657         * modules/sockets (Depends-on): Likewise.
13658         * modules/sigpipe (Depends-on): Likewise.
13659         * modules/write (Depends-on): Likewise.
13660         * modules/accept (Depends-on): Likewise.
13661         * modules/bind (Depends-on): Likewise.
13662         * modules/connect (Depends-on): Likewise.
13663         * modules/gethostname (Depends-on): Likewise.
13664         * modules/getpeername (Depends-on): Likewise.
13665         * modules/getsockname (Depends-on): Likewise.
13666         * modules/getsockopt (Depends-on): Likewise.
13667         * modules/ioctl (Depends-on): Likewise.
13668         * modules/listen (Depends-on): Likewise.
13669         * modules/recv (Depends-on): Likewise.
13670         * modules/recvfrom (Depends-on): Likewise.
13671         * modules/send (Depends-on): Likewise.
13672         * modules/sendto (Depends-on): Likewise.
13673         * modules/setsockopt (Depends-on): Likewise.
13674         * modules/shutdown (Depends-on): Likewise.
13675         * modules/socket (Depends-on): Likewise.
13676         * modules/execute (Depends-on): Likewise.
13677         * modules/spawn-pipe (Depends-on): Likewise.
13678         * modules/flock (Depends-on): Likewise.
13679         * modules/fsync (Depends-on): Likewise.
13680         * modules/isapipe (Depends-on): Likewise.
13681         * tests/test-cloexec.c: Include msvc-nothrow.h.
13682         * tests/test-dup-safer.c: Likewise.
13683         * tests/test-dup2.c: Likewise.
13684         * tests/test-dup3.c: Likewise.
13685         * tests/test-fcntl.c: Likewise.
13686         * tests/test-pipe.c: Likewise.
13687         * tests/test-pipe2.c: Likewise.
13688         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
13689         * modules/unistd-safer-tests (Depends-on): Likewise.
13690         * modules/dup2-tests (Depends-on): Likewise.
13691         * modules/dup3-tests (Depends-on): Likewise.
13692         * modules/fcntl-tests (Depends-on): Likewise.
13693         * modules/pipe-posix-tests (Depends-on): Likewise.
13694         * modules/pipe2-tests (Depends-on): Likewise.
13695
13696 2011-09-23  Bruno Haible  <bruno@clisp.org>
13697
13698         dup2: Make code more maintainable.
13699         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
13700         (rpl_dup2): Use it.
13701         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
13702         * modules/dup2 (configure.ac): Invoke it.
13703         Reported by Paul Eggert.
13704
13705 2011-09-23  Bruno Haible  <bruno@clisp.org>
13706
13707         msvc-inval: Fix compilation error.
13708         * lib/msvc-inval.h: Include <excpt.h>.
13709
13710 2011-09-23  Bruno Haible  <bruno@clisp.org>
13711
13712         mkdir: Tweak for MSVC 9.
13713         * lib/sys_stat.in.h: Update comments.
13714         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
13715
13716         Tests for module 'chdir'.
13717         * modules/chdir-tests: New file.
13718         * tests/test-chdir.c: New file.
13719
13720         New module 'chdir'.
13721         * modules/chdir: New file.
13722         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
13723         (chdir): New declaration.
13724         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
13725         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
13726         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
13727         * tests/test-unistd-c++.cc: Check signature of chdir.
13728         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
13729         * modules/chdir-long (Depends-on): Add chdir.
13730         * modules/fchdir (Depends-on): Likewise.
13731         * modules/rename (Depends-on): Likewise.
13732         * modules/savewd (Depends-on): Likewise.
13733
13734         rmdir: Support for mingw, MSVC 9.
13735         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
13736         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
13737
13738         getcwd: Tweak for MSVC 9.
13739         * lib/unistd.in.h: Update comments.
13740         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
13741
13742 2011-09-22  Bruno Haible  <bruno@clisp.org>
13743
13744         strerror_r-posix: Avoid a link error on MSVC.
13745         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
13746         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
13747
13748 2011-09-22  Bruno Haible  <bruno@clisp.org>
13749
13750         select: Avoid link errors on MSVC.
13751         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
13752         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
13753         * modules/pselect (Link): Likewise.
13754         * NEWS: Mention the change.
13755         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
13756         test-select-stdin against $(LIB_SELECT).
13757         * modules/pselect-tests (Makefile.am): Link test-pselect against
13758         $(LIB_SELECT).
13759
13760 2011-09-22  Bruno Haible  <bruno@clisp.org>
13761
13762         select: Avoid compilation error on MSVC.
13763         * lib/select.c: Don't include <stdbool.h>.
13764
13765 2011-09-21  Bruno Haible  <bruno@clisp.org>
13766
13767         Consolidate all uses of PATH_MAX in *.m4 files.
13768         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
13769         macros.
13770         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
13771         and gl_PATHMAX_SNIPPET.
13772         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13773         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13774         * modules/chdir-long (Files): Add m4/pathmax.m4.
13775         * modules/getcwd (Files): Likewise.
13776
13777 2011-09-21  Bruno Haible  <bruno@clisp.org>
13778
13779         ftruncate: Un-deprecate, concentrate on Win32 support.
13780         * modules/ftruncate (Status, Notice): Remove sections.
13781         (Depends-on): Add largefile.
13782         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
13783         non-mingw platforms.
13784         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
13785         include <io.h>.
13786         * modules/perror-tests (Depends-on): Add ftruncate.
13787         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
13788         'ftruncate' module.
13789
13790 2011-09-21  Bruno Haible  <bruno@clisp.org>
13791
13792         Add dependencies to new dirent related modules.
13793         * modules/opendir (Depends-on): Add closedir.
13794         * modules/getcwd (Depends-on): Add opendir, closedir.
13795         * modules/dirent-safer-tests (Depends-on): Likewise.
13796         * modules/fdopendir-tests (Depends-on): Likewise.
13797         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
13798         * modules/renameat-tests (Depends-on): Likewise.
13799
13800 2011-09-21  Bruno Haible  <bruno@clisp.org>
13801
13802         opendir: Avoid compilation error on mingw.
13803         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
13804         * modules/opendir (Depends-on): Add unistd.
13805
13806 2011-09-21  Bruno Haible  <bruno@clisp.org>
13807
13808         ftruncate tests: Avoid a test failure on mingw.
13809         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
13810
13811 2011-09-21  Bruno Haible  <bruno@clisp.org>
13812
13813         select tests: Avoid test failures on OSF/1 5.1 and mingw.
13814         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
13815         native Windows.
13816
13817 2011-09-21  Bruno Haible  <bruno@clisp.org>
13818
13819         New module 'fdopen'.
13820         * lib/stdio.in.h (fdopen): New declaration.
13821         * lib/fdopen.c: New file.
13822         * m4/fdopen.m4: New file.
13823         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
13824         REPLACE_FDOPEN.
13825         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
13826         REPLACE_FDOPEN.
13827         * modules/fdopen: New file.
13828         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
13829         * tests/test-stdio-c++.cc: Check signature of fdopen.
13830         * doc/posix-functions/fdopen.texi: Mention the new module.
13831
13832 2011-09-21  Bruno Haible  <bruno@clisp.org>
13833
13834         unlockpt tests: Avoid test failure on NetBSD 5.1.
13835         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
13836         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
13837
13838 2011-09-21  Bruno Haible  <bruno@clisp.org>
13839
13840         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
13841         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
13842         * tests/test-getlogin_r.c (main): Likewise.
13843
13844 2011-09-20  Bruno Haible  <bruno@clisp.org>
13845
13846         time tests: Don't require pid_t.
13847         * doc/posix-headers/time.texi: Revert last change.
13848         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
13849         * tests/test-time.c: Comment out the check for pid_t.
13850
13851 2011-09-20  Bruno Haible  <bruno@clisp.org>
13852
13853         fsync tests: Avoid a test failure on mingw.
13854         * tests/test-fsync.c (main): Allow a failure with EIO.
13855
13856 2011-09-20  Bruno Haible  <bruno@clisp.org>
13857
13858         euidaccess: Update comments.
13859         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
13860
13861 2011-09-20  Bruno Haible  <bruno@clisp.org>
13862
13863         Ensure EBADF returns for socket functions on mingw.
13864         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
13865         descriptor is invalid.
13866         * lib/bind.c (rpl_bind): Likewise.
13867         * lib/connect.c (rpl_connect): Likewise.
13868         * lib/getpeername.c (rpl_getpeername): Likewise.
13869         * lib/getsockname.c (rpl_getsockname): Likewise.
13870         * lib/getsockopt.c (rpl_getsockopt): Likewise.
13871         * lib/listen.c (rpl_listen): Likewise.
13872         * lib/recv.c (rpl_recv): Likewise.
13873         * lib/recvfrom.c (rpl_recvfrom): Likewise.
13874         * lib/send.c (rpl_send): Likewise.
13875         * lib/sendto.c (rpl_sendto): Likewise.
13876         * lib/setsockopt.c (rpl_setsockopt): Likewise.
13877         * lib/shutdown.c (rpl_shutdown): Likewise.
13878
13879 2011-09-20  Bruno Haible  <bruno@clisp.org>
13880
13881         select tests: EBADF tests.
13882         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
13883         test_bad_fd): New functions.
13884         (test_function): Invoke also test_bad_fd.
13885
13886 2011-09-20  Bruno Haible  <bruno@clisp.org>
13887
13888         Tests for module 'posix_spawn_file_actions_addopen.
13889         * modules/posix_spawn_file_actions_addopen-tests: New file.
13890         * tests/test-posix_spawn_file_actions_addopen.c: New file.
13891
13892         Tests for module 'posix_spawn_file_actions_adddup2'.
13893         * modules/posix_spawn_file_actions_adddup2-tests: New file.
13894         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
13895
13896         Tests for module 'posix_spawn_file_actions_addclose'.
13897         * modules/posix_spawn_file_actions_addclose-tests: New file.
13898         * tests/test-posix_spawn_file_actions_addclose.c: New file.
13899
13900 2011-09-20  Bruno Haible  <bruno@clisp.org>
13901
13902         Tests for module 'unlockpt'.
13903         * modules/unlockpt-tests: New file.
13904         * tests/test-unlockpt.c: New file.
13905         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
13906
13907         Tests for module 'grantpt'.
13908         * modules/grantpt-tests: New file.
13909         * tests/test-grantpt.c: New file.
13910         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
13911
13912 2011-09-20  Bruno Haible  <bruno@clisp.org>
13913
13914         freopen tests: EBADF tests.
13915         * tests/test-freopen.c: Include errno.h, unistd.h.
13916         (main): Add tests for EBADF, commented out for the moment.
13917
13918         fclose tests: EBADF tests.
13919         * tests/test-fclose.c (main): Add tests for EBADF.
13920
13921         fflush tests: EBADF tests.
13922         * tests/test-fflush.c: Include errno.h, macros.h.
13923         (main): Add tests for EBADF.
13924
13925         ftello tests: EBADF tests.
13926         * tests/test-ftello4.sh: New file.
13927         * tests/test-ftello4.c: New file.
13928         * modules/ftello-tests (Files): Add them.
13929         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
13930
13931         fseeko tests: EBADF tests.
13932         * tests/test-fseeko4.sh: New file.
13933         * tests/test-fseeko4.c: New file.
13934         * modules/fseeko-tests (Files): Add them.
13935         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
13936
13937         Tests for function fputc().
13938         * modules/fputc-tests: New file.
13939         * tests/test-fputc.c: New file.
13940         * modules/stdio-tests (Depends-on): Add fputc-tests.
13941
13942         Tests for function fgetc().
13943         * modules/fgetc-tests: New file.
13944         * tests/test-fgetc.c: New file.
13945         * modules/stdio-tests (Depends-on): Add fgetc-tests.
13946
13947         Tests for function fdopen().
13948         * modules/fdopen-tests: New file.
13949         * tests/test-fdopen.c: New file.
13950         * modules/stdio-tests (Depends-on): Add fdopen-tests.
13951
13952         Tests for module 'vdprintf'.
13953         * modules/vdprintf-tests: New file.
13954         * tests/test-vdprintf.c: New file.
13955
13956         Tests for module 'dprintf'.
13957         * modules/dprintf-tests: New file.
13958         * tests/test-dprintf.c: New file.
13959
13960 2011-09-20  Bruno Haible  <bruno@clisp.org>
13961
13962         Tests for module 'ioctl'.
13963         * modules/ioctl-tests: New file.
13964         * tests/test-ioctl.c: New file.
13965
13966 2011-09-20  Bruno Haible  <bruno@clisp.org>
13967
13968         fcntl tests: EBADF tests.
13969         * tests/test-fcntl.c (main): Add more tests for EBADF.
13970
13971 2011-09-20  Bruno Haible  <bruno@clisp.org>
13972
13973         utimensat tests: EBADF tests.
13974         * tests/test-utimensat.c (main): Add tests for EBADF.
13975
13976         renameat tests: EBADF tests.
13977         * tests/test-renameat.c (main): Add tests for EBADF.
13978
13979         mkfifoat tests: EBADF tests.
13980         * tests/test-mkfifoat.c (main): Add tests for EBADF.
13981
13982         readlinkat tests: EBADF tests.
13983         * tests/test-readlinkat.c (main): Add tests for EBADF.
13984
13985         symlinkat tests: EBADF tests.
13986         * tests/test-symlinkat.c (main): Add tests for EBADF.
13987
13988         linkat tests: EBADF tests.
13989         * tests/test-linkat.c (main): Add tests for EBADF.
13990
13991         Tests for module 'faccessat'.
13992         * modules/faccessat-tests: New file.
13993         * tests/test-faccessat.c: New file.
13994
13995         fdopendir tests: EBADF tests.
13996         * tests/test-fdopendir.c (main): Add more tests for EBADF.
13997
13998         openat tests: EBADF tests.
13999         * tests/test-fchownat.c (main): Add tests for EBADF.
14000         * tests/test-fstatat.c (main): Likewise.
14001         * tests/test-mkdirat.c (main): Likewise.
14002         * tests/test-openat.c (main): Likewise.
14003         * tests/test-unlinkat.c (main): Likewise.
14004         * tests/test-fchmodat.c: New file.
14005         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
14006         (Makefile.am): Also run 'test-fchmodat'.
14007
14008 2011-09-20  Bruno Haible  <bruno@clisp.org>
14009
14010         utimens, futimens, fdutimensat tests: EBADF tests.
14011         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
14012
14013         Tests for function fstat().
14014         * modules/fstat-tests: New file.
14015         * tests/test-fstat.c: New file.
14016         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
14017
14018 2011-09-20  Bruno Haible  <bruno@clisp.org>
14019
14020         test-ttyname_r tests: EBADF tests.
14021         * tests/test-ttyname_r.c (main): Add tests for EBADF.
14022
14023         Tests for module 'isatty'.
14024         * modules/isatty-tests: New file.
14025         * tests/test-isatty.c: New file.
14026
14027         Tests for module 'write'.
14028         * modules/write-tests: New file.
14029         * tests/test-write.c: New file.
14030
14031         Tests for module 'read'.
14032         * modules/read-tests: New file.
14033         * tests/test-read.c: New file.
14034
14035         pwrite tests: EBADF tests.
14036         * tests/test-pwrite.c (main): Add tests for EBADF.
14037
14038         pread tests: EBADF tests.
14039         * tests/test-pread.c (main): Add tests for EBADF.
14040
14041         lseek tests: EBADF tests.
14042         * tests/test-lseek.c (main): Add more tests for EBADF.
14043
14044         Tests for module 'ftruncate'.
14045         * modules/ftruncate-tests: New file.
14046         * tests/test-ftruncate.sh: New file.
14047         * tests/test-ftruncate.c: New file.
14048
14049         fsync tests: EBADF tests.
14050         * tests/test-fsync.c (main): Add more tests for EBADF.
14051
14052         fdatasync tests: EBADF tests.
14053         * tests/test-fdatasync.c (main): Add more tests for EBADF.
14054
14055         Tests for module 'fchown'.
14056         * modules/fchown-tests: New file.
14057         * tests/test-fchown.c: New file.
14058
14059         Tests for module 'fchmod'.
14060         * modules/fchmod-tests: New file.
14061         * tests/test-fchmod.c: New file.
14062
14063         fchdir tests: EBADF tests.
14064         * tests/test-fchdir.c (main): Add more tests for EBADF.
14065
14066         dup2 tests: EBADF tests.
14067         * tests/test-dup2.c (main): Add more tests for EBADF.
14068
14069         Tests for module 'dup'.
14070         * modules/dup-tests: New file.
14071         * tests/test-dup.c: New file.
14072
14073         Tests for module 'close'.
14074         * modules/close-tests: New file.
14075         * tests/test-close.c: New file.
14076
14077 2011-09-20  Bruno Haible  <bruno@clisp.org>
14078
14079         Tests for module 'shutdown'.
14080         * modules/shutdown-tests: New file.
14081         * tests/test-shutdown.c: New file.
14082
14083         Tests for module 'setsockopt'.
14084         * modules/setsockopt-tests: New file.
14085         * tests/test-setsockopt.c: New file.
14086
14087         Tests for module 'sendto'.
14088         * modules/sendto-tests: New file.
14089         * tests/test-sendto.c: New file.
14090
14091         Tests for module 'send'.
14092         * modules/send-tests: New file.
14093         * tests/test-send.c: New file.
14094
14095         Tests for module 'recvfrom'.
14096         * modules/recvfrom-tests: New file.
14097         * tests/test-recvfrom.c: New file.
14098
14099         Tests for module 'recv'.
14100         * modules/recv-tests: New file.
14101         * tests/test-recv.c: New file.
14102
14103         Tests for module 'listen'.
14104         * modules/listen-tests: New file.
14105         * tests/test-listen.c: New file.
14106
14107         Tests for module 'getsockopt'.
14108         * modules/getsockopt-tests: New file.
14109         * tests/test-getsockopt.c: New file.
14110
14111         Tests for module 'getsockname'.
14112         * modules/getsockname-tests: New file.
14113         * tests/test-getsockname.c: New file.
14114
14115         Tests for module 'getpeername'.
14116         * modules/getpeername-tests: New file.
14117         * tests/test-getpeername.c: New file.
14118
14119         Tests for module 'connect'.
14120         * modules/connect-tests: New file.
14121         * tests/test-connect.c: New file.
14122
14123         Tests for module 'bind'.
14124         * modules/bind-tests: New file.
14125         * tests/test-bind.c: New file.
14126
14127         accept4 tests: Fix for native Windows.
14128         * tests/test-accept4.c: Include sockets.h.
14129         (main): Invoke gl_sockets_startup.
14130         * modules/accept4-tests (Depends-on): Add sockets.
14131
14132         accept tests: Fix for native Windows.
14133         * tests/test-accept.c: Include sockets.h.
14134         (main): Invoke gl_sockets_startup.
14135         * modules/accept-tests (Depends-on): Add sockets.
14136
14137 2011-09-19  Bruno Haible  <bruno@clisp.org>
14138
14139         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
14140         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
14141         do...while(0).
14142         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
14143         Suggested by Paul Eggert.
14144
14145 2011-09-19  Bruno Haible  <bruno@clisp.org>
14146
14147         sched: Ensure pid_t is defined.
14148         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
14149         not define pid_t.
14150         * lib/sched.in.h: Include <sys/types.h>.
14151         * doc/posix-headers/sched.texi: Mention the pid_t problem.
14152         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14153
14154 2011-09-19  Bruno Haible  <bruno@clisp.org>
14155
14156         msvc-inval: Ensure the entire expansion is a single statement.
14157         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
14158         of braces.
14159
14160 2011-09-19  Jim Meyering  <meyering@redhat.com>
14161
14162         tests: use printf, not echo in init.sh's warn_ function
14163         * tests/init.sh (warn_): Use printf, not echo.  The latter would
14164         misbehave when given strings containing a backslash or starting
14165         with e.g., -n.  James Youngman suggested setting IFS.
14166
14167 2011-09-19  Eric Blake  <eblake@redhat.com>
14168
14169         futimens: enhance test
14170         * tests/test-futimens.h (test_futimens): Also check for EBADF on
14171         closed non-negative fd.
14172
14173         date: accept 'hence' as opposite of 'ago'
14174         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
14175         * tests/test-parse-datetime.c (main): Enhance test.
14176         Suggested by Jesse Wilson.
14177
14178 2011-09-19  Jim Meyering  <meyering@redhat.com>
14179
14180         getcwd: don't fail in a deep directory on a system without openat
14181         Before this change, getcwd would fail when called from a directory
14182         of depth PATH_MAX / 3 or greater.  That was due to the fact that
14183         the non-openat implementation used "..", "../..", "../../..", etc.
14184         to access ancestor directories.  With too many, that string would
14185         be longer than PATH_MAX.
14186         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
14187         using gnulib's openat replacement.
14188         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
14189         we're using the replacement function.
14190
14191 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
14192
14193         maint.mk: avoid warnings from perl about missing files
14194         * top/maint.mk (def_sym_regex): Ignore files listed in
14195         $(gl_other_headers_) that do not exist, say because a project
14196         does not use a corresponding module.
14197
14198 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
14199
14200         stat: use pathmax.h only if needed
14201         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
14202         This is better for Emacs, which does not have a mingw port and
14203         therefore can avoid the pathmax module.
14204
14205         utimens: remove dependency on dup2
14206         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
14207         to work around the Linux kernel bug.
14208         * modules/utimens (Depends-on): Remove dup2.
14209
14210 2011-09-18  Bruno Haible  <bruno@clisp.org>
14211
14212         inet_ntop, inet_pton: Look for it also in libresolv.
14213         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
14214         libnsl, search for it in libresolv.
14215         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
14216         Needed on Solaris 7.
14217
14218 2011-09-18  Bruno Haible  <bruno@clisp.org>
14219
14220         accept, accept4 tests: Avoid link error on Solaris.
14221         * modules/accept-tests (Makefile.am): Link test-accept against
14222         $(LIBSOCKET).
14223         * modules/accept4-tests (Makefile.am): Link test-accept4 against
14224         $(LIBSOCKET).
14225
14226         accept4: Avoid link error on Solaris.
14227         * modules/accept4 (Link): New section.
14228
14229         socket functions: Avoid link errors on Solaris.
14230         * modules/accept (Depends-on): Add socketlib.
14231         (Link): New section.
14232         * modules/bind (Depends-on): Add socketlib.
14233         (Link): New section.
14234         * modules/connect (Depends-on): Add socketlib.
14235         (Link): New section.
14236         * modules/getpeername (Depends-on): Add socketlib.
14237         (Link): New section.
14238         * modules/getsockname (Depends-on): Add socketlib.
14239         (Link): New section.
14240         * modules/getsockopt (Depends-on): Add socketlib.
14241         (Link): New section.
14242         * modules/listen (Depends-on): Add socketlib.
14243         (Link): New section.
14244         * modules/recv (Depends-on): Add socketlib.
14245         (Link): New section.
14246         * modules/recvfrom (Depends-on): Add socketlib.
14247         (Link): New section.
14248         * modules/send (Depends-on): Add socketlib.
14249         (Link): New section.
14250         * modules/sendto (Depends-on): Add socketlib.
14251         (Link): New section.
14252         * modules/setsockopt (Depends-on): Add socketlib.
14253         (Link): New section.
14254         * modules/shutdown (Depends-on): Add socketlib.
14255         (Link): New section.
14256         * modules/socket (Depends-on): Add socketlib.
14257         (Link): New section.
14258
14259 2011-09-18  Bruno Haible  <bruno@clisp.org>
14260
14261         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
14262         * tests/test-ptsname.c (main): Terminate the test if it takes longer
14263         than 5 seconds.
14264         * modules/ptsname-tests (configure.ac): Test for alarm.
14265
14266 2011-09-18  Bruno Haible  <bruno@clisp.org>
14267
14268         posix_spawn_file_actions_add*: Fix module dependencies.
14269         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
14270         posix_spawn_file_actions_init.
14271         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
14272         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
14273
14274 2011-09-18  Bruno Haible  <bruno@clisp.org>
14275
14276         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
14277         * tests/test-rename.h (test_rename): Allow error code EEXIST.
14278         * tests/test-renameat.c (main): Likewise.
14279
14280 2011-09-18  Bruno Haible  <bruno@clisp.org>
14281
14282         Tests for module 'accept4'.
14283         * modules/accept4-tests: New file.
14284         * tests/test-accept4.c: New file.
14285
14286 2011-09-18  Bruno Haible  <bruno@clisp.org>
14287
14288         Tests for module 'accept'.
14289         * modules/accept-tests: New file.
14290         * tests/test-accept.c: New file.
14291
14292 2011-09-18  Bruno Haible  <bruno@clisp.org>
14293
14294         dup2: Support for MSVC.
14295         * lib/dup2.c: Include msvc-inval.h.
14296         (rpl_dup2): Handle invalid parameter notifications during dup2 and
14297         _get_osfhandle calls.
14298         * modules/dup2 (Depends-on): Add msvc-inval.
14299         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
14300
14301         New module 'msvc-inval'.
14302         * lib/msvc-inval.h: New file.
14303         * lib/msvc-inval.c: New file.
14304         * m4/msvc-inval.m4: New file.
14305         * modules/msvc-inval: New file.
14306
14307 2011-09-17  Bruno Haible  <bruno@clisp.org>
14308
14309         Tests for module 'pclose'.
14310         * modules/pclose-tests: New file.
14311
14312         New module 'pclose'.
14313         * lib/stdio.in.h (pclose): New declaration.
14314         * lib/pclose.c: New file.
14315         * m4/pclose.m4: New file.
14316         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
14317         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
14318         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
14319         * modules/pclose: New file.
14320         * modules/popen-tests (Depends-on): Add pclose.
14321         * modules/popen-safer-tests (Depends-on): Likewise.
14322         * doc/posix-functions/pclose.texi: Mention the new module.
14323
14324 2011-09-17  Bruno Haible  <bruno@clisp.org>
14325
14326         popen: Support for MSVC.
14327         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
14328         * lib/popen.c (popen): Provide alternate definition for native Windows.
14329         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
14330         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
14331         * modules/popen (Depends-on, configure.ac): Update condition.
14332         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
14333         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
14334         fixed.
14335
14336 2011-09-17  Bruno Haible  <bruno@clisp.org>
14337
14338         isnanl, isnand, isnanf: Work around MSVC bug.
14339         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
14340
14341 2011-09-17  Bruno Haible  <bruno@clisp.org>
14342
14343         sys_socket tests: Fix recent mistake.
14344         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
14345
14346 2011-09-17  Bruno Haible  <bruno@clisp.org>
14347
14348         putenv: Support for MSVC.
14349         * modules/putenv (Depends-on): Add environ.
14350         * lib/putenv.c (environ): Disable declaration.
14351         * lib/unistd.in.h: Update comment.
14352
14353 2011-09-17  Bruno Haible  <bruno@clisp.org>
14354
14355         math: Avoid macro redefinition warnings on MSVC.
14356         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
14357         Undefine before redefining.
14358
14359 2011-09-17  Bruno Haible  <bruno@clisp.org>
14360
14361         doc: Mention functions which are declared as macros.
14362         * doc/posix-functions/*[fl].texi: Mention that some functions are
14363         defined as macros with arguments only.
14364
14365 2011-09-17  Bruno Haible  <bruno@clisp.org>
14366
14367         Add dependencies to new dirent related modules.
14368         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
14369         * modules/fts (Depends-on): Likewise.
14370         * modules/glob (Depends-on): Likewise.
14371         * modules/savedir (Depends-on): Likewise.
14372         * modules/scandir (Depends-on): Likewise.
14373         * modules/dirent-safer (Depends-on): Add opendir, closedir.
14374         * modules/fdopendir (Depends-on): Add opendir.
14375
14376 2011-09-17  Bruno Haible  <bruno@clisp.org>
14377
14378         inet_pton: Support for MSVC on Windows Vista or newer.
14379         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
14380         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
14381         HAVE_DECL_INET_PTON is defined.
14382         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
14383         On platforms with <winsock2.h>, test whether inet_pton is declared in
14384         <ws2tcpip.h>. If so, arrange to replace it.
14385         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
14386         REPLACE_INET_PTON.
14387         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
14388         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
14389         (Depends-on, configure.ac): Update condition.
14390         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
14391
14392 2011-09-17  Bruno Haible  <bruno@clisp.org>
14393
14394         inet_ntop: Support for MSVC on Windows Vista or newer.
14395         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
14396         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
14397         HAVE_DECL_INET_NTOP is defined.
14398         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
14399         On platforms with <winsock2.h>, test whether inet_ntop is declared in
14400         <ws2tcpip.h>. If so, arrange to replace it.
14401         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
14402         REPLACE_INET_NTOP.
14403         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
14404         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
14405         (Depends-on, configure.ac): Update condition.
14406         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
14407
14408 2011-09-16  Eric Blake  <eblake@redhat.com>
14409
14410         test-fsync: yet another enhancement
14411         * tests/test-fsync.c (main): Also test behavior on read-only text
14412         file.
14413
14414 2011-09-16  Bruno Haible  <bruno@clisp.org>
14415
14416         Enhance fsync, fdatasync tests.
14417         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
14418         * tests/test-fdatasync.c (main): Likewise.
14419
14420 2011-09-16  Bruno Haible  <bruno@clisp.org>
14421
14422         Support for MSVC compiler: Ensure mode_t gets defined.
14423         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
14424         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14425         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
14426         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
14427         * tests/test-fcntl-h.c: Check that mode_t is defined.
14428         * tests/test-sys_stat.c: Likewise.
14429         * tests/test-sys_types.c: Likewise.
14430         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
14431         * doc/posix-headers/sys_stat.texi: Likewise.
14432         * doc/posix-headers/sys_types.texi: Likewise.
14433
14434 2011-09-16  Bruno Haible  <bruno@clisp.org>
14435
14436         sys_stat: Support for MSVC.
14437         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
14438         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
14439         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
14440         MSVC.
14441
14442 2011-09-16  Bruno Haible  <bruno@clisp.org>
14443
14444         Support for MSVC compiler: Ensure off_t gets defined.
14445         * lib/unistd.in.h: Include <sys/types.h>.
14446         * tests/test-fcntl-h.c: Check that off_t is defined.
14447         * tests/test-sys_stat.c: Likewise.
14448         * tests/test-sys_types.c: Likewise.
14449
14450 2011-09-16  Eric Blake  <eblake@redhat.com>
14451
14452         fdatasync: port to Solaris
14453         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
14454         * modules/fdatasync (Link): Document it.
14455         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
14456
14457         fdatasync: port to MacOS X 10.7
14458         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
14459         declared.
14460         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
14461         * modules/unistd (Makefile.am): Substitute it.
14462         * lib/unistd.in.h (fdatasync): Declare on MacOS.
14463         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
14464
14465         fdatasync: minor improvements
14466         * modules/fdatasync (Depends-on): Add condition for fsync.
14467         * lib/fdatasync.c (fdatasync): Add comment.
14468         * tests/test-unistd-c++.cc: Test fdatasync.
14469
14470         unistd: update refs to newer POSIX
14471         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
14472         Suggested by Bruno Haible.
14473
14474         fdatasync: new module
14475         * modules/fsync (Description): Document difference to fdatasync.
14476         * modules/fdatasync: New module.
14477         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
14478         * lib/fdatasync.c (fdatasync): Likewise.
14479         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
14480         defaults.
14481         * modules/unistd (Makefile.am): Set witnesses.
14482         * lib/unistd.in.h (fdatasync): Declare.
14483         * MODULES.html.sh: Document it.
14484         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
14485         * modules/fdatasync-tests: New test.
14486         * tests/test-fdatasync.c: Likewise.
14487
14488 2011-09-16  Eric Blake  <eblake@redhat.com>
14489
14490         test-fsync: enhance tests
14491         * modules/fsync-tests (Depends-on): Add errno, for mingw.
14492         * tests/test-fsync.c (main): Enhance test.
14493
14494 2011-09-15  Bruno Haible  <bruno@clisp.org>
14495
14496         Support for MSVC compiler: Ensure ssize_t gets defined.
14497         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
14498         * doc/posix-headers/stdio.texi: Likewise.
14499         * modules/stdio (Depends-on): Add ssize_t.
14500         * modules/sys_socket (Depends-on): Likewise.
14501         * modules/sys_types (Depends-on): Likewise.
14502         * modules/sys_uio (Depends-on): Likewise.
14503         * modules/unistd (Depends-on): Likewise.
14504         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
14505         * tests/test-sys_types.c: Check that ssize_t is defined.
14506
14507 2011-09-14  Bruno Haible  <bruno@clisp.org>
14508
14509         Avoid using #, the m4 comment starter character, near brackets.
14510         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
14511         delimiter character in sed expressions.
14512         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
14513         Suggested by Eric Blake.
14514
14515         Properly quote AC_CHECK_DECLS' 4th argument.
14516         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
14517         argument.
14518         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
14519         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14520         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
14521         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
14522         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
14523         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
14524         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
14525         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
14526         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
14527         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
14528         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
14529         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
14530         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
14531         * m4/isinf.m4 (gl_ISINF): Likewise.
14532         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
14533         * m4/readutmp.m4 (gl_READUTMP): Likewise.
14534         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
14535         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14536         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14537         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
14538         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
14539         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
14540         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
14541         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
14542         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14543         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14544         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
14545         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
14546         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
14547         Reported by Eric Blake.
14548
14549         Properly quote AC_CHECK_DECL's 4th argument.
14550         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
14551         argument.
14552         * m4/argp.m4 (gl_ARGP): Likewise.
14553         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
14554         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
14555         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
14556         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
14557         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
14558         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
14559         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
14560         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
14561         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
14562         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
14563         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
14564         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
14565         Reported by Eric Blake.
14566
14567 2011-09-14  Eric Blake  <eblake@redhat.com>
14568
14569         opendir: avoid compile warning
14570         * lib/opendir.c (includes): Always include errno.h.
14571         Reported by Tatsuro MATSUOKA.
14572
14573 2011-09-14  Jim Meyering  <meyering@redhat.com>
14574
14575         maint.mk: sc_tight_scope: propagate failure from sub-make
14576         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
14577         Reported by Martin von Gagern.
14578
14579 2011-09-13  Bruno Haible  <bruno@clisp.org>
14580
14581         tempname: Support for MSVC.
14582         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
14583         MSVC.
14584         * modules/tempname (Depends-on): Add fcntl-h.
14585
14586 2011-09-13  Bruno Haible  <bruno@clisp.org>
14587
14588         sys_time: Support for MSVC.
14589         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
14590         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
14591         include <winsock2.h>.
14592         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
14593         function declarations that collide with POSIX.
14594         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
14595         (Makefile.am): Substitute HAVE_WINSOCK2_H.
14596
14597 2011-09-13  Bruno Haible  <bruno@clisp.org>
14598
14599         stat: Support for MSVC.
14600         * lib/stat.c: Include pathmax.h.
14601         * modules/stat (Depends-on): Add pathmax.
14602
14603         pathmax: Support for native Windows.
14604         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
14605
14606 2011-09-12  Bruno Haible  <bruno@clisp.org>
14607
14608         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
14609         * lib/dirent.in.h (struct dirent): New type.
14610         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
14611         DT_WHT): New macros.
14612         (DIR): New type.
14613         (opendir, closedir): Declare only if the module 'opendir' is enabled.
14614         (readdir, rewinddir): New declarations.
14615         * lib/dirent-private.h: New file.
14616         * lib/opendir.c: New file.
14617         * lib/readdir.c: New file.
14618         * lib/rewinddir.c: New file.
14619         * lib/closedir.c: New file.
14620         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
14621         * m4/opendir.m4: New file.
14622         * m4/readdir.m4: New file.
14623         * m4/rewinddir.m4: New file.
14624         * m4/closedir.m4: New file.
14625         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
14626         REPLACE_CLOSEDIR here.
14627         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
14628         readdir, rewinddir are declared.
14629         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
14630         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
14631         HAVE_REWINDDIR, HAVE_CLOSEDIR.
14632         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
14633         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
14634         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
14635         * modules/opendir: New file.
14636         * modules/readdir: New file.
14637         * modules/rewinddir: New file.
14638         * modules/closedir: New file.
14639         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
14640         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
14641         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
14642         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
14643         * NEWS: Mention the 'fchdir' change.
14644
14645 2011-09-11  Bruno Haible  <bruno@clisp.org>
14646
14647         asm-underscore.m4: Support for MSVC.
14648         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
14649         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
14650
14651 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
14652
14653         Doc about crypt functions.
14654         * doc/posix-functions/crypt.texi: Expand range of glibc versions
14655         needing for _GNU_SOURCE to get crypt.
14656         * doc/posix-functions/encrypt.texi: Likewise.
14657         * doc/posix-functions/setkey.texi: Likewise.
14658
14659 2011-09-11  Bruno Haible  <bruno@clisp.org>
14660
14661         doc: Update regarding MSVC 9.
14662         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
14663         tested".
14664         * doc/posix-functions/*.texi: Update with info about MSVC 9.
14665         * doc/posix-headers/*.texi: Likewise.
14666         * doc/pastposix-functions/*.texi: Likewise.
14667         * doc/glibc-functions/*.texi: Likewise.
14668         * doc/glibc-headers/*.texi: Likewise.
14669
14670 2011-09-11  Bruno Haible  <bruno@clisp.org>
14671
14672         unistd et al.: Don't assume <unistd.h> exists.
14673         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
14674         does not exist.
14675         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
14676         exist. But include <stdlib.h>.
14677         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
14678         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
14679         symlink() does not exist.
14680         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
14681         include <io.h> instead.
14682         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
14683         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
14684         include <direct.h> instead.
14685         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
14686         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
14687         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
14688         <io.h> instead.
14689         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
14690         correctly if the system does not have hard links.
14691         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
14692         <direct.h> instead.
14693         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
14694         it when looking for function declarations.
14695         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
14696         <direct.h> and <io.h> instead.
14697         * doc/posix-headers/unistd.texi: More details about MSVC problem.
14698
14699 2011-09-11  Bruno Haible  <bruno@clisp.org>
14700
14701         strcase: Support for MSVC.
14702         * modules/strcase (Status, Notice): Remove obsoletion mark.
14703         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
14704         * doc/posix-functions/strncasecmp.texi: Likewise.
14705
14706         strings: Don't assume <strings.h> exists.
14707         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
14708         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
14709         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
14710         * doc/posix-headers/strings.texi: Mention the MSVC problem.
14711
14712 2011-09-11  Bruno Haible  <bruno@clisp.org>
14713
14714         dirent: Don't assume <dirent.h> exists.
14715         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
14716         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
14717         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
14718         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
14719
14720 2011-09-11  Bruno Haible  <bruno@clisp.org>
14721
14722         Fix wint_t on MSVC.
14723         * lib/wchar.in.h (wint_t): On MSVC, override it.
14724         * lib/wctype.in.h (wint_t): Likewise.
14725         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
14726         MSVC.
14727         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
14728         * doc/posix-headers/wctype.texi: Likewise.
14729
14730 2011-09-11  Bruno Haible  <bruno@clisp.org>
14731
14732         sys_types: Fix typo.
14733         * lib/sys_types.in.h: Fix typo in comment.
14734         Reported by Paul Eggert.
14735
14736         Support for MSVC compiler: Ensure size_t gets defined.
14737         * modules/strings (Depends-on): Add 'sys_types'.
14738         * modules/sys_uio (Depends-on): Likewise.
14739         * lib/sys_uio.in.h: Update comment.
14740
14741         C++ tests for module 'sys_types'.
14742         * modules/sys_types-c++-tests: New file.
14743         * tests/test-sys_types-c++.cc: New file.
14744
14745         Tests for module 'sys_types'.
14746         * modules/sys_types-tests: New file.
14747         * tests/test-sys_types.c: New file.
14748
14749         New module 'sys_types'.
14750         * lib/sys_types.in.h: New file.
14751         * m4/sys_types_h.m4: New file.
14752         * modules/sys_types: New file.
14753         * doc/posix-headers/sys_types.texi: Mention the new module and the
14754         size_t problem on MSVC 9.
14755
14756 2011-09-11  Bruno Haible  <bruno@clisp.org>
14757
14758         Support for MSVC compiler: Avoid division by a literal 0.
14759         * lib/math.in.h (NAN): Define through a function call also on MSVC.
14760         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
14761         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
14762         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
14763         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
14764         * tests/infinity.h: New file.
14765         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
14766         on MSVC.
14767         * tests/test-ceilf1.c: Include infinity.h.
14768         (main): Use Infinityf.
14769         * tests/test-ceil1.c: Include infinity.h.
14770         (main): Use Infinityd.
14771         * tests/test-ceill.c: Include infinity.h.
14772         (main): Use Infinityl.
14773         * tests/test-dprintf-posix.c: Include infinity.h.
14774         (test_function): Use Infinityd.
14775         * tests/test-floorf1.c: Include infinity.h.
14776         (main): Use Infinityf.
14777         * tests/test-floor1.c: Include infinity.h.
14778         (main): Use Infinityd.
14779         * tests/test-floorl.c: Include infinity.h.
14780         (main): Use Infinityl.
14781         * tests/test-fprintf-posix.c: Include infinity.h.
14782         (test_function): Use Infinityd.
14783         * tests/test-frexp.c: Include infinity.h.
14784         (main): Use Infinityd.
14785         * tests/test-frexpl.c: Include infinity.h.
14786         (main): Use Infinityl.
14787         * tests/test-isfinite.c: Include infinity.h.
14788         (test_isfinitef): Use Infinityf.
14789         (test_isfinited): Use Infinityd.
14790         (test_isfinitel): Use Infinityl.
14791         * tests/test-isinf.c: Include infinity.h.
14792         (test_isinff): Use Infinityf.
14793         (test_isinfd): Use Infinityd.
14794         (test_isinfl): Use Infinityl.
14795         * tests/test-isnan.c: Include infinity.h.
14796         (test_float): Use Infinityf.
14797         (test_double): Use Infinityd.
14798         (test_long_double): Use Infinityl.
14799         * tests/test-isnanf.h: Include infinity.h.
14800         (main): Use Infinityf.
14801         * tests/test-isnand.h: Include infinity.h.
14802         (main): Use Infinityd.
14803         * tests/test-isnanl.h: Include infinity.h.
14804         (main): Use Infinityl.
14805         * tests/test-ldexpl.c: Include infinity.h.
14806         (main): Use Infinityl.
14807         * tests/test-printf-posix.h: Include infinity.h.
14808         (test_function): Use Infinityd.
14809         * tests/test-roundf1.c: Include infinity.h.
14810         (main): Use Infinityf.
14811         * tests/test-round1.c: Include infinity.h.
14812         (main): Use Infinityd.
14813         * tests/test-roundl.c: Include infinity.h.
14814         (main): Use Infinityl.
14815         * tests/test-signbit.c: Include infinity.h.
14816         (test_signbitf): Use Infinityf.
14817         (test_signbitd): Use Infinityd.
14818         (test_signbitl): Use Infinityl.
14819         * tests/test-snprintf-posix.h: Include infinity.h.
14820         (test_function): Use Infinityd, Infinityl.
14821         * tests/test-sprintf-posix.h: Include infinity.h.
14822         (test_function): Use Infinityd, Infinityl.
14823         * tests/test-truncf1.c: Include infinity.h.
14824         (main): Use Infinityf.
14825         * tests/test-trunc1.c: Include infinity.h.
14826         (main): Use Infinityd.
14827         * tests/test-truncl.c: Include infinity.h.
14828         (main): Use Infinityl.
14829         * tests/test-vasnprintf-posix.c: Include infinity.h.
14830         (test_function): Use Infinityd, Infinityl.
14831         * tests/test-vasprintf-posix.c: Include infinity.h.
14832         (test_function): Use Infinityd, Infinityl.
14833         * modules/ceilf-tests (Files): Add tests/infinity.h.
14834         * modules/ceil-tests (Files): Likewise.
14835         * modules/ceill-tests (Files): Likewise.
14836         * modules/dprintf-posix-tests (Files): Likewise.
14837         * modules/floorf-tests (Files): Likewise.
14838         * modules/floor-tests (Files): Likewise.
14839         * modules/floorl-tests (Files): Likewise.
14840         * modules/fprintf-posix-tests (Files): Likewise.
14841         * modules/frexp-tests (Files): Likewise.
14842         * modules/frexp-nolibm-tests (Files): Likewise.
14843         * modules/frexpl-tests (Files): Likewise.
14844         * modules/frexpl-nolibm-tests (Files): Likewise.
14845         * modules/isfinite-tests (Files): Likewise.
14846         * modules/isinf-tests (Files): Likewise.
14847         * modules/isnan-tests (Files): Likewise.
14848         * modules/isnanf-tests (Files): Likewise.
14849         * modules/isnanf-nolibm-tests (Files): Likewise.
14850         * modules/isnand-tests (Files): Likewise.
14851         * modules/isnand-nolibm-tests (Files): Likewise.
14852         * modules/isnanl-tests (Files): Likewise.
14853         * modules/isnanl-nolibm-tests (Files): Likewise.
14854         * modules/ldexpl-tests (Files): Likewise.
14855         * modules/printf-posix-tests (Files): Likewise.
14856         * modules/roundf-tests (Files): Likewise.
14857         * modules/round-tests (Files): Likewise.
14858         * modules/roundl-tests (Files): Likewise.
14859         * modules/signbit-tests (Files): Likewise.
14860         * modules/snprintf-posix-tests (Files): Likewise.
14861         * modules/sprintf-posix-tests (Files): Likewise.
14862         * modules/truncf-tests (Files): Likewise.
14863         * modules/trunc-tests (Files): Likewise.
14864         * modules/truncl-tests (Files): Likewise.
14865         * modules/vasnprintf-posix-tests (Files): Likewise.
14866         * modules/vasprintf-posix-tests (Files): Likewise.
14867         * modules/vdprintf-posix-tests (Files): Likewise.
14868         * modules/vfprintf-posix-tests (Files): Likewise.
14869         * modules/vprintf-posix-tests (Files): Likewise.
14870         * modules/vsnprintf-posix-tests (Files): Likewise.
14871         * modules/vsprintf-posix-tests (Files): Likewise.
14872         * modules/xprintf-posix-tests (Files): Likewise.
14873
14874 2011-09-11  Bruno Haible  <bruno@clisp.org>
14875
14876         Ensure pid_t gets defined.
14877         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
14878         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14879         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
14880         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14881         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
14882         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14883         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
14884         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14885         * tests/test-fcntl-h.c: Check that pid_t is defined.
14886         * tests/test-sched.c: Likewise.
14887         * tests/test-termios.c: Likewise.
14888         * tests/test-time.c: Likewise.
14889         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
14890         * doc/posix-headers/signal.texi: Likewise.
14891         * doc/posix-headers/sys_types.texi: Likewise.
14892         * doc/posix-headers/time.texi: Likewise.
14893
14894 2011-09-11  Bruno Haible  <bruno@clisp.org>
14895
14896         acl: Fix compilation on Solaris 10 (older version).
14897         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
14898         of ACE_EVERYONE.
14899         * lib/set-mode-acl.c (qset_acl): Likewise.
14900         Reported by Christian Jullien <eligis@orange.fr>.
14901
14902 2011-09-10  Bruno Haible  <bruno@clisp.org>
14903
14904         iconv, unsetenv: Add support for MSVC compiler.
14905         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
14906         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
14907
14908 2011-09-10  Bruno Haible  <bruno@clisp.org>
14909
14910         *printf: Add support for MSVC compiler.
14911         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
14912         handles the exception caused by the %n directive. When cross-compiling,
14913         guess no on native Windows.
14914         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
14915         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
14916         emulate it through vsnprintf.
14917         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
14918         * doc/posix-functions/dprintf.texi: Update documentation regarding
14919         MSVC 9.
14920         * doc/posix-functions/fprintf.texi: Likewise.
14921         * doc/posix-functions/printf.texi: Likewise.
14922         * doc/posix-functions/snprintf.texi: Likewise.
14923         * doc/posix-functions/sprintf.texi: Likewise.
14924         * doc/posix-functions/swprintf.texi: Likewise.
14925         * doc/posix-functions/vdprintf.texi: Likewise.
14926         * doc/posix-functions/vfprintf.texi: Likewise.
14927         * doc/posix-functions/vprintf.texi: Likewise.
14928         * doc/posix-functions/vsnprintf.texi: Likewise.
14929         * doc/posix-functions/vsprintf.texi: Likewise.
14930         * doc/glibc-functions/asprintf.texi: Likewise.
14931         * doc/glibc-functions/obstack_printf.texi: Likewise.
14932         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
14933         * doc/glibc-functions/vasprintf.texi: Likewise.
14934
14935 2011-09-10  Bruno Haible  <bruno@clisp.org>
14936
14937         nocrash: Add support for native Windows.
14938         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
14939
14940 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
14941             Bruno Haible  <bruno@clisp.org>
14942
14943         absolute-header, include-next: Add support for MSVC compiler.
14944         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
14945         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
14946         directory separator in #line directives.
14947         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
14948         recognize also backslash as directory separator in #line directives.
14949
14950 2011-09-08  Jim Meyering  <meyering@redhat.com>
14951
14952         maint.mk: mark the post-release commit log with "maint: " prefix
14953         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
14954         one-line commit-log summary.
14955
14956 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
14957             Bruno Haible  <bruno@clisp.org>
14958
14959         Doc about crypt functions.
14960         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
14961         systems.
14962         * doc/posix-functions/encrypt.texi: Likewise.
14963         * doc/posix-functions/setkey.texi: Likewise.
14964
14965 2011-09-08  Simon Josefsson  <simon@josefsson.org>
14966
14967         * lib/gc.h: Fix copyright header.
14968
14969 2011-09-07  Bruno Haible  <bruno@clisp.org>
14970
14971         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
14972         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
14973         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
14974
14975 2011-09-07  Bruno Haible  <bruno@clisp.org>
14976
14977         openat: Work around compilation error with OSF/1 5.1 DTK cc.
14978         * lib/fopen.c: Use different syntax for include of <stdio.h>.
14979         * lib/freopen.c: Likewise.
14980         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
14981         * lib/lstat.c: Likewise.
14982         * lib/stat.c: Likewise.
14983         * lib/open.c: Use different syntax for include of <fcntl.h>.
14984         * lib/openat.c: Include fcntl.h again, explicitly.
14985
14986 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
14987
14988         parse-datetime: document the newly accepted format
14989         * doc/parse-datetime.texi (Combined date and time of day items):
14990         New section.
14991
14992 2011-09-06  Bruno Haible  <bruno@clisp.org>
14993
14994         acl: Fix a test failure on newer Solaris 10 with ZFS.
14995         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
14996         ENOSYS as no ACL.
14997         Reported by Jim Meyering.
14998
14999 2011-09-06  Bruno Haible  <bruno@clisp.org>
15000
15001         acl: Update for AIX >= 5.3 with NFS.
15002         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
15003         ENOSYS as no ACL.
15004
15005         acl: Fix a test failure on AIX >= 5.3 with NFS.
15006         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
15007         as no ACL.
15008
15009 2011-09-06  Bruno Haible  <bruno@clisp.org>
15010
15011         acl: Fix a test failure on IRIX 6.5 with NFS.
15012         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
15013         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
15014         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
15015         * lib/copy-acl.c (qcopy_acl): Likewise.
15016
15017 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
15018
15019         openat: port to AIX 7.1 with large files
15020         AIX 7.1 does a "#define openat open64at" if large files are in use,
15021         so we can't simply #undef openat.  Use the orig_openat trick (similar
15022         to orig_open in lib/open.c) to work around the problem.  Problem
15023         reported by Kevin Brott for GNU tar, in the thread containing
15024         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
15025         * lib/openat.c (__need_system_fcntl_h): Define first.
15026         Include <fcntl.h> and <sys/types.h> before undefining.
15027         (orig_openat) [HAVE_OPENAT]: New inline function.
15028         (openat) [HAVE_OPENAT]: Do not undef.
15029         (rpl_openat): Use orig_openat, not openat.
15030
15031 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
15032             Bruno Haible  <bruno@clisp.org>
15033
15034         acl: Avoid errors on NonStop Kernel.
15035         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
15036         ENOTSUP errors.
15037
15038 2011-09-05  Bruno Haible  <bruno@clisp.org>
15039
15040         acl: Clean up Solaris code.
15041         * lib/acl-internal.h: Remove no-op #if.
15042         * lib/file-has-acl.c: Likewise.
15043         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
15044         * lib/copy-acl.c (qcopy_acl): Likewise.
15045
15046 2011-09-05  Bruno Haible  <bruno@clisp.org>
15047
15048         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
15049         binaries built on the original Solaris 10.
15050         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
15051         trivial.
15052
15053 2011-09-05  Bruno Haible  <bruno@clisp.org>
15054
15055         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
15056         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
15057         10.
15058         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
15059         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
15060         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
15061         instead of acl_get, facl_get, acl_set, facl_set.
15062
15063 2011-09-05  Bruno Haible  <bruno@clisp.org>
15064
15065         copy-file: Try unit tests on more file systems.
15066         * tests/test-copy-file-1.sh: New file.
15067         * tests/test-copy-file-2.sh: New file.
15068         * modules/copy-file-tests (Files): Add them.
15069         (Makefile.am): Add them to TESTS.
15070
15071         acl: Try unit tests on more file systems.
15072         * tests/test-file-has-acl-1.sh: New file.
15073         * tests/test-file-has-acl-2.sh: New file.
15074         * tests/test-set-mode-acl-1.sh: New file.
15075         * tests/test-set-mode-acl-2.sh: New file.
15076         * tests/test-copy-acl-1.sh: New file.
15077         * tests/test-copy-acl-2.sh: New file.
15078         * modules/acl-tests (Files): Add them.
15079         (Makefile.am): Add them to TESTS.
15080
15081 2011-09-04  Bruno Haible  <bruno@clisp.org>
15082
15083         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
15084         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
15085         10.
15086         (OLD_ALLOW, OLD_DENY): New macros.
15087         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
15088         ACE_ACCESS_ALLOWED_ACE_TYPE.
15089         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
15090         ACE_ACCESS_DENIED_ACE_TYPE.
15091         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
15092         (NEW_ACE_EXECUTE): Fix value.
15093         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
15094         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
15095         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
15096         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
15097         NEW_ACE_SYNCHRONIZE): New macros.
15098         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
15099         instead of acl_fromtext, acl_set, facl_set.
15100         Fixes a coreutils/tests/cp/perm failure.
15101
15102 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
15103
15104         openat: test for fstatat (..., 0) bug
15105         Further testing with tar suggests that fstatat (..., 0)
15106         does not work in general, on AIX 7.1; see
15107         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
15108         So, give up entirely on AIX 7.1's fstatat, and fall back on our
15109         replacement fstatat (which is what older AIX releases were using
15110         anyway).
15111         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
15112         use is now changed to orig_fstatat.  This was probably the right
15113         thing to do anyway.
15114         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
15115         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
15116         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
15117         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
15118         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
15119         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
15120         if the bug is found.
15121
15122         openat: test for fstatat (AT_FDCWD, ..., 0) bug
15123         This tests for another fstatat bug on AIX 7.1:
15124         fstatat (AT_FDCWD, ..., 0) does not work.  See
15125         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
15126         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
15127         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
15128         (rpl_fstatat): Adjust so that it works around either (or both)
15129         bugs if present.
15130         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
15131
15132 2011-09-03  Karl Berry  <karl@gnu.org>
15133
15134         * doc/regex.texi (Character Class Operators): Avoid literal ":"
15135         in index entries.
15136
15137 2011-09-02  Bruno Haible  <bruno@clisp.org>
15138
15139         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
15140         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
15141         values of AR, ARFLAGS, RANLIB.
15142         Reported by John W. Eaton <jwe@gnu.org> for Octave.
15143
15144 2011-09-02  Bruno Haible  <bruno@clisp.org>
15145
15146         Find 'ar' program that fits with --host argument.
15147         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
15148
15149 2011-09-02  Bruno Haible  <bruno@clisp.org>
15150
15151         tests: init.sh: Support any non-GNU diff.
15152         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
15153         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
15154         Solaris 8.
15155
15156 2011-09-02  Bruno Haible  <bruno@clisp.org>
15157
15158         tests: init.sh: work also with any non-GNU diff that supports -u
15159         * tests/init.sh: Relax check for diff -u support.
15160         Rather than checking for GNU diff via --version, simply check
15161         for support for -u itself.  Useful at least on OpenBSD 4.9,
15162         AIX 7.1, IRIX 6.5, and Solaris 10.
15163
15164 2011-09-01  Bruno Haible  <bruno@clisp.org>
15165
15166         strtoimax, strtoumax: Document problem on HP-UX 11.
15167         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
15168         * doc/posix-functions/strtoumax.texi: Likewise.
15169
15170 2011-09-01  Bruno Haible  <bruno@clisp.org>
15171
15172         strtoumax: Avoid link error on OSF/1 with DTK cc.
15173         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
15174         defined as a function.
15175         * modules/strtoumax (Depends-on, configure.ac): Test only whether
15176         strtoumax is defined, not whether it is declared.
15177
15178 2011-09-01  Bruno Haible  <bruno@clisp.org>
15179
15180         strtoimax: Avoid link error on OSF/1 with DTK cc.
15181         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
15182         defined as a function.
15183         * modules/strtoimax (Depends-on, configure.ac): Test only whether
15184         strtoimax is defined, not whether it is declared.
15185
15186 2011-09-01  Bruno Haible  <bruno@clisp.org>
15187
15188         imaxdiv: Avoid link error on OSF/1 with DTK cc.
15189         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
15190         as a function.
15191         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
15192         whether it is declared.
15193
15194 2011-09-01  Bruno Haible  <bruno@clisp.org>
15195
15196         imaxabs: Avoid link error on OSF/1 with DTK cc.
15197         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
15198         as a function.
15199         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
15200         whether it is declared.
15201
15202 2011-09-01  Bruno Haible  <bruno@clisp.org>
15203
15204         Tests for module 'strtoumax'.
15205         * modules/strtoumax-tests: New file.
15206         * tests/test-strtoumax.c: New file.
15207
15208         Tests for module 'strtoimax'.
15209         * modules/strtoimax-tests: New file.
15210         * tests/test-strtoimax.c: New file.
15211
15212         Tests for module 'imaxdiv'.
15213         * modules/imaxdiv-tests: New file.
15214         * tests/test-imaxdiv.c: New file.
15215
15216         Tests for module 'imaxabs'.
15217         * modules/imaxabs-tests: New file.
15218         * tests/test-imaxabs.c: New file.
15219
15220 2011-09-01  Bruno Haible  <bruno@clisp.org>
15221
15222         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
15223         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
15224         pthread_create.
15225
15226 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15227
15228         openat: work around AIX 7.1 fstatat issue
15229         This should fix the problem that was not properly fixed
15230         in the previous change, dated 2011-08-30.
15231         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
15232         __need_system_stat_h defined.
15233         (orig_fstatat) [HAVE_FSTATAT]: New function.
15234         (rpl_fstatat): Go back to the old way of doing things,
15235         except call orig_fstatat instead of fstatat.
15236         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
15237         Remove unnecessary check whether fstatat fills in st_size etc.
15238
15239 2011-09-01  Bruno Haible  <bruno@clisp.org>
15240
15241         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
15242         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
15243         just include the system's header.
15244
15245 2011-08-31  Jim Meyering  <meyering@redhat.com>
15246
15247         tests: avoid spurious assertion failure in test-float.c on ppc64
15248         * tests/test-float.c (test_long_double): Comment out an assertion,
15249         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
15250         with gcc-4.4.4.
15251
15252         maint: indent with spaces, not TABs
15253         I need to get in the habit of running gnulib's "make check".
15254         Both of these would have been caught.
15255         * m4/largefile.m4: Indent with spaces, not TABs.
15256         * lib/parse-datetime.y (iso_8601_time): Likewise.
15257         Spotted by Pádraig Brady.
15258
15259         test-parse-datetime.c: accommodate a relatively strict gcc warning
15260         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
15261         to avoid a warning from gcc's -Werror=missing-declarations.
15262         Insert a few spaces-before-funcall-parenthesis.
15263
15264 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
15265
15266         parse-datetime: accept ISO 8601 date and time rep with "T" separator
15267         The parser now accepts ISO 8601 date-time strings with "T" as the
15268         separator.  It has long parsed dates like "2004-02-29 16:21:42"
15269         with a space between the date and time strings.  Now it also parses
15270         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
15271         variants like "2004-02-29T16:21:42.333-07:00"
15272         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
15273         of day representation using the 'T' separator character.
15274         * doc/parse-datetime.texi (General date syntax): replace use of
15275         deprecated --iso-8601 option with --rfc-3339 in example of date
15276         command output formats that can be parsed.
15277         * tests/test-parse-datetime.c (tm_diff): New function, taken from
15278         lib/parse-datetime.y.
15279         (gmt_offset): New function.
15280         (main): Add additional test cases to validate ISO8601 extended
15281         date and time of day parsing.
15282
15283 2011-08-31  Bruno Haible  <bruno@clisp.org>
15284
15285         freopen: Documentation.
15286         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
15287         name.
15288         Reported by Claudio Bley <claudio.bley@gmail.com>.
15289
15290 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
15291
15292         freopen: Don't crash if the filename argument is NULL.
15293         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
15294         NULL.
15295
15296 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
15297
15298         openat: work around AIX 7.1 fstatat bug
15299         Problem reported by Kevin Brott for GNU tar, in the thread containing
15300         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
15301         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
15302         FSTATAT_ST_SIZE_ETC_BROKEN.
15303         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
15304         rpl_fstatat.
15305         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
15306         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
15307         AC_CHECK_FUNCS_ONCE for fstatat.
15308         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
15309         fchmodat, mkdirat, openat and unlinkat.
15310
15311 2011-08-30  Bruno Haible  <bruno@clisp.org>
15312
15313         Avoid endless recursions if config.h includes some header files.
15314         * lib/fopen.c (__need_FILE): Define already before including config.h.
15315         * lib/freopen.c (__need_FILE): Likewise.
15316         * lib/open.c (__need_system_fcntl_h): Likewise.
15317         * lib/stat.c (__need_system_sys_stat_h): Likewise.
15318         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
15319         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
15320
15321 2011-08-25  Karl Berry  <karl@gnu.org>
15322
15323         * config/srclist.txt (ylwrap): new try.
15324         * build-aux/ylwrap: new file.
15325
15326 2011-08-23  Bruno Haible  <bruno@clisp.org>
15327
15328         tmpdir: Use a good default directory on native Windows.
15329         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
15330         (P_tmpdir): Default to _P_tmpdir on native Windows.
15331         (path_search): On native Windows, try the value returned by GetTempPath
15332         before trying P_tmpdir.
15333         * modules/tmpdir (Depends-on): Add pathmax.
15334         Suggested by John Darrington <john@darrington.wattle.id.au>.
15335
15336 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
15337
15338         doc: fix typo in README-release
15339         * top/README-release: Capitalize first word of a sentence.
15340
15341 2011-08-19  Jim Meyering  <meyering@redhat.com>
15342
15343         fts: do not exhaust memory when processing million-entry directories
15344         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
15345         directory would require about 256*N bytes of memory.  Thus, it was
15346         easy to construct a directory too large to be processed by any of
15347         those tools.  With this change, fts' maximum memory utilization is
15348         now limited to around 30MB.
15349         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
15350         (fts_read): When we've processed the final entry (i.e., when
15351         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
15352         using the parent entry to read any remaining entries.  Dispatch
15353         depending on what fts_build returns:
15354         - NULL+stop, aka failure: stop
15355         - NULL otherwise: move up in the dir hierarchy
15356         - non-NULL: handle this new entry
15357         (fts_build): Declare and use new local, continue_readdir.
15358         Prepare to be called from fts_read, when the entries
15359         from a partially-read directory have just been exhausted.
15360         In that case, we'll skip the opendir and instead use the parent's
15361         fts_dirp and derive dir_fd from that.
15362         Finally, in the readdir loop, if we read max_entries entries,
15363         exit the loop ensuring *not* to call closedir.  This is required
15364         so that fts_dirp can be reused on a subsequent call.
15365         Prompted by Ben England's report of memory exhaustion in find
15366         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
15367
15368         maint: fts: move decl of `dp' down into while loop; split a long line
15369         * lib/fts.c (fts_build): No semantic change.
15370
15371         fts: add/use new struct member, fts_dirp
15372         We are about to use this to manage any directory with
15373         too many entries to read all of them into memory at once.
15374         To do that, we'll need to save the DIR* pointer in each
15375         affected FTSENT struct.
15376         * lib/fts_.h: Include <dirent.h>.
15377         (struct FTSENT) [fts_dirp]: New member.
15378         * lib/fts.c (closedir_and_clear): Define.
15379         Use it in place of closedir so that we are sure to
15380         clear the new fts_dirp member when done with it.
15381         (fts_alloc): Initialize the new member.
15382         (fts_lfree): Free, if needed.
15383
15384         maint: fts: give __opendir2 a new parameter and rename
15385         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
15386         than surreptitiously using sole caller's "dir_fd".
15387         (fts_opendir): Rename from __opendir2.
15388
15389         maint: fts.c: remove __opendir2's now-unused parameter, oflag
15390         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
15391
15392         maint: fts.c: correct off-by-one indentation
15393         * lib/fts.c (fts_build): Correct indentation, change style
15394         of a couple of block comments, and bracing style.
15395
15396         maint: fts.c: move __opendir2 #define "up" out of function body
15397         * lib/fts.c (__opendir2): Move "up".  No semantic change.
15398
15399         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
15400         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
15401         out for a long time and besides was useful only on BSD systems.
15402
15403 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
15404
15405         regex: port to Stratus OpenVOS
15406         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
15407         define to empty, rather than attempting nonportable optimizations.
15408         Problem reported by Paul Green in:
15409         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
15410         and fix suggested by Eric Blake in:
15411         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
15412
15413 2011-08-17  Eric Blake  <eblake@redhat.com>
15414
15415         getcwd: fix test failures on mingw
15416         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
15417         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
15418         test if long directory cannot be created, and allow mingw errno.
15419
15420         getcwd-lgpl: fix m4 to match relaxed test for BSD
15421         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
15422         (gl_FUNC_GETCWD_SIGNATURE): New macro.
15423         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
15424         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
15425         signature problem.
15426
15427         getcwd: fix compilation on mingw64
15428         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
15429         getcwd.
15430         Reported by Marc-André Lureau.
15431
15432         pipe2: silence compiler warning
15433         * lib/pipe2.c (pipe2): Hide label if it is not used.
15434
15435 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
15436
15437         relocatable-prog: fix link error
15438         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
15439         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
15440         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
15441         into modules/relocatable-lib without noticing that
15442         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
15443         also needs to build relocatable.c.
15444
15445 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15446
15447         getaddrinfo: fix sh typo in gai_strerrorA decl checking
15448         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
15449         shell code: it contained a 'break' that was not in a loop.
15450         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
15451         via a shell-language loop; this may have been true in old Autoconf
15452         versions, but it's not true in Autoconf 2.68.  I found this bug
15453         when testing coreutils git on Solaris 8, whose shell complains
15454         about the syntax error.
15455
15456 2011-08-12  Simon Josefsson  <simon@josefsson.org>
15457
15458         * lib/base64.c: Fix comment to reference RFC 4648.
15459         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
15460         <gvtulder@gmail.com>.
15461
15462 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
15463
15464         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
15465
15466         po/Makefile.in.in: fix make -q problem
15467         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
15468         rule, since there's no file named 'check-macro-version' and its
15469         use as a file breaks make -q.
15470         (all): Don't depend on check-macro-version.
15471         (CHECK_MACRO_VERSION): New macro.
15472         (stamp-po): Use it.
15473
15474         configmake: fix make -q problem
15475         * modules/configmake (configmake.h): Update configmake.h's time stamp
15476         even if the file does not change.  Otherwise, 'make -q' fails.
15477         Problem reported by Simon Josefsson in
15478         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
15479
15480 2011-08-11  Jim Meyering  <meyering@redhat.com>
15481
15482         git-version-gen: correct the advice in a comment
15483         * build-aux/git-version-gen: Correct comment.
15484         Don't recommend to list .tarball-version in .gitignore.
15485
15486 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
15487
15488         base64: fix off-by-one buffer size bug
15489         Problem and (trivial) fix reported by Gijs van Tulder in
15490         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
15491         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
15492         * tests/test-base64.c (main): Catch the bug.
15493
15494 2011-08-10  Eric Blake  <eblake@redhat.com>
15495
15496         closein: correct comments
15497         * lib/closein.c (close_stdin): Improve comments.
15498
15499 2011-08-09  Bruno Haible  <bruno@clisp.org>
15500
15501         More tests for 'fseeko'.
15502         * tests/test-fseeko3.c: New file, from Eric Blake.
15503         * tests/test-fseeko3.sh: New file.
15504         * modules/fseeko-tests (Files): Add them.
15505         (TESTS): Add test-fseeko3.sh.
15506         (check_PROGRAMS): Add test-fseeko3.
15507
15508 2011-08-09  Eric Blake  <eblake@redhat.com>
15509
15510         fseeko: remove unneeded hack
15511         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
15512
15513         fseeko: fix bug on glibc
15514         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
15515         Reported by John W. Eaton.
15516
15517 2011-08-08  Bruno Haible  <bruno@clisp.org>
15518
15519         unictype/base: Fix interoperability with preinstalled libunistring.
15520         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
15521         Reported by Simon Josefsson.
15522
15523 2011-08-08  Bruno Haible  <bruno@clisp.org>
15524
15525         iswblank: Detect declaration correctly.
15526         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
15527         AC_CHECK_DECLS invocation.
15528
15529 2011-08-08  Bruno Haible  <bruno@clisp.org>
15530
15531         tcgetsid: Detect declaration correctly.
15532         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
15533         AC_CHECK_DECLS invocation.
15534         Reported by Simon Josefsson.
15535
15536 2011-08-08  Eric Blake  <eblake@redhat.com>
15537
15538         largefile: fix typo that regressed large file support
15539         * modules/largefile (configure.ac-early): Fix section name.
15540
15541 2011-08-06  Karl Berry  <karl@gnu.org>
15542
15543         * MODULES.html.sh (func_all_files): _Noreturn is no longer
15544         a separate module.
15545
15546 2011-08-05  Simon Josefsson  <simon@josefsson.org>
15547
15548         openat: Fix warnings and commens when building unlinkat.c on Hurd.
15549         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
15550         get prototype for free.
15551
15552 2011-08-04  Bruno Haible  <bruno@clisp.org>
15553
15554         Tests for module 'pathmax'.
15555         * modules/pathmax-tests: New file.
15556         * tests/test-pathmax.c: New file.
15557
15558         canonicalize-lgpl: Support larger filenames on the Hurd.
15559         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
15560         Reported by Paul Eggert.
15561
15562         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
15563         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
15564         * lib/chdir-long.h: Include pathmax.h.
15565         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
15566         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
15567         (PATH_MAX): Remove code that is done by pathmax.h.
15568         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
15569         * lib/tmpfile.c: Add a comment.
15570         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
15571         * modules/chdir-long (Depends-on): Add pathmax.
15572         * modules/getcwd (Depends-on): Add pathmax.
15573         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
15574         is not defined.
15575         * doc/posix-headers/limits.texi: Mention the pathmax module.
15576         * NEWS: Mention the change.
15577
15578 2011-08-02  Bruno Haible  <bruno@clisp.org>
15579
15580         pthread_sigmask: Actually use results of gl_THREADLIB.
15581         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
15582         gl_THREADLIB, not gl_[]THREADLIB.
15583         Reported by Eric Blake.
15584
15585 2011-08-02  Jim Meyering  <meyering@redhat.com>
15586
15587         maint.mk: relax the default _gl_TS_function_match regexp
15588         * top/maint.mk (_gl_TS_function_match): Don't require at least one
15589         space between function name and "(" in an "extern" declaration.
15590         That would fail to match a decl with no space there: extern void foo();
15591
15592 2011-07-31  Iain Nicol  <iain@thenicols.net>
15593
15594         git-version-gen: document that EXTRA_DIST must include .version
15595         * build-aux/git-version-gen: In the how-to-use comment, document
15596         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
15597         will fail when run from an unpacked distribution tarball.
15598
15599 2011-08-01  Bruno Haible  <bruno@clisp.org>
15600
15601         wctype-h: Fix last change.
15602         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
15603         REPLACE_TOWLOWER to 0.
15604         Reported by Sam Steingold <sds@gnu.org>.
15605
15606 2011-07-31  Bruno Haible  <bruno@clisp.org>
15607
15608         frexpl: Update autoconf test.
15609         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
15610         according to changes of 2011-06-20.
15611
15612 2011-07-31  Bruno Haible  <bruno@clisp.org>
15613
15614         sys_utsname: Add support for Minix.
15615         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
15616         <sys/utsname.h>.
15617         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
15618         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
15619
15620 2011-07-31  Bruno Haible  <bruno@clisp.org>
15621
15622         strings: Add support for Minix.
15623         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
15624         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
15625         * doc/posix-headers/strings.texi: Document the Minix problem.
15626
15627 2011-07-31  Bruno Haible  <bruno@clisp.org>
15628
15629         wctype-h: Add support for Minix.
15630         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
15631         REPLACE_TOWLOWER.
15632         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
15633         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
15634         REPLACE_ISWCNTRL.
15635
15636 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
15637
15638         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
15639         This is a performance improvement for 64-bit hosts: it causes the
15640         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
15641
15642 2011-07-31  Bruno Haible  <bruno@clisp.org>
15643
15644         stdioext: Add support for Minix.
15645         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
15646         * lib/fpurge.c (fpurge): Likewise.
15647         * lib/freadahead.c (freadahead): Likewise.
15648         * lib/freadable.c (freadable): Likewise.
15649         * lib/freading.c (freading): Likewise.
15650         * lib/freadptr.c (freadptr): Likewise.
15651         * lib/freadseek.c (freadptrinc): Likewise.
15652         * lib/fseeko.c (rpl_fseeko): Likewise.
15653         * lib/fseterr.c (fseterr): Likewise.
15654         * lib/fwritable.c (fwritable): Likewise.
15655         * lib/fwriting.c (fwriting): Likewise.
15656         * lib/fflush.c (clear_ungetc_buffer): Update comment.
15657         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
15658
15659 2011-07-31  Bruno Haible  <bruno@clisp.org>
15660
15661         errno: Port to Minix.
15662         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
15663         ECONNABORTED are defined.
15664         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
15665         GNULIB_defined_ECONNABORTED): New macros.
15666         * lib/strerror-override.h (strerror_override): Test also
15667         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
15668         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
15669         ECONNABORTED.
15670         * doc/posix-headers/errno.texi: Mention the Minix problem.
15671
15672 2011-07-31  Bruno Haible  <bruno@clisp.org>
15673
15674         Work around declaration collisions on Minix.
15675         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
15676         defined, set REPLACE_MBSINIT.
15677         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
15678         defined, set REPLACE_MBRTOWC.
15679         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
15680         set REPLACE_MBRLEN.
15681         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
15682         defined, set REPLACE_MBSRTOWCS.
15683         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
15684         defined, set REPLACE_WCRTOMB.
15685         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
15686         defined, set REPLACE_WCSRTOMBS.
15687
15688 2011-07-31  Bruno Haible  <bruno@clisp.org>
15689
15690         Add support for Minix with ACK compiler.
15691         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
15692         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
15693         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
15694
15695 2011-07-31  Bruno Haible  <bruno@clisp.org>
15696
15697         Documentation about Minix.
15698         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
15699         * doc/glibc-headers/*.texi: Likewise.
15700         * doc/posix-functions/*.texi: Likewise.
15701         * doc/glibc-functions/*.texi: Likewise.
15702
15703 2011-07-31  Bruno Haible  <bruno@clisp.org>
15704
15705         snippet/warn-on-use: Fix indentation.
15706         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
15707
15708 2011-07-25  Jim Meyering  <meyering@redhat.com>
15709
15710         tests: test-update-copyright.sh: remove unnecessary "rm" commands
15711         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
15712         commands.
15713
15714 2011-07-27  Jim Meyering  <meyering@redhat.com>
15715
15716         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
15717         * top/maint.mk (gl_extract_significant_defines_): Now that
15718         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
15719         gnulib/lib/signal.in.h, and now that we recommend to
15720         define-if-undefined those two symbols in application code,
15721         we must filter them out of the "significant" list.
15722         This avoids a "make syntax-check" failure in coreutils.
15723
15724 2011-07-26  Eric Blake  <eblake@redhat.com>
15725
15726         warnings: add comments about previous patch
15727         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
15728         * m4/include_next.m4: Likewise.
15729         * m4/warn-on-use.m4: Likewise.
15730         * m4/warnings.m4: Likewise, and simplify use.
15731         Suggested by Stefano Lattarini.
15732
15733         include-next, warnings: support older autoconf
15734         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
15735         AS_VAR_PUSHDEF in a way that works with older autoconf.
15736         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
15737         Reported by Daniel P. Berrange.
15738
15739 2011-07-25  Bruno Haible  <bruno@clisp.org>
15740
15741         fseek, ftell: Fix doc.
15742         * doc/posix-functions/fseek.texi: Reword statement about
15743         AC_SYS_LARGEFILE.
15744         * doc/posix-functions/ftell.texi: Likewise.
15745
15746 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15747             Bruno Haible  <bruno@clisp.org>
15748
15749         Add dependencies to the 'largefile' module.
15750         * modules/fopen (Depends-on): Add 'largefile'.
15751         * modules/freopen (Depends-on): Likewise.
15752         * modules/fseeko (Depends-on): Likewise.
15753         * modules/ftello (Depends-on): Likewise.
15754         * modules/glob (Depends-on): Likewise.
15755         * modules/lseek (Depends-on): Likewise.
15756         * modules/lstat (Depends-on): Likewise.
15757         * modules/mkostemp (Depends-on): Likewise.
15758         * modules/mkostemps (Depends-on): Likewise.
15759         * modules/mkstemp (Depends-on): Likewise.
15760         * modules/mkstemps (Depends-on): Likewise.
15761         * modules/open (Depends-on): Likewise.
15762         * modules/openat (Depends-on): Likewise.
15763         * modules/pread (Depends-on): Likewise.
15764         * modules/pwrite (Depends-on): Likewise.
15765         * modules/scandir (Depends-on): Likewise.
15766         * modules/stat (Depends-on): Likewise.
15767         * modules/tmpfile (Depends-on): Likewise.
15768         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
15769         since the containing module now depends on the largefile module.
15770         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
15771         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
15772         off_t is fixed by gnulib.
15773         * doc/posix-functions/freopen.texi: Likewise.
15774         * doc/posix-functions/fseeko.texi: Likewise.
15775         * doc/posix-functions/fstatat.texi: Likewise.
15776         * doc/posix-functions/ftello.texi: Likewise.
15777         * doc/posix-functions/glob.texi: Likewise.
15778         * doc/posix-functions/lseek.texi: Likewise.
15779         * doc/posix-functions/lstat.texi: Likewise.
15780         * doc/posix-functions/mkstemp.texi: Likewise.
15781         * doc/posix-functions/open.texi: Likewise.
15782         * doc/posix-functions/openat.texi: Likewise.
15783         * doc/posix-functions/pread.texi: Likewise.
15784         * doc/posix-functions/pwrite.texi: Likewise.
15785         * doc/posix-functions/scandir.texi: Likewise.
15786         * doc/posix-functions/stat.texi: Likewise.
15787         * doc/posix-functions/tmpfile.texi: Likewise.
15788         * doc/glibc-functions/mkostemp.texi: Likewise.
15789         * doc/glibc-functions/mkostemps.texi: Likewise.
15790         * doc/glibc-functions/mkstemps.texi: Likewise.
15791
15792 2011-07-25  Bruno Haible  <bruno@clisp.org>
15793
15794         fcntl: Move AC_LIBOBJ invocation to module description.
15795         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
15796         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
15797
15798         fcntl: Remove call-in from fchdir.m4.
15799         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
15800         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
15801
15802         dup3: Remove potential call-in from fchdir.m4.
15803         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
15804         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
15805
15806         dup2: Move AC_LIBOBJ invocation to module description.
15807         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
15808         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
15809         Don't invoke AC_LIBOBJ.
15810         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
15811
15812         dup2: Remove call-in from fchdir.m4.
15813         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
15814         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
15815
15816         fclose: Move AC_LIBOBJ invocation to module description.
15817         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
15818         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
15819         to 1.
15820         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
15821
15822         fclose: Remove call-in from close.m4.
15823         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
15824         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
15825
15826         close: Move AC_LIBOBJ invocation to module description.
15827         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
15828         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
15829         1.
15830         * modules/close (configure.ac): Invoke AC_LIBOBJ.
15831
15832         close: Remove call-in from fchdir.m4.
15833         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
15834         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
15835
15836         open: Move AC_LIBOBJ invocation to module description.
15837         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
15838         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
15839         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
15840
15841         open: Remove call-in from fchdir.m4.
15842         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
15843         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
15844
15845         fchdir: Start to remove gl_REPLACE_* idiom.
15846         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
15847         (gl_FUNC_FCHDIR): Invoke it.
15848
15849 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15850
15851         * lib/ftell.c (ftell): Comment out cast.
15852
15853         close: use gl_REPLACE_FCLOSE only if defined
15854         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
15855         is defined.  The close module doesn't depend on the fclose module
15856         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
15857         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
15858         I reproduced the problem with "./gnulib-tool --test close sys_socket".
15859
15860 2011-07-24  Jim Meyering  <meyering@redhat.com>
15861
15862         test-select.h: avoid warning when using gcc's -Wmissing-declarations
15863         * tests/test-select.h (test_function): Declare as "static".
15864
15865 2011-07-24  Bruno Haible  <bruno@clisp.org>
15866
15867         doc: Mention the effects of AC_SYS_LARGEFILE.
15868         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
15869         on this function.
15870         * doc/posix-functions/aio_error.texi: Likewise.
15871         * doc/posix-functions/aio_fsync.texi: Likewise.
15872         * doc/posix-functions/aio_read.texi: Likewise.
15873         * doc/posix-functions/aio_return.texi: Likewise.
15874         * doc/posix-functions/aio_suspend.texi: Likewise.
15875         * doc/posix-functions/aio_write.texi: Likewise.
15876         * doc/posix-functions/fgetpos.texi: Likewise.
15877         * doc/posix-functions/fopen.texi: Likewise.
15878         * doc/posix-functions/freopen.texi: Likewise.
15879         * doc/posix-functions/fsetpos.texi: Likewise.
15880         * doc/posix-functions/fstatvfs.texi: Likewise.
15881         * doc/posix-functions/ftruncate.texi: Likewise.
15882         * doc/posix-functions/ftw.texi: Likewise.
15883         * doc/posix-functions/getrlimit.texi: Likewise.
15884         * doc/posix-functions/glob.texi: Likewise.
15885         * doc/posix-functions/lio_listio.texi: Likewise.
15886         * doc/posix-functions/lockf.texi: Likewise.
15887         * doc/posix-functions/mkstemp.texi: Likewise.
15888         * doc/posix-functions/mmap.texi: Likewise.
15889         * doc/posix-functions/nftw.texi: Likewise.
15890         * doc/posix-functions/openat.texi: Likewise.
15891         * doc/posix-functions/opendir.texi: Likewise.
15892         * doc/posix-functions/posix_fadvise.texi: Likewise.
15893         * doc/posix-functions/posix_fallocate.texi: Likewise.
15894         * doc/posix-functions/pread.texi: Likewise.
15895         * doc/posix-functions/pwrite.texi: Likewise.
15896         * doc/posix-functions/readdir.texi: Likewise.
15897         * doc/posix-functions/readdir_r.texi: Likewise.
15898         * doc/posix-functions/rewinddir.texi: Likewise.
15899         * doc/posix-functions/scandir.texi: Likewise.
15900         * doc/posix-functions/seekdir.texi: Likewise.
15901         * doc/posix-functions/setrlimit.texi: Likewise.
15902         * doc/posix-functions/statvfs.texi: Likewise.
15903         * doc/posix-functions/telldir.texi: Likewise.
15904         * doc/posix-functions/tmpfile.texi: Likewise.
15905         * doc/posix-functions/truncate.texi: Likewise.
15906         * doc/glibc-functions/fallocate.texi: Likewise.
15907         * doc/glibc-functions/fstatfs.texi: Likewise.
15908         * doc/glibc-functions/fts_children.texi: Likewise.
15909         * doc/glibc-functions/fts_read.texi: Likewise.
15910         * doc/glibc-functions/getdirentries.texi: Likewise.
15911         * doc/glibc-functions/mkostemp.texi: Likewise.
15912         * doc/glibc-functions/mkostemps.texi: Likewise.
15913         * doc/glibc-functions/mkstemps.texi: Likewise.
15914         * doc/glibc-functions/preadv.texi: Likewise.
15915         * doc/glibc-functions/pwritev.texi: Likewise.
15916         * doc/glibc-functions/sendfile.texi: Likewise.
15917         * doc/glibc-functions/statfs.texi: Likewise.
15918
15919 2011-07-24  Bruno Haible  <bruno@clisp.org>
15920
15921         doc: Fix typo.
15922         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
15923
15924 2011-07-24  Bruno Haible  <bruno@clisp.org>
15925
15926         doc: Mention fsusage.
15927         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
15928
15929 2011-07-24  Bruno Haible  <bruno@clisp.org>
15930
15931         doc: Mention new glibc headers and functions.
15932         * doc/glibc-headers/gshadow.texi: New file.
15933         * doc/glibc-functions/endsgent.texi: New file.
15934         * doc/glibc-functions/fgetsgent.texi: New file.
15935         * doc/glibc-functions/fgetsgent_r.texi: New file.
15936         * doc/glibc-functions/getsgent.texi: New file.
15937         * doc/glibc-functions/getsgent_r.texi: New file.
15938         * doc/glibc-functions/getsgnam.texi: New file.
15939         * doc/glibc-functions/getsgnam_r.texi: New file.
15940         * doc/glibc-functions/putsgent.texi: New file.
15941         * doc/glibc-functions/setsgent.texi: New file.
15942         * doc/glibc-functions/sgetsgent.texi: New file.
15943         * doc/glibc-functions/sgetsgent_r.texi: New file.
15944         * doc/glibc-functions/malloc_info.texi: New file.
15945         * doc/glibc-functions/preadv.texi: New file.
15946         * doc/glibc-functions/pwritev.texi: New file.
15947         * doc/glibc-functions/register_printf_modifier.texi: New file.
15948         * doc/glibc-functions/register_printf_specifier.texi: New file.
15949         * doc/glibc-functions/register_printf_type.texi: New file.
15950         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
15951         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
15952         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
15953         * doc/glibc-functions/pthread_getname_np.texi: New file.
15954         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
15955         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
15956         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
15957         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
15958         * doc/glibc-functions/pthread_setname_np.texi: New file.
15959         * doc/glibc-functions/pthread_sigqueue.texi: New file.
15960         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
15961         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
15962         * doc/glibc-functions/qsort_r.texi: New file.
15963         * doc/glibc-functions/quick_exit.texi: New file.
15964         * doc/glibc-functions/syncfs.texi: New file.
15965         * doc/gnulib.texi: Include them.
15966         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
15967         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
15968         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
15969         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
15970         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
15971         * doc/glibc-functions/execvpe.texi: Likewise.
15972
15973 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15974
15975         ftell: don't include <unistd.h>
15976         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
15977         guaranteed to define off_t, and the ftell module depends on the
15978         stdio module.
15979
15980         ftell: do not assume wraparound signed arithmetic
15981         * lib/ftell.c: Include <limits.h>.
15982         (ftell): Don't assume wraparound signed arithmetic.
15983
15984 2011-07-24  Bruno Haible  <bruno@clisp.org>
15985
15986         close: No longer depend on module 'fclose'.
15987         * modules/close (Depends-on): Remove fclose.
15988         * NEWS: Mention the change.
15989         Suggested by Sam Steingold <sds@gnu.org>.
15990
15991 2011-07-24  Bruno Haible  <bruno@clisp.org>
15992
15993         fsusage: Enable large volume support on AIX >= 5.2.
15994         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
15995         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
15996         instead of STAT_STATVFS.
15997         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
15998
15999         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
16000         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
16001         f_blocks field only on MacOS X.
16002
16003         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
16004         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
16005         * modules/fsusage (Depends-on): Add largefile.
16006
16007 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
16008
16009         * README: Modernize discussion of signed integers.
16010         Assuming overflow wraparound is no longer safe.
16011         Mention ones' complement and signed magnitude.
16012
16013 2011-07-22  Bruno Haible  <bruno@clisp.org>
16014
16015         select tests, pselect tests: Refactor.
16016         * tests/test-select.h: New file, extracted from tests/test-select.c.
16017         (select_fn): New type.
16018         (test, do_select, do_select_nowait, do_select_wait, test_tty,
16019         test_connect_first, test_accept_first, test_pair, test_socket_pair,
16020         test_pipe): Add my_select argument.
16021         (test_function): Renamed from main. Add my_select argument.
16022         * tests/test-select.c: Move most code to tests/test-select.h. Include
16023         test-select.h.
16024         * modules/select-tests (Files): Add tests/test-select.h.
16025         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
16026         (my_select, main): New functions.
16027         * modules/pselect-tests (Files): Add tests/test-select.h,
16028         tests/macros.h, tests/signature.h.
16029         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
16030         (configure.ac): Check for <sys/wait.h>.
16031
16032 2011-07-22  Bruno Haible  <bruno@clisp.org>
16033
16034         sys_select tests: Check the signature of FD_*.
16035         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
16036         signature tests from here...
16037         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
16038         here.
16039         * modules/sys_select-tests (Files): Add tests/signature.h.
16040
16041 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
16042
16043         largefile: new module, replacing large-inode
16044         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
16045         * MODULES.html.sh: Add largefile, remove large-inode.
16046         * modules/largefile, m4/largefile.m4: New files.
16047         * modules/large-inode, m4/large-inode.m4: Remove.
16048
16049         fsusage: port to MacOS X 10.7 with 4 TiB file systems
16050         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
16051         implementations that use only 32 bits to count blocks.
16052         On typical hosts with 1024-byte blocks, this fails with file
16053         systems as small as 4 TiB.  Problem reported by Herb Wartens
16054         <http://debbugs.gnu.org/9140> and this should also fix a similar
16055         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
16056
16057         large-inode: New module
16058         * MODULES.html.sh: Add it.
16059         * modules/large-inode, m4/large-inode.m4: New files.
16060
16061         extensions: Enable extensions on MacOS X 10.5 and later.
16062         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
16063
16064 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
16065
16066         file-has-acl: use acl_extended_file_nofollow if available
16067         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
16068         (acl_extended_file): New macro.
16069         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
16070         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
16071
16072 2011-07-21  Bruno Haible  <bruno@clisp.org>
16073
16074         Declare system functions in a way that works with C++.
16075         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
16076         declare fdopendir as extern "C".
16077         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
16078         declare frexpl as extern "C".
16079         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
16080         declare gai_strerror as extern "C".
16081         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
16082         programs, declare gai_strerror as extern "C".
16083         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
16084         declare getlogin_r as extern "C".
16085         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
16086         as extern "C".
16087         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
16088         declare ldexpl as extern "C".
16089         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
16090         as extern "C".
16091         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
16092         program, declare getmntinfo as extern "C".
16093         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
16094         stpncpy as extern "C".
16095         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
16096         program, declare __xpg_strerror_r as extern "C".
16097         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
16098         strndup as extern "C".
16099         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
16100         declare memset and bzero as extern "C".
16101         Reported by Sam Steingold <sds@gnu.org>.
16102
16103 2011-07-12  Jim Meyering  <meyering@redhat.com>
16104
16105         maint.mk: prohibit inclusion of "verify.h" without use
16106         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
16107
16108 2011-07-19  Pádraig Brady  <P@draigBrady.com>
16109
16110         timer-time: A new module to check for timer_settime()
16111         * m4/timer_time.m4: Check for the posix function.
16112         * modules/timer-time: Add the new module.
16113         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
16114         Mention it.
16115
16116 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
16117             Bruno Haible  <bruno@clisp.org>
16118
16119         pthread_sigmask: assume POSIX threads if --avoid=threadlib
16120         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
16121         not defined, assume POSIX threads and look for pthread_sigmask in
16122         $LIBS, without changing $CPPFLAGS.
16123
16124 2011-07-19  Bruno Haible  <bruno@clisp.org>
16125
16126         strstr: Update cross-compilation guess.
16127         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
16128         CPUs, guess no, in view of glibc
16129         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
16130         Suggested by Eric Blake. Reported by Reuben Thomas.
16131
16132 2011-07-19  Pádraig Brady  <P@draigBrady.com>
16133
16134         getopt-gnu: suppress core dumps from detection code
16135         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
16136         to suppress core dumps that may well occur on glibc systems.
16137         * modules/getopt-gnu: Depend on nocrash.
16138
16139 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
16140
16141         pthread_sigmask: ensure usleep is declared
16142         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
16143         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
16144
16145 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
16146
16147         doc: Document NonStop portability issues.
16148         * doc/posix-functions/sigaction.texi (sigaction):
16149         * doc/posix-headers/signal.texi (signal.h):
16150         Document NonStop.  See Joachim Schmitz in
16151         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
16152
16153 2011-07-15  Bruno Haible  <bruno@clisp.org>
16154
16155         ffsl, ffsll: Avoid unportable behaviour.
16156         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
16157
16158 2011-07-15  Bruno Haible  <bruno@clisp.org>
16159
16160         ffs: More tests.
16161         * tests/test-ffs.c (NBITS): New macro.
16162         (main): Add more tests.
16163         * tests/test-ffsl.c (NBITS): New macro.
16164         (main): Add more tests.
16165         * tests/test-ffsll.c (NBITS): New macro.
16166         (main): Add more tests.
16167
16168 2011-07-15  Eric Blake  <eblake@redhat.com>
16169
16170         ffsl, ffsll: new modules
16171         * modules/ffsl: New file.
16172         * modules/ffsll: Likewise.
16173         * m4/ffsl.m4: Likewise.
16174         * m4/ffsll.m4: Likewise.
16175         * lib/ffsl.c: Likewise.
16176         * lib/ffsl.h: Likewise.
16177         * lib/ffsll.c: Likewise.
16178         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
16179         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
16180         * modules/string (Makefile.am): Substitute witnesses.
16181         * lib/strings.in.h (ffsl, ffsll): Declare.
16182         * modules/ffsl-tests: New test file.
16183         * modules/ffsll-tests: Likewise.
16184         * tests/test-ffsl.c: Likewise.
16185         * tests/test-ffsll.c: Likewise.
16186         * MODULES.html.sh (Integer arithmetic functions): Mention it.
16187         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
16188         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
16189
16190         ffs: fix m4 prerequisite
16191         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
16192
16193         ffs: avoid undefined behavior
16194         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
16195         * tests/test-ffs.c (naive, main): Avoid signed shifts.
16196         Reported by Bruno Haible.
16197
16198 2011-07-12  Bruno Haible  <bruno@clisp.org>
16199
16200         pthread_sigmask: Rely on module 'threadlib'.
16201         * modules/pthread_sigmask (Depends-on): Add threadlib.
16202         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
16203         is defined.
16204
16205 2011-07-12  Bruno Haible  <bruno@clisp.org>
16206
16207         regex: Depend on module 'strcase'.
16208         * modules/regex (Depends-on): Add strcase, for strcasecmp().
16209
16210 2011-07-12  Jim Meyering  <meyering@redhat.com>
16211
16212         warn-on-use: fix typo in file name
16213         * modules/snippet/warn-on-use (Files): Correct file name:
16214         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
16215
16216 2011-07-12  Bruno Haible  <bruno@clisp.org>
16217
16218         strings: Document module.
16219         * doc/posix-headers/strings.texi: Mention module 'strings'.
16220
16221 2011-07-12  Bruno Haible  <bruno@clisp.org>
16222
16223         Rename module '_Noreturn' to 'snippet/_Noreturn'.
16224         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
16225         (Files, Makefile.am): Update.
16226         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
16227         * modules/stdlib (Depends-on): Update.
16228
16229 2011-07-12  Bruno Haible  <bruno@clisp.org>
16230
16231         * NEWS: Mention the changes.
16232
16233         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
16234         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
16235         (Files, Makefile.am): Update.
16236         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
16237         * modules/arpa_inet (Depends-on): Update.
16238         * modules/ctype (Depends-on): Update.
16239         * modules/dirent (Depends-on): Update.
16240         * modules/fcntl-h (Depends-on): Update.
16241         * modules/glob (Depends-on): Update.
16242         * modules/iconv-h (Depends-on): Update.
16243         * modules/inttypes-incomplete (Depends-on): Update.
16244         * modules/langinfo (Depends-on): Update.
16245         * modules/locale (Depends-on): Update.
16246         * modules/math (Depends-on): Update.
16247         * modules/netdb (Depends-on): Update.
16248         * modules/poll-h (Depends-on): Update.
16249         * modules/pty (Depends-on): Update.
16250         * modules/search (Depends-on): Update.
16251         * modules/signal (Depends-on): Update.
16252         * modules/spawn (Depends-on): Update.
16253         * modules/stdio (Depends-on): Update.
16254         * modules/stdlib (Depends-on): Update.
16255         * modules/string (Depends-on): Update.
16256         * modules/strings (Depends-on): Update.
16257         * modules/sys_file (Depends-on): Update.
16258         * modules/sys_ioctl (Depends-on): Update.
16259         * modules/sys_select (Depends-on): Update.
16260         * modules/sys_socket (Depends-on): Update.
16261         * modules/sys_stat (Depends-on): Update.
16262         * modules/sys_time (Depends-on): Update.
16263         * modules/sys_times (Depends-on): Update.
16264         * modules/sys_utsname (Depends-on): Update.
16265         * modules/sys_wait (Depends-on): Update.
16266         * modules/termios (Depends-on): Update.
16267         * modules/time (Depends-on): Update.
16268         * modules/unistd (Depends-on): Update.
16269         * modules/wchar (Depends-on): Update.
16270         * modules/wctype-h (Depends-on): Update.
16271         * MODULES.html.sh (Support for building libraries and executables):
16272         Update.
16273
16274         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
16275         * modules/snippet/unused-parameter: Renamed from
16276         modules/unused-parameter.
16277         (Files, Makefile.am): Update.
16278         * build-aux/snippet/unused-parameter.h: Renamed from
16279         build-aux/unused-parameter.h.
16280         * modules/selinux-h (Depends-on): Update.
16281         * modules/unistr/base (Depends-on): Update.
16282         * MODULES.html.sh (Core language properties): Update.
16283
16284         Rename module 'link-warning' to 'snippet/link-warning'.
16285         * modules/snippet/link-warning: Renamed from modules/link-warning.
16286         (Files, Makefile.am): Update.
16287         * build-aux/snippet/link-warning.h: Renamed from
16288         build-aux/link-warning.h.
16289         * MODULES.html.sh (Support for building libraries and executables):
16290         Update.
16291
16292         Rename module 'c++defs' to 'snippet/c++defs'.
16293         * modules/snippet/c++defs: Renamed from modules/c++defs.
16294         (Files, Makefile.am): Update.
16295         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
16296         * modules/arpa_inet (Depends-on): Update.
16297         * modules/ctype (Depends-on): Update.
16298         * modules/dirent (Depends-on): Update.
16299         * modules/fcntl-h (Depends-on): Update.
16300         * modules/glob (Depends-on): Update.
16301         * modules/iconv-h (Depends-on): Update.
16302         * modules/langinfo (Depends-on): Update.
16303         * modules/locale (Depends-on): Update.
16304         * modules/math (Depends-on): Update.
16305         * modules/netdb (Depends-on): Update.
16306         * modules/poll-h (Depends-on): Update.
16307         * modules/pty (Depends-on): Update.
16308         * modules/search (Depends-on): Update.
16309         * modules/signal (Depends-on): Update.
16310         * modules/spawn (Depends-on): Update.
16311         * modules/stdio (Depends-on): Update.
16312         * modules/stdlib (Depends-on): Update.
16313         * modules/string (Depends-on): Update.
16314         * modules/strings (Depends-on): Update.
16315         * modules/sys_ioctl (Depends-on): Update.
16316         * modules/sys_select (Depends-on): Update.
16317         * modules/sys_socket (Depends-on): Update.
16318         * modules/sys_stat (Depends-on): Update.
16319         * modules/sys_time (Depends-on): Update.
16320         * modules/sys_wait (Depends-on): Update.
16321         * modules/termios (Depends-on): Update.
16322         * modules/time (Depends-on): Update.
16323         * modules/unistd (Depends-on): Update.
16324         * modules/wchar (Depends-on): Update.
16325         * modules/wctype-h (Depends-on): Update.
16326
16327         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
16328         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
16329         (Files, Makefile.am): Update.
16330         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
16331         * modules/argv-iter (Depends-on): Update.
16332         * modules/arpa_inet (Depends-on): Update.
16333         * modules/dirent (Depends-on): Update.
16334         * modules/fcntl-h (Depends-on): Update.
16335         * modules/fnmatch (Depends-on): Update.
16336         * modules/getopt-posix (Depends-on): Update.
16337         * modules/glob (Depends-on): Update.
16338         * modules/iconv-h (Depends-on): Update.
16339         * modules/inttypes-incomplete (Depends-on): Update.
16340         * modules/locale (Depends-on): Update.
16341         * modules/math (Depends-on): Update.
16342         * modules/netdb (Depends-on): Update.
16343         * modules/search (Depends-on): Update.
16344         * modules/signal (Depends-on): Update.
16345         * modules/spawn (Depends-on): Update.
16346         * modules/stdio (Depends-on): Update.
16347         * modules/stdlib (Depends-on): Update.
16348         * modules/string (Depends-on): Update.
16349         * modules/strings (Depends-on): Update.
16350         * modules/sys_socket (Depends-on): Update.
16351         * modules/sys_stat (Depends-on): Update.
16352         * modules/sys_time (Depends-on): Update.
16353         * modules/sys_times (Depends-on): Update.
16354         * modules/sys_utsname (Depends-on): Update.
16355         * modules/time (Depends-on): Update.
16356         * modules/unistd (Depends-on): Update.
16357         * modules/wchar (Depends-on): Update.
16358         * MODULES.html.sh (Support for building libraries and executables):
16359         Update.
16360
16361 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
16362
16363         Improvements on _Noreturn and related modules.
16364
16365         modules/_Exit-tests: test _Noreturn too
16366         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
16367         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
16368         (main): Use them.
16369
16370         stdnoreturn, stdnoreturn-tests: remove modules
16371         They're not needed here and a bit premature for use elsewhere.  See
16372         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
16373         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
16374         * tests/test-stdnoreturn.c: Remove files.
16375         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
16376         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
16377         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
16378         and using noreturn.
16379         * modules/openat, modules/sigpipe-die, modules/xalloc:
16380         * modules/xmemdup0, modules/xstrtol:
16381         Remove dependency on stdnoreturn.
16382
16383         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
16384         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
16385         Reparenthesize to avoid GCC warning.
16386         Support Microsoft's syntax.
16387         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
16388
16389         _Noreturn-tests: remove module
16390         * modules/_Noreturn-tests: Remove.
16391         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
16392         * tests/test-_Noreturn.c: Remove.
16393         * tests/test-stdnoreturn.c: Merge from the old
16394         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
16395
16396 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
16397
16398         _Noreturn, stdnoreturn, and related modules.
16399
16400         * top/maint.mk: Adjust to new noreturn support.
16401         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
16402         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
16403
16404         xalloc: use stdnoreturn.h
16405         * lib/xalloc.h: Include <stdnoreturn.h>.
16406         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16407         * modules/xalloc (Depends-on): Add stdnoreturn.
16408
16409         xstrtol: use stdnoreturn.h
16410         * lib/xstrtol.h: Include <stdnoreturn.h>.
16411         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16412         * modules/xstrtol (Depends-on): Add stdnoreturn.
16413
16414         xmemdup0: use stdnoreturn.h
16415         * lib/xmemdup0.h: Include <stdnoreturn.h>.
16416         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16417         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
16418
16419         sigpipe-die: use stdnoreturn.h
16420         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
16421         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16422         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
16423
16424         openat: use stdnoreturn.h
16425         * lib/openat.h: Include <stdnoreturn.h>.
16426         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16427         * modules/openat (Depends-on): Add stdnoreturn.
16428
16429         * lib/openat-die.c (openat_save_fail): Modernize comment.
16430
16431         * lib/xalloc-die.c (xalloc_die): Modernize comment.
16432
16433         * lib/glthread/thread.h: Modernize comment.
16434
16435         obstack: use _Noreturn
16436         * lib/obstack.c (__attribute__): Remove macro.
16437         (print_and_abort): Use _Noreturn.
16438
16439         c-stack: use _Noreturn
16440         * lib/c-stack.c (die, overflow_handler, segv_handler):
16441         Use _Noreturn rather than __attribute__((noreturn)).
16442
16443         argmatch-tests, exclude_tests: use _Noreturn
16444         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
16445         Remove.
16446         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
16447
16448         stdlib: use _Noreturn
16449         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
16450         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
16451         * modules/stdlib (Depends-on): Add _Noreturn.
16452         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
16453
16454         stdnoreturn-tests: new module
16455         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
16456
16457         stdnoreturn: new module
16458         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
16459         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
16460
16461         _Noreturn-tests: new module
16462         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
16463
16464         _Noreturn: new module
16465         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
16466         New section, mentioning it.
16467         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
16468
16469         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
16470
16471 2011-07-11  Eric Blake  <eblake@redhat.com>
16472
16473         ffs: new module
16474         * modules/ffs: New file.
16475         * m4/ffs.m4: Likewise.
16476         * lib/ffs.c: Likewise.
16477         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
16478         * modules/strings (Makefile.am): Substitute witness.
16479         (Depends-on): Add c++defs.
16480         * lib/strings.in.h (ffs): Declare.
16481         * modules/ffs-tests: New test file.
16482         * tests/test-ffs.c: Test new module.
16483         * MODULES.html.sh (Integer arithmetic functions): Mention it.
16484         * doc/posix-functions/ffs.texi (ffs): Likewise.
16485
16486         regex: avoid compiler warning
16487         * lib/regex.c (includes): Include <strings.h>, for use of
16488         strcasecmp in regcomp.c.
16489         Reported by Joachim Schmitz.
16490
16491 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
16492
16493         stdint: respect system's intmax_t if INTMAX_MAX
16494         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
16495         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
16496         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
16497         long but int64_t is long long, and where we will clash with the
16498         system intmax_t if we override it.  See
16499         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
16500         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
16501         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
16502         similarly for UINTMAX_C.
16503
16504 2011-07-08  Bruno Haible  <bruno@clisp.org>
16505
16506         pthread_sigmask tests: Avoid a compiler warning.
16507         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
16508         non-zero.
16509
16510         sigprocmask tests: A better way to avoid a compiler warning.
16511         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
16512         (main): Complain if system() returns non-zero.
16513         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
16514
16515 2011-07-08  Bruno Haible  <bruno@clisp.org>
16516
16517         pthread_sigmask: Work around IRIX bug.
16518         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
16519         bug.
16520         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
16521         there may be unblocked pending signals.
16522         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
16523
16524 2011-07-08  Bruno Haible  <bruno@clisp.org>
16525
16526         pthread_sigmask: Work around Cygwin bug.
16527         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
16528         bug.
16529         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
16530         the system's pthread_sigmask function.
16531         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
16532
16533 2011-07-08  Bruno Haible  <bruno@clisp.org>
16534
16535         pthread_sigmask: Work around bug in single-threaded implementation.
16536         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
16537         FreeBSD, HP-UX, Solaris bug.
16538         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
16539         * lib/pthread_sigmask.c: Include <stddef.h>.
16540         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
16541         the system's pthread_sigmask function.
16542         * modules/pthread_sigmask (configure.ac): Invoke
16543         gl_PREREQ_PTHREAD_SIGMASK.
16544         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
16545         HP-UX, Solaris.
16546
16547 2011-07-08  Eric Blake  <eblake@redhat.com>
16548
16549         test-sigprocmask: avoid compiler warning
16550         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
16551         * tests/test-sigprocmask.c (main): Use it to silence warning.
16552         Reported by Jim Meyering.
16553
16554         test-snprintf: avoid compiler warning
16555         * tests/test-snprintf.c (main): Avoid shadowed declaration.
16556         * tests/test-vsnprintf.c (main): Likewise.
16557         Reported by Jim Meyering.
16558
16559 2011-07-08  Bruno Haible  <bruno@clisp.org>
16560
16561         Tests for module 'pthread_sigmask'.
16562         * modules/pthread_sigmask-tests: New file.
16563         * tests/test-pthread_sigmask1.c: New file, based on
16564         tests/test-sigprocmask.c.
16565         * tests/test-pthread_sigmask2.c: New file.
16566
16567 2011-07-08  Jim Meyering  <meyering@redhat.com>
16568
16569         test-getopt.h: avoid warning about an unused variable
16570         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
16571
16572 2011-07-07  Jim Meyering  <meyering@redhat.com>
16573
16574         maint: reduce list of files exempt from sc_prohibit_leading_TABs
16575         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
16576         now that it no longer contains leading TABs.
16577         Remove unused "url=FIXME" statement.
16578
16579 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
16580
16581         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
16582         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
16583         When gl_THREADLIB is not in use, assume that the POSIX sematics
16584         are desired.  This is better for Emacs, which uses POSIX semantics
16585         on GNUish and/or POSIXish platforms, and does not use threads at
16586         all otherwise.
16587
16588         pthread_sigmask: fix typo when testing for libraries
16589         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
16590         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
16591
16592 2011-07-08  Eric Blake  <eblake@redhat.com>
16593
16594         fts: introduce FTS_NOATIME
16595         * lib/fts_.h (FTS_NOATIME): New bit flag.
16596         (FTS_OPTIONMASK): Adjust.
16597         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
16598         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
16599
16600 2011-07-08  Bruno Haible  <bruno@clisp.org>
16601
16602         Tests for module 'thread'.
16603         * modules/thread-tests: New file.
16604         * tests/test-thread_self.c: New file.
16605         * tests/test-thread_create.cc: New file.
16606
16607 2011-07-08  Bruno Haible  <bruno@clisp.org>
16608
16609         thread: Avoid gcc warnings when using gl_thread_self().
16610         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
16611         'void *'.
16612         (gl_thread_self_pointer): Update.
16613
16614 2011-07-07  Bruno Haible  <bruno@clisp.org>
16615
16616         signal-c++-tests: Check declaration of pthread_sigmask.
16617         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
16618         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
16619         $(LIB_PTHREAD_SIGMASK).
16620
16621 2011-07-07  Bruno Haible  <bruno@clisp.org>
16622
16623         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
16624         * lib/signal.in.h (pthread_sigmask): Override if
16625         REPLACE_PTHREAD_SIGMASK is 1.
16626         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
16627         REPLACE_PTHREAD_SIGMASK.
16628         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
16629         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
16630         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
16631         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
16632         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
16633
16634 2011-07-07  Bruno Haible  <bruno@clisp.org>
16635
16636         pthread_sigmask: Ensure declaration in <signal.h>.
16637         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
16638         include <pthread.h>.
16639         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
16640         problem.
16641
16642 2011-07-07  Bruno Haible  <bruno@clisp.org>
16643
16644         pthread_sigmask: Document the module.
16645         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
16646
16647 2011-07-07  Bruno Haible  <bruno@clisp.org>
16648
16649         pthread_sigmask: Follow gnulib conventions.
16650         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
16651         gl_PTHREAD_SIGMASK.
16652         * modules/pthread_sigmask (configure.ac): Update.
16653
16654 2011-07-07  Bruno Haible  <bruno@clisp.org>
16655
16656         pthread_sigmask: Make declaration C++ safe.
16657         * lib/signal.in.h: In two special conditions, just do an #include_next.
16658         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
16659         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
16660         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
16661         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
16662         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
16663         not REPLACE_PTHREAD_MASK.
16664         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
16665         not REPLACE_PTHREAD_MASK.
16666         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
16667
16668 2011-07-07  Bruno Haible  <bruno@clisp.org>
16669
16670         pthread_sigmask: Fix return value.
16671         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
16672         * lib/pthread_sigmask.c: New file.
16673         * modules/pthread_sigmask (Files): Add it.
16674         (configure.ac): Invoke AC_LIBOBJ.
16675
16676 2011-07-07  Eric Blake  <eblake@redhat.com>
16677
16678         getopt: more portable argv creation
16679         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
16680         const, use char arrays rather than strings.
16681         Suggested by Paul Eggert.
16682
16683 2011-07-07  Bruno Haible  <bruno@clisp.org>
16684
16685         Tests for module 'sigprocmask'.
16686         * modules/sigprocmask-tests: New file.
16687         * tests/test-sigprocmask.c: New file.
16688
16689 2011-07-07  Bruno Haible  <bruno@clisp.org>
16690
16691         float tests: Tweak.
16692         * tests/test-float.c (main): Tweak skip message.
16693
16694 2011-07-07  Eric Blake  <eblake@redhat.com>
16695
16696         getopt: avoid compiler warning during configure
16697         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
16698         assigning string literals to non-const pointer.
16699
16700         getopt-gnu: avoid crash in glibc getopt
16701         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
16702         * tests/test-getopt.h (test_getopt): Enhance test.
16703         * tests/test-getopt_long.h (test_getopt_long): Likewise.
16704         * doc/posix-functions/getopt.texi (getopt): Document it.
16705         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
16706         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
16707         Likewise.
16708
16709 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
16710
16711         getopt: handle W; without long options in getopt [BZ #12922]
16712         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
16713         but no long options are defined, just return 'W'.
16714
16715 2011-07-07  Bruno Haible  <bruno@clisp.org>
16716
16717         Avoid literal tabs.
16718         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
16719         variable containing a tab instead of a literal tab.
16720         Reported by Jim Meyering.
16721
16722 2011-07-07  Bruno Haible  <bruno@clisp.org>
16723
16724         Comments.
16725         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
16726
16727 2011-07-06  Bruno Haible  <bruno@clisp.org>
16728
16729         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
16730         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
16731         <winsock2.h>.
16732         (rpl_fd_isset, FD_ISSET): New definitions, copied from
16733         lib/sys_socket.in.h.
16734         (close, gethostname): Hide declarations from <winsock2.h>.
16735         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
16736         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
16737         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
16738         (select): Don't override if gnulib's <sys/select.h> was already
16739         included.
16740         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
16741         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
16742         setsockopt, shutdown, select): Tweak indentation.
16743
16744 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16745
16746         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
16747         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
16748         in an application that does not use the sys_select module.
16749
16750 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
16751
16752         poll: do not return 0 on timeout=-1
16753         * lib/poll.c: Loop with yield if no events occurred.
16754
16755 2011-07-06  Eric Blake  <eblake@redhat.com>
16756
16757         pthread_sigmask: always replace when not using pthread
16758         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
16759         replacement when using some threading other than pthread.  Fix
16760         logic bug.
16761
16762 2011-07-06  Bruno Haible  <bruno@clisp.org>
16763
16764         Comments.
16765         * m4/printf.m4: Update comments about mingw.
16766
16767 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16768
16769         sys_select: define sigset_t more portably
16770         * lib/sys_select.in.h: Always include <sys/types.h>, since
16771         we now need sigset_t and mingw defines it there.
16772         Include <signal.h> before split inclusion guard, to avoid
16773         mishaps on Solaris, whose <signal.h> eventually includes us.
16774         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
16775         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
16776         which come from ...
16777         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
16778         gl_CHECK_TYPE_SIGSET_T.
16779         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
16780         does the real work.
16781         * modules/sys_select (Depends-on): Add 'signal'.
16782
16783         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
16784         Suggested by Bruno Haible.
16785
16786         pselect: Use pthread_sigmask, not sigprocmask.
16787         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
16788         multithreaded apps better than sigprocmask does.
16789         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
16790         sigprocmask directly.
16791
16792 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
16793
16794         * lib/pselect.c (pselect): Use plain name, without "rpl_".
16795         Don't #undef,  since we don't need any underlying pselect.
16796         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
16797         (Depends-on): Add select.
16798         (Link): Add $(LIBSOCKET).
16799         These changes suggested by Bruno Haible.
16800
16801         pselect: document better
16802         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16803         * doc/posix-functions/pselect.texi (pselect): Document new module.
16804
16805         pthread_sigmask: new module
16806         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16807         * doc/posix-functions/pthread_sigmask.texi: Document new module.
16808         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
16809         This is done only as a macro; I don't know how well that'll
16810         work for C++.  Move <sys/types.h> include before the include_next,
16811         to avoid mishap on Solaris.
16812         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
16813         * modules/signal (Makefile.am): Substitute the check's results.
16814         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
16815
16816         test-pselect: new module
16817         * modules/pselect-tests, tests/test-pselect.c: New files.
16818         * tests/test-select.c, tests/test-sys_select-c++.cc:
16819         If TEST_PSELECT is defined, test pselect instead of testing select.
16820
16821         * tests/test-sys_select.c (sigset_t): Test for it, too.
16822         Suggested by Bruno Haible.
16823
16824 2011-07-05  Eric Blake  <eblake@redhat.com>
16825
16826         snprintf: guarantee %1$d, for libintl
16827         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
16828         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
16829         * doc/posix-functions/snprintf.texi (snprintf): Update.
16830         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16831         * tests/test-snprintf.c (main): Enhance test.
16832         * tests/test-vsnprintf.c (main): Likewise.
16833
16834 2011-07-05  Jim Meyering  <meyering@redhat.com>
16835
16836         maint: exempt stdio-read.c and stdio-write.c from the cppi check
16837         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
16838         per Bruno's request, to accommodate this idiom (no space after "#")
16839         even when the function is inside an #if block:
16840         char *
16841         gets (char *s)
16842         #undef gets
16843         {
16844           ...
16845         }
16846
16847 2011-07-04  Jim Meyering  <meyering@redhat.com>
16848
16849         maint: indent with spaces, not TABs, and add a rule to check this
16850         * tests/test-userspec.c: Indent with spaces, not TABs.
16851         * tests/test-argp.c: Likewise.
16852         * tests/test-c-stack2.sh: Likewise.
16853         * tests/test-parse-duration.sh: Likewise
16854         * m4/strtod.m4: Likewise.
16855         * m4/alloca.m4: Likewise.
16856         * m4/pselect.m4: Likewise.
16857         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
16858
16859 2011-07-03  Jim Meyering  <meyering@redhat.com>
16860
16861         maint.mk: correct omissions in prohibit_argmatch_without_use check
16862         This rule would mistakenly report that argmatch.h is included without
16863         use even when both the argmatch and invalid_arg macro were used.
16864         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
16865         of argmatch and invalid_arg.
16866
16867 2011-07-03  Bruno Haible  <bruno@clisp.org>
16868
16869         Comments about EINTR.
16870         * lib/safe-read.h: Explain the purpose of this module.
16871         * lib/safe-write.h: Likewise.
16872         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
16873         module.
16874         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
16875         module.
16876         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16877
16878 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
16879
16880         xnanosleep: Rewrite to use new dtotimespec module.
16881         It has the conversion code that used to be in xnanosleep.
16882         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
16883         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
16884         (TIME_T_MAX): Remove.
16885         (xnanosleep): Rewrite in terms of dtotimespec.
16886         * modules/xnanosleep (Depends-on): Add dtotimespec.
16887         Remove intprops, stdbool.
16888
16889         timespec-add, timespec-sub: new modules
16890         * lib/timespec.h (timespec_add, timespec_sub): New decls.
16891         * lib/timespec-add.c, lib/timespec-sub.c:
16892         * modules/timespec-add, modules/timespec-sub: New files.
16893
16894         dtotimespec: new module
16895         * lib/timespec.h (dtotimespec): New decl.
16896         * lib/dtotimespec.c, modules/dtotimespec: New files.
16897
16898         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
16899
16900         pselect: new module
16901         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
16902         (pselect): New decls.
16903         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
16904         since the standard pselect decl uses 'restrict'.
16905         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
16906         HAVE_PSELECT, REPLACE_PSELECT.
16907         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
16908         HAVE_PSELECT, REPLACE_PSELECT.
16909         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
16910
16911         sys_select: don't depend on sys_socket
16912         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
16913         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
16914         This fix works on GNU and GNU-like platforms, but has not been tested
16915         on native Windows.
16916         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
16917         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
16918         gl_HEADER_SYS_SOCKET.
16919         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
16920         gl_PREREQ_SYS_H_WINSOCK2.
16921
16922 2011-06-29  Eric Blake  <eblake@redhat.com>
16923
16924         pipe2: fix C89 compile problem
16925         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
16926         Reported by Bruno Haible.
16927
16928         pipe, pipe2: don't corrupt fd on error
16929         * lib/pipe.c (pipe): Leave fd unchanged on error.
16930         * lib/pipe2.c (pipe2): Likewise.
16931         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
16932         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
16933
16934 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
16935
16936         mmap-anon: do not use regular expressions inadvertently
16937         * m4/mmap-anon.m4: Remove trailing period from strings sought
16938         in the output.
16939
16940 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
16941
16942         nanosleep: fix integer overflow problem
16943         * lib/nanosleep.c (my_usleep): Don't assume signed integer
16944         arithmetic wraps around on overflow.
16945
16946         nanosleep: simplify carrying
16947         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
16948         first call to the underyling nanosleep, not for the last one.
16949         This doesn't fix any bugs, but it simplifies the computation of
16950         the remaining delay.  Found while auditing integer overflow issues.
16951
16952         dup2: remove test for existence of fcntl
16953         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
16954         "#if HAVE_FCNTL", in the configure-time test program.
16955         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
16956         and therefore speeds up "configure" a bit.  Found while
16957         adding the dup2 module to Emacs.
16958
16959 2011-06-24  Eric Blake  <eblake@redhat.com>
16960
16961         maint.mk: enhance useless header checks
16962         * top/maint.mk (_sc_header_without_use): Check both include
16963         styles.
16964         (sc_prohibit_assert_without_use)
16965         (sc_prohibit_close_stream_without_use)
16966         (sc_prohibit_getopt_without_use)
16967         (sc_prohibit_quotearg_without_use)
16968         (sc_prohibit_quote_without_use)
16969         (sc_prohibit_long_options_without_use)
16970         (sc_prohibit_inttostr_without_use)
16971         (sc_prohibit_ignore_value_without_use)
16972         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
16973         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
16974         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
16975         (sc_prohibit_hash_pjw_without_use)
16976         (sc_prohibit_safe_read_without_use)
16977         (sc_prohibit_argmatch_without_use)
16978         (sc_prohibit_canonicalize_without_use)
16979         (sc_prohibit_root_dev_ino_without_use)
16980         (sc_prohibit_openat_without_use)
16981         (sc_prohibit_c_ctype_without_use)
16982         (sc_prohibit_signal_without_use)
16983         (sc_prohibit_stdio--_without_use)
16984         (sc_prohibit_stdio-safer_without_use)
16985         (sc_prohibit_strings_without_use)
16986         (sc_prohibit_intprops_without_use)
16987         (sc_prohibit_stddef_without_use)
16988         (sc_prohibit_xfreopen_without_use): Update clients.
16989
16990 2011-06-24  Jim Meyering  <meyering@redhat.com>
16991
16992         syntax-check: keep one maint.mk rule in sync with its header
16993         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
16994         of the bug Eric has just fixed, with today's commit 25e4c2ec.
16995         I prefer to avoid temporary files here, so use <(...), but that
16996         is not supported by /bin/sh, so...
16997         (SHELL): Define to /bin/bash.
16998
16999 2011-06-24  Eric Blake  <eblake@redhat.com>
17000
17001         maint.mk: update sc_prohibit_intprops_without_use
17002         * top/maint.mk (_intprops_names): Match recent changes.
17003
17004 2011-06-24  Bruno Haible  <bruno@clisp.org>
17005
17006         strerror-override: No-op tweak.
17007         * lib/strerror-override.h (strerror_override): Reorder conditions,
17008         for consistency with lib/strerror-override.c.
17009
17010 2011-06-23  Eric Blake  <eblake@redhat.com>
17011
17012         maint.mk: test further PATH_MAX issues
17013         * top/maint.mk (sc_prohibit_path_max_array): Rename...
17014         (sc_prohibit_path_max_allocation): ...and also test alloca.
17015         Suggested by Jim Meyering.
17016
17017 2011-06-22  Eric Blake  <eblake@redhat.com>
17018
17019         maint.mk: add syntax-check to avoid char[PATH_MAX]
17020         * top/maint.mk (sc_prohibit_path_max_array): New rule.
17021
17022         stat: be robust to PATH_MAX definition
17023         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
17024         * modules/stat (Depends-on): Add verify.
17025
17026         link: work around IRIX bug
17027         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
17028         * lib/link.c (rpl_link): Work around it.
17029         * tests/test-link.h (test_link): Enhance test.
17030         * doc/posix-functions/link.texi (link): Document the bug.
17031
17032         getopt: silence clang warning
17033         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
17034         dereference.
17035         Reported by Gustavo Martin Domato.
17036
17037 2011-06-22  Jim Meyering  <meyering@redhat.com>
17038
17039         bootstrap: do not insert a blank line into each .gitignore file
17040         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
17041
17042 2011-06-21  Eric Blake  <eblake@redhat.com>
17043
17044         perror: test for output mismatch
17045         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
17046         perror on IRIX.
17047
17048         strerror_r: fix OpenBSD behavior on out-of-range
17049         * lib/strerror_r.c (strerror_r): Always use maximal string.
17050         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
17051
17052         strerror_r: fix OpenBSD behavior on 0
17053         * lib/strerror-override.c (strerror_override): Also override 0
17054         when needed.
17055         * lib/strerror-override.h (strerror_override): Likewise.
17056         * lib/strerror.c (strerror): Simplify, now that 0 override is done
17057         earlier.
17058         * lib/strerror_r.c (strerror_r): Likewise.
17059         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
17060         behavior...
17061         (gl_FUNC_STRERROR_0): ...into new macro.
17062         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
17063         is overridden.
17064         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
17065         * modules/strerror-override (Files): Add strerror.m4.
17066         (configure.ac): Also provide override for 0 when needed.
17067         * doc/posix-functions/strerror.texi (strerror): Document this.
17068         * doc/posix-functions/perror.texi (perror): Likewise.
17069
17070         perror: adjust array size
17071         * modules/perror (Depends-on): Add strerror-override.
17072         * lib/perror.c (perror): Use it to avoid magic number.
17073
17074         strerror-override: reduce size
17075         * lib/strerror-override.c (strerror_override): Use fewer lines.
17076
17077 2011-06-20  Bruno Haible  <bruno@clisp.org>
17078
17079         pathmax: Ensure correct value for PATH_MAX on HP-UX.
17080         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
17081
17082 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
17083
17084         alloca: port to compilers that can optimize like GCC 4.6.0
17085         * lib/alloca.c (find_stack_direction): New signature, taken from
17086         Autoconf git.  This works with GCC 4.6.0.  This code should never
17087         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
17088         be used with other compilers that optimize as well as GCC 4.6.0 does.
17089         (alloca): Adjust to new signature.
17090         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
17091         New macro, which patches Autoconf in a similar way.
17092
17093         c-stack: stop worrying about stack direction
17094         * lib/c-stack.c (find_stack_direction): Remove.
17095         (segv_handler): Don't worry about stack direction growth, as it's
17096         too much of a pain to configure this correctly, given how compilers
17097         are optimizing-away our stack-growth detection code.  Instead, assume
17098         that any access to just before or just after the stack is OK.
17099         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
17100         Don't require AC_FUNC_ALLOCA; no longer needed.
17101
17102 2011-06-20  Eric Blake  <eblake@redhat.com>
17103
17104         test-stat: don't allocate PATH_MAX bytes
17105         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
17106         PATH_MAX-sized buffer.
17107         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
17108         * modules/stat-tests (Depends-on): Likewise.
17109         * tests/test-fstatat.c (includes): Drop pathmax.h.
17110         * tests/test-stat.c (includes): Likewise.
17111         Reported by Bruno Haible.
17112
17113 2011-06-20  Bruno Haible  <bruno@clisp.org>
17114
17115         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
17116         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
17117         * lib/float.c: New file.
17118         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
17119         REPLACE_FLOAT_LDBL.
17120         * modules/float (Files): Add lib/float.c.
17121         (configure.ac): Invoke AC_LIBOBJ.
17122         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
17123
17124 2011-06-20  Bruno Haible  <bruno@clisp.org>
17125
17126         Tests for module 'float'.
17127         * modules/float-tests: New file.
17128         * tests/test-float.c: New file.
17129
17130 2011-06-19  Bruno Haible  <bruno@clisp.org>
17131
17132         isinf: Coding style.
17133         * lib/isinf.c: Use GNU coding style.
17134
17135 2011-06-19  Bruno Haible  <bruno@clisp.org>
17136
17137         linkat test: Avoid test failure on AIX 7.1.
17138         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
17139         * tests/test-link.h (test_link): Likewise.
17140
17141 2011-06-19  Bruno Haible  <bruno@clisp.org>
17142
17143         pread test: Avoid test failure on OpenBSD 4.9.
17144         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
17145
17146 2011-06-19  Bruno Haible  <bruno@clisp.org>
17147
17148         sprintf-posix: Fix test failure on AIX 7.1.
17149         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
17150         * doc/posix-functions/dprintf.texi: Mention limited precision problem
17151         on AIX.
17152         * doc/posix-functions/fprintf.texi: Likewise.
17153         * doc/posix-functions/printf.texi: Likewise.
17154         * doc/posix-functions/snprintf.texi: Likewise.
17155         * doc/posix-functions/sprintf.texi: Likewise.
17156         * doc/posix-functions/vdprintf.texi: Likewise.
17157         * doc/posix-functions/vfprintf.texi: Likewise.
17158         * doc/posix-functions/vprintf.texi: Likewise.
17159         * doc/posix-functions/vsnprintf.texi: Likewise.
17160         * doc/posix-functions/vsprintf.texi: Likewise.
17161
17162 2011-06-19  Bruno Haible  <bruno@clisp.org>
17163
17164         roundl-ieee: Fix test failure on AIX 7.1.
17165         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
17166         * doc/posix-functions/roundl.texi: Mention problem with negative
17167         arguments.
17168
17169 2011-06-19  Bruno Haible  <bruno@clisp.org>
17170
17171         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
17172         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
17173         * doc/posix-functions/round.texi: Mention problem with negative
17174         arguments.
17175         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
17176
17177 2011-06-19  Bruno Haible  <bruno@clisp.org>
17178
17179         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
17180         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
17181         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
17182         * doc/posix-functions/roundf.texi: Mention problem with negative
17183         arguments.
17184         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
17185
17186 2011-06-19  Bruno Haible  <bruno@clisp.org>
17187
17188         ceilf-ieee: Work around bug on MacOS X 10.5.
17189         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
17190
17191         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
17192         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
17193         IEEE compliant, avoid compiler optimizations.
17194         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
17195         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
17196         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
17197         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
17198         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
17199         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
17200         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
17201         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
17202         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
17203         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
17204
17205 2011-06-19  Bruno Haible  <bruno@clisp.org>
17206
17207         ceilf-ieee: Work around bug on AIX 7.1.
17208         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
17209         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
17210
17211 2011-06-19  Bruno Haible  <bruno@clisp.org>
17212
17213         ceil-ieee: Work around bug on AIX 7.1.
17214         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
17215         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
17216
17217 2011-06-18  Bruno Haible  <bruno@clisp.org>
17218
17219         fsync test: Avoid test failure on MacOS X and AIX.
17220         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
17221         EINVAL.
17222
17223 2011-06-18  Bruno Haible  <bruno@clisp.org>
17224
17225         openat, fdopendir tests: Fix link errors.
17226         * modules/openat-tests (Depends-on): Add progname.
17227         * modules/fdopendir-tests (Depends-on): Likewise.
17228         * tests/test-fchownat.c: Include progname.h.
17229         (main): Call set_program_name.
17230         * tests/test-fstatat.c: Include progname.h.
17231         (main): Call set_program_name.
17232         * tests/test-mkdirat.c: Include progname.h.
17233         (main): Call set_program_name.
17234         * tests/test-openat.c: Include progname.h.
17235         (main): Call set_program_name.
17236         * tests/test-unlinkat.c: Include progname.h.
17237         (main): Call set_program_name.
17238         * tests/test-fdopendir.c: Include progname.h.
17239         (main): Call set_program_name.
17240
17241 2011-06-18  Bruno Haible  <bruno@clisp.org>
17242
17243         Doc update.
17244         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
17245         HP-UX.
17246         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
17247
17248 2011-06-18  Bruno Haible  <bruno@clisp.org>
17249
17250         getcwd tests: Avoid compilation error on HP-UX 11.31.
17251         * modules/getcwd-tests (Depends-on): Add pathmax.
17252         * tests/test-getcwd.c: Include pathmax.h.
17253
17254 2011-06-18  Bruno Haible  <bruno@clisp.org>
17255
17256         isfinite, isinf: Fix link error on AIX 6 and 7.
17257         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
17258         needed, also test the macro with a 'float' argument.
17259         * m4/isinf.m4 (gl_ISINF): Likewise.
17260
17261 2011-06-18  Bruno Haible  <bruno@clisp.org>
17262
17263         getloadavg: Don't clobber LIBS. Regression from previous commit.
17264         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
17265         AC_CHECK_LIB from here...
17266         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
17267         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
17268         gl_func_getloadavg_done.
17269         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17270
17271 2011-06-18  Bruno Haible  <bruno@clisp.org>
17272
17273         clean-temp: Improve documentation.
17274         * lib/clean-temp.h: Explain better how to use this module.
17275         Reported by John Darrington <john@darrington.wattle.id.au>.
17276
17277 2011-06-17  Bruno Haible  <bruno@clisp.org>
17278
17279         pread, pwrite: Avoid cc warning on AIX.
17280         * lib/unistd.in.h (pread): Undefine before defining as a macro.
17281         (pwrite): Likewise.
17282
17283 2011-06-17  Bruno Haible  <bruno@clisp.org>
17284
17285         spawn-pipe tests: Fix link error.
17286         * tests/test-spawn-pipe-child.c: Undefine fprintf.
17287         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17288
17289 2011-06-17  Bruno Haible  <bruno@clisp.org>
17290
17291         Tests: Remove unnecessary dependency.
17292         * modules/canonicalize-tests (Depends-on): Remove progname.
17293         * modules/chown-tests (Depends-on): Likewise.
17294         * modules/dirname-tests (Depends-on): Likewise.
17295         * modules/fdopendir-tests (Depends-on): Likewise.
17296         * modules/fdutimensat-tests (Depends-on): Likewise.
17297         * modules/hash-tests (Depends-on): Likewise.
17298         * modules/lchown-tests (Depends-on): Likewise.
17299         * modules/linkat-tests (Depends-on): Likewise.
17300         * modules/renameat-tests (Depends-on): Likewise.
17301         * modules/spawn-pipe-tests (Depends-on): Likewise.
17302         * modules/utimensat-tests (Depends-on): Likewise.
17303
17304 2011-06-17  Bruno Haible  <bruno@clisp.org>
17305
17306         spawn-pipe tests: Fix link error.
17307         * tests/test-spawn-pipe-child.c: Undefine fflush.
17308
17309 2011-06-17  Bruno Haible  <bruno@clisp.org>
17310
17311         Fix tests link errors.
17312         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
17313         * modules/chown-tests (Makefile.am): Don't link test-chown with
17314         LIBINTL.
17315         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
17316         LIBINTL.
17317         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
17318         LIBINTL.
17319         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
17320         LIBINTL.
17321
17322 2011-06-16  Bruno Haible  <bruno@clisp.org>
17323
17324         crypto/gc-sha1: Fix recent regression.
17325         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
17326         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
17327
17328         crypto/gc-md5: Fix recent regression.
17329         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
17330
17331         crypto/gc-md4: Fix recent regression.
17332         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
17333         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
17334
17335         crypto/gc-arctwo: Fix recent regression.
17336         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
17337         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
17338
17339         crypto/gc-rijndael: Fix recent regression.
17340         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
17341         (configure.ac): Invoke AC_LIBOBJ here.
17342         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
17343         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17344
17345         crypto/gc-hmac-sha1: Fix recent regression.
17346         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
17347         (configure.ac): Invoke AC_LIBOBJ here.
17348         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
17349         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17350
17351         crypto/gc-hmac-md5: Fix recent regression.
17352         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
17353         (configure.ac): Invoke AC_LIBOBJ here.
17354         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
17355         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17356
17357         crypto/gc-des: Fix recent regression.
17358         * modules/crypto/gc-des (Files): Remove m4/des.m4.
17359         (configure.ac): Invoke AC_LIBOBJ here.
17360         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
17361         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17362
17363         crypto/gc-arcfour: Fix recent regression.
17364         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
17365         (configure.ac): Invoke AC_LIBOBJ here.
17366         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
17367         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17368
17369 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
17370
17371         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
17372         After the 2011-05-21 change, this macro requires
17373         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
17374         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
17375
17376 2011-06-16  Bruno Haible  <bruno@clisp.org>
17377
17378         fprintftime: Move AC_LIBOBJ invocations to module description.
17379         * m4/fprintftime.m4: Remove file.
17380         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
17381         (configure.ac): Remove gl_FPRINTFTIME call.
17382         (Makefile.am): Augment lib_SOURCES.
17383         Reported by Jim Meyering.
17384
17385 2011-06-16  Bruno Haible  <bruno@clisp.org>
17386
17387         tmpfile-safer: Finish 2011-05-23 commit.
17388         * m4/stdio-safer.m4: Really remove file.
17389         Reported by Jim Meyering.
17390
17391 2011-06-16  Bruno Haible  <bruno@clisp.org>
17392
17393         syntax-check: Fix typo.
17394         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
17395         printf-posix.m4.
17396         Reported by Jim Meyering.
17397
17398 2011-06-13  Jim Meyering  <meyering@redhat.com>
17399
17400         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
17401         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
17402
17403 2011-05-23  Bruno Haible  <bruno@clisp.org>
17404
17405         yesno: Move AC_LIBOBJ invocations to module description.
17406         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
17407         * modules/yesno (Makefile.am): Augment lib_SOURCES.
17408
17409 2011-05-23  Bruno Haible  <bruno@clisp.org>
17410
17411         xstrtol: Move AC_LIBOBJ invocations to module description.
17412         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
17413         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
17414
17415 2011-05-23  Bruno Haible  <bruno@clisp.org>
17416
17417         xstrtold: Move AC_LIBOBJ invocations to module description.
17418         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
17419         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
17420
17421 2011-05-23  Bruno Haible  <bruno@clisp.org>
17422
17423         xstrtod: Move AC_LIBOBJ invocations to module description.
17424         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
17425         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
17426
17427 2011-05-23  Bruno Haible  <bruno@clisp.org>
17428
17429         xnanosleep: Move AC_LIBOBJ invocations to module description.
17430         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
17431         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
17432
17433 2011-05-23  Bruno Haible  <bruno@clisp.org>
17434
17435         xgetcwd: Move AC_LIBOBJ invocations to module description.
17436         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
17437         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
17438
17439 2011-05-23  Bruno Haible  <bruno@clisp.org>
17440
17441         xalloc: Move AC_LIBOBJ invocations to module description.
17442         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
17443         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
17444
17445 2011-05-23  Bruno Haible  <bruno@clisp.org>
17446
17447         write-any-file: Move AC_LIBOBJ invocations to module description.
17448         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
17449         invocation.
17450         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
17451
17452 2011-05-23  Bruno Haible  <bruno@clisp.org>
17453
17454         utimens: Move AC_LIBOBJ invocations to module description.
17455         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
17456         * modules/utimens (Makefile.am): Augment lib_SOURCES.
17457
17458 2011-05-23  Bruno Haible  <bruno@clisp.org>
17459
17460         utimecmp: Move AC_LIBOBJ invocations to module description.
17461         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
17462         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
17463
17464 2011-05-23  Bruno Haible  <bruno@clisp.org>
17465
17466         userspec: Move AC_LIBOBJ invocations to module description.
17467         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
17468         * modules/userspec (Makefile.am): Augment lib_SOURCES.
17469
17470 2011-05-23  Bruno Haible  <bruno@clisp.org>
17471
17472         unlinkdir: Move AC_LIBOBJ invocations to module description.
17473         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
17474         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
17475
17476 2011-05-23  Bruno Haible  <bruno@clisp.org>
17477
17478         unistd-safer: Move AC_LIBOBJ invocations to module description.
17479         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
17480         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
17481
17482 2011-05-23  Bruno Haible  <bruno@clisp.org>
17483
17484         tempname: Move AC_LIBOBJ invocations to module description.
17485         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
17486         * modules/tempname (Makefile.am): Augment lib_SOURCES.
17487
17488 2011-05-23  Bruno Haible  <bruno@clisp.org>
17489
17490         strftime: Move AC_LIBOBJ invocations to module description.
17491         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
17492         * modules/strftime (Makefile.am): Augment lib_SOURCES.
17493
17494 2011-05-23  Bruno Haible  <bruno@clisp.org>
17495
17496         stdlib-safer: Move AC_LIBOBJ invocations to module description.
17497         * m4/stdlib-safer.m4: Remove file.
17498         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
17499         (configure.ac): Remove gl_STDLIB_SAFER call.
17500         (Makefile.am): Augment lib_SOURCES.
17501
17502 2011-05-23  Bruno Haible  <bruno@clisp.org>
17503
17504         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
17505         * m4/stdio-safer.m4: Remove file.
17506         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
17507         (configure.ac): Remove gl_TMPFILE_SAFER call.
17508         (Makefile.am): Augment lib_SOURCES.
17509
17510 2011-05-23  Bruno Haible  <bruno@clisp.org>
17511
17512         popen-safer: Move AC_LIBOBJ invocations to module description.
17513         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
17514         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
17515         (configure.ac): Remove gl_POPEN_SAFER call.
17516         (Makefile.am): Augment lib_SOURCES.
17517
17518 2011-05-23  Bruno Haible  <bruno@clisp.org>
17519
17520         freopen-safer: Move AC_LIBOBJ invocations to module description.
17521         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
17522         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
17523         (configure.ac): Remove gl_FREOPEN_SAFER call.
17524         (Makefile.am): Augment lib_SOURCES.
17525
17526 2011-05-23  Bruno Haible  <bruno@clisp.org>
17527
17528         fopen-safer: Move AC_LIBOBJ invocations to module description.
17529         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
17530         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
17531         (configure.ac): Remove gl_FOPEN_SAFER call.
17532         (Makefile.am): Augment lib_SOURCES.
17533
17534 2011-05-23  Bruno Haible  <bruno@clisp.org>
17535
17536         crypto/sha512: Move AC_LIBOBJ invocations to module description.
17537         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
17538         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
17539
17540 2011-05-23  Bruno Haible  <bruno@clisp.org>
17541
17542         crypto/sha256: Move AC_LIBOBJ invocations to module description.
17543         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
17544         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
17545
17546 2011-05-23  Bruno Haible  <bruno@clisp.org>
17547
17548         crypto/sha1: Move AC_LIBOBJ invocations to module description.
17549         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
17550         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
17551
17552 2011-05-23  Bruno Haible  <bruno@clisp.org>
17553
17554         settime: Move AC_LIBOBJ invocations to module description.
17555         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
17556         * modules/settime (Makefile.am): Augment lib_SOURCES.
17557
17558 2011-05-23  Bruno Haible  <bruno@clisp.org>
17559
17560         savedir: Move AC_LIBOBJ invocations to module description.
17561         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
17562         * modules/savedir (Makefile.am): Augment lib_SOURCES.
17563
17564 2011-05-23  Bruno Haible  <bruno@clisp.org>
17565
17566         save-cwd: Move AC_LIBOBJ invocations to module description.
17567         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
17568         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
17569
17570 2011-05-23  Bruno Haible  <bruno@clisp.org>
17571
17572         same: Move AC_LIBOBJ invocations to module description.
17573         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
17574         * modules/same (Makefile.am): Augment lib_SOURCES.
17575
17576 2011-05-23  Bruno Haible  <bruno@clisp.org>
17577
17578         safe-write: Move AC_LIBOBJ invocations to module description.
17579         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
17580         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
17581         instead of gl_SAFE_WRITE.
17582         (Makefile.am): Augment lib_SOURCES.
17583
17584 2011-05-23  Bruno Haible  <bruno@clisp.org>
17585
17586         safe-read: Move AC_LIBOBJ invocations to module description.
17587         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
17588         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
17589         of gl_SAFE_READ.
17590         (Makefile.am): Augment lib_SOURCES.
17591
17592 2011-05-23  Bruno Haible  <bruno@clisp.org>
17593
17594         safe-alloc: Move AC_LIBOBJ invocations to module description.
17595         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
17596         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
17597
17598 2011-05-23  Bruno Haible  <bruno@clisp.org>
17599
17600         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
17601         * m4/rijndael.m4: Remove file.
17602         * modules/crypto/rijndael (Files): Remove it.
17603         (configure.ac): Remove gl_RIJNDAEL call.
17604         (Makefile.am): Augment lib_SOURCES.
17605
17606 2011-05-23  Bruno Haible  <bruno@clisp.org>
17607
17608         readtokens: Move AC_LIBOBJ invocations to module description.
17609         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
17610         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
17611
17612 2011-05-23  Bruno Haible  <bruno@clisp.org>
17613
17614         read-file: Move AC_LIBOBJ invocations to module description.
17615         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
17616         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
17617         of gl_FUNC_READ_FILE.
17618         (Makefile.am): Augment lib_SOURCES.
17619
17620 2011-05-23  Bruno Haible  <bruno@clisp.org>
17621
17622         quotearg: Move AC_LIBOBJ invocations to module description.
17623         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
17624         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
17625
17626 2011-05-23  Bruno Haible  <bruno@clisp.org>
17627
17628         quote: Move AC_LIBOBJ invocations to module description.
17629         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
17630         * modules/quote (Makefile.am): Augment lib_SOURCES.
17631
17632 2011-05-23  Bruno Haible  <bruno@clisp.org>
17633
17634         posixver: Move AC_LIBOBJ invocations to module description.
17635         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
17636         * modules/posixver (Makefile.am): Augment lib_SOURCES.
17637
17638 2011-05-23  Bruno Haible  <bruno@clisp.org>
17639
17640         posixtm: Move AC_LIBOBJ invocations to module description.
17641         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
17642         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
17643
17644 2011-05-23  Bruno Haible  <bruno@clisp.org>
17645
17646         physmem: Move AC_LIBOBJ invocations to module description.
17647         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
17648         * modules/physmem (Makefile.am): Augment lib_SOURCES.
17649
17650 2011-05-23  Bruno Haible  <bruno@clisp.org>
17651
17652         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
17653         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
17654         invocation.
17655         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
17656
17657 2011-05-23  Bruno Haible  <bruno@clisp.org>
17658
17659         mpsort: Move AC_LIBOBJ invocations to module description.
17660         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
17661         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
17662
17663 2011-05-23  Bruno Haible  <bruno@clisp.org>
17664
17665         modechange: Move AC_LIBOBJ invocations to module description.
17666         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
17667         * modules/modechange (Makefile.am): Augment lib_SOURCES.
17668
17669 2011-05-23  Bruno Haible  <bruno@clisp.org>
17670
17671         mkdir-p: Move AC_LIBOBJ invocations to module description.
17672         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
17673         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
17674
17675 2011-05-23  Bruno Haible  <bruno@clisp.org>
17676
17677         mkancesdirs: Move AC_LIBOBJ invocations to module description.
17678         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
17679         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
17680
17681 2011-05-23  Bruno Haible  <bruno@clisp.org>
17682
17683         mgetgroups: Move AC_LIBOBJ invocations to module description.
17684         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
17685         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
17686
17687 2011-05-23  Bruno Haible  <bruno@clisp.org>
17688
17689         memxor: Move AC_LIBOBJ invocations to module description.
17690         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
17691         * modules/memxor (Makefile.am): Augment lib_SOURCES.
17692
17693 2011-05-23  Bruno Haible  <bruno@clisp.org>
17694
17695         memcoll: Move AC_LIBOBJ invocations to module description.
17696         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
17697         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
17698
17699 2011-05-23  Bruno Haible  <bruno@clisp.org>
17700
17701         memcasecmp: Move AC_LIBOBJ invocations to module description.
17702         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
17703         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
17704
17705 2011-05-23  Bruno Haible  <bruno@clisp.org>
17706
17707         crypto/md5: Move AC_LIBOBJ invocations to module description.
17708         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
17709         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
17710
17711 2011-05-23  Bruno Haible  <bruno@clisp.org>
17712
17713         crypto/md4: Move AC_LIBOBJ invocations to module description.
17714         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
17715         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
17716
17717 2011-05-23  Bruno Haible  <bruno@clisp.org>
17718
17719         crypto/md2: Move AC_LIBOBJ invocations to module description.
17720         * m4/md2.m4: Remove file.
17721         * modules/crypto/md2 (Files): Remove it.
17722         (configure.ac): Remove gl_MD2 call.
17723         (Makefile.am): Augment lib_SOURCES.
17724
17725 2011-05-23  Bruno Haible  <bruno@clisp.org>
17726
17727         long-options: Move AC_LIBOBJ invocations to module description.
17728         * m4/long-options.m4: Remove file.
17729         * modules/long-options (Files): Remove it.
17730         (configure.ac): Remove gl_LONG_OPTIONS call.
17731         (Makefile.am): Augment lib_SOURCES.
17732
17733 2011-05-23  Bruno Haible  <bruno@clisp.org>
17734
17735         i-ring: Move AC_LIBOBJ invocations to module description.
17736         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
17737         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
17738
17739 2011-05-23  Bruno Haible  <bruno@clisp.org>
17740
17741         idcache: Move AC_LIBOBJ invocations to module description.
17742         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
17743         * modules/idcache (Makefile.am): Augment lib_SOURCES.
17744
17745 2011-05-23  Bruno Haible  <bruno@clisp.org>
17746
17747         human: Move AC_LIBOBJ invocations to module description.
17748         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
17749         * modules/human (Makefile.am): Augment lib_SOURCES.
17750
17751 2011-05-23  Bruno Haible  <bruno@clisp.org>
17752
17753         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
17754         * m4/hmac-sha1.m4: Remove file.
17755         * modules/crypto/hmac-sha1 (Files): Remove it.
17756         (configure.ac): Remove gl_HMAC_SHA1 call.
17757         (Makefile.am): Augment lib_SOURCES.
17758
17759 2011-05-23  Bruno Haible  <bruno@clisp.org>
17760
17761         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
17762         * m4/hmac-md5.m4: Remove file.
17763         * modules/crypto/hmac-md5 (Files): Remove it.
17764         (configure.ac): Remove gl_HMAC_MD5 call.
17765         (Makefile.am): Augment lib_SOURCES.
17766
17767 2011-05-23  Bruno Haible  <bruno@clisp.org>
17768
17769         hash: Move AC_LIBOBJ invocations to module description.
17770         * m4/hash.m4: Remove file.
17771         * modules/hash (Files): Remove it.
17772         (configure.ac): Remove gl_HASH call.
17773         (Makefile.am): Augment lib_SOURCES.
17774
17775 2011-05-23  Bruno Haible  <bruno@clisp.org>
17776
17777         hard-locale: Move AC_LIBOBJ invocations to module description.
17778         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
17779         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
17780
17781 2011-05-23  Bruno Haible  <bruno@clisp.org>
17782
17783         getugroups: Move AC_LIBOBJ invocations to module description.
17784         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
17785         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
17786
17787 2011-05-23  Bruno Haible  <bruno@clisp.org>
17788
17789         gettime: Move AC_LIBOBJ invocations to module description.
17790         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
17791         * modules/gettime (Makefile.am): Augment lib_SOURCES.
17792
17793 2011-05-23  Bruno Haible  <bruno@clisp.org>
17794
17795         getndelim2: Move AC_LIBOBJ invocations to module description.
17796         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
17797         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
17798
17799 2011-05-23  Bruno Haible  <bruno@clisp.org>
17800
17801         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
17802         * m4/gc-pbkdf2-sha1.m4: Remove file.
17803         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
17804         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
17805         (Makefile.am): Augment lib_SOURCES.
17806
17807 2011-05-23  Bruno Haible  <bruno@clisp.org>
17808
17809         fts: Move AC_LIBOBJ invocations to module description.
17810         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
17811         * modules/fts (configure.ac): ... to here.
17812
17813 2011-05-23  Bruno Haible  <bruno@clisp.org>
17814
17815         file-type: Move AC_LIBOBJ invocations to module description.
17816         * m4/file-type.m4: Remove file.
17817         * modules/file-type (Files): Remove it.
17818         (configure.ac): Remove gl_FILE_TYPE call.
17819         (Makefile.am): Augment lib_SOURCES.
17820
17821 2011-05-23  Bruno Haible  <bruno@clisp.org>
17822
17823         filenamecat*: Respect rules for use of AC_LIBOBJ.
17824         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
17825         Remove AC_LIBOBJ invocation.
17826         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
17827         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
17828
17829 2011-05-23  Bruno Haible  <bruno@clisp.org>
17830
17831         filemode: Move AC_LIBOBJ invocations to module description.
17832         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
17833         * modules/filemode (Makefile.am): Augment lib_SOURCES.
17834
17835 2011-05-23  Bruno Haible  <bruno@clisp.org>
17836
17837         openat-safer: Move AC_LIBOBJ invocations to module description.
17838         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
17839         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
17840
17841 2011-05-23  Bruno Haible  <bruno@clisp.org>
17842
17843         fcntl-safer: Move AC_LIBOBJ invocations to module description.
17844         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
17845         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
17846
17847 2011-05-23  Bruno Haible  <bruno@clisp.org>
17848
17849         exclude: Move AC_LIBOBJ invocations to module description.
17850         * m4/exclude.m4: Remove file.
17851         * modules/exclude (Files): Remove it.
17852         (configure.ac): Remove gl_EXCLUDE call.
17853         (Makefile.am): Augment lib_SOURCES.
17854
17855 2011-05-23  Bruno Haible  <bruno@clisp.org>
17856
17857         dirname*: Respect rules for use of AC_LIBOBJ.
17858         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
17859         invocations.
17860         * modules/dirname (Makefile.am): Augment lib_SOURCES.
17861         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
17862
17863 2011-05-23  Bruno Haible  <bruno@clisp.org>
17864
17865         dirent-safer: Move AC_LIBOBJ invocations to module description.
17866         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
17867         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
17868
17869 2011-05-23  Bruno Haible  <bruno@clisp.org>
17870
17871         crypto/des: Move AC_LIBOBJ invocations to module description.
17872         * m4/des.m4: Remove file.
17873         * modules/crypto/des (Files): Remove it.
17874         (configure.ac): Remove gl_DES call.
17875         (Makefile.am): Augment lib_SOURCES.
17876
17877 2011-05-23  Bruno Haible  <bruno@clisp.org>
17878
17879         cycle-check: Move AC_LIBOBJ invocations to module description.
17880         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
17881         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
17882
17883 2011-05-23  Bruno Haible  <bruno@clisp.org>
17884
17885         c-strtold: Move AC_LIBOBJ invocations to module description.
17886         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
17887         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
17888
17889 2011-05-23  Bruno Haible  <bruno@clisp.org>
17890
17891         c-strtod: Move AC_LIBOBJ invocations to module description.
17892         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
17893         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
17894
17895 2011-05-23  Bruno Haible  <bruno@clisp.org>
17896
17897         crc: Move AC_LIBOBJ invocations to module description.
17898         * m4/crc.m4: Remove file.
17899         * modules/crc (Files): Remove it.
17900         (configure.ac): Remove gl_CRC call.
17901         (Makefile.am): Augment lib_SOURCES.
17902
17903 2011-05-23  Bruno Haible  <bruno@clisp.org>
17904
17905         close-stream: Move AC_LIBOBJ invocations to module description.
17906         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
17907         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
17908
17909 2011-05-23  Bruno Haible  <bruno@clisp.org>
17910
17911         closeout: Move AC_LIBOBJ invocations to module description.
17912         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
17913         * modules/closeout (Makefile.am): Augment lib_SOURCES.
17914
17915 2011-05-23  Bruno Haible  <bruno@clisp.org>
17916
17917         closein: Move AC_LIBOBJ invocations to module description.
17918         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
17919         * modules/closein (Makefile.am): Augment lib_SOURCES.
17920
17921 2011-05-23  Bruno Haible  <bruno@clisp.org>
17922
17923         cloexec: Move AC_LIBOBJ invocations to module description.
17924         * m4/cloexec.m4: Remove file.
17925         * modules/cloexec (Files): Remove it.
17926         (configure.ac): Remove gl_CLOEXEC call.
17927         (Makefile.am): Augment lib_SOURCES.
17928
17929 2011-05-23  Bruno Haible  <bruno@clisp.org>
17930
17931         check-version: Move AC_LIBOBJ invocations to module description.
17932         * m4/check-version.m4: Remove file.
17933         * modules/check-version (Files): Remove it.
17934         (configure.ac): Remove gl_CHECK_VERSION call.
17935         (Makefile.am): Augment lib_SOURCES.
17936
17937 2011-05-23  Bruno Haible  <bruno@clisp.org>
17938
17939         chdir-safer: Move AC_LIBOBJ invocations to module description.
17940         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
17941         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
17942
17943 2011-05-23  Bruno Haible  <bruno@clisp.org>
17944
17945         canonicalize: Move AC_LIBOBJ invocations to module description.
17946         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
17947         AC_LIBOBJ invocation.
17948         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
17949
17950 2011-05-23  Bruno Haible  <bruno@clisp.org>
17951
17952         canon-host: Move AC_LIBOBJ invocations to module description.
17953         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
17954         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
17955         instead of gl_CANON_HOST.
17956         (Makefile.am): Augment lib_SOURCES.
17957
17958 2011-05-23  Bruno Haible  <bruno@clisp.org>
17959
17960         backupfile: Move AC_LIBOBJ invocations to module description.
17961         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
17962         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
17963
17964 2011-05-23  Bruno Haible  <bruno@clisp.org>
17965
17966         argmatch: Move AC_LIBOBJ invocations to module description.
17967         * m4/argmatch.m4: Remove file.
17968         * modules/argmatch (Files): Remove it.
17969         (configure.ac): Remove gl_ARGMATCH call.
17970         (Makefile.am): Augment lib_SOURCES.
17971
17972 2011-05-23  Bruno Haible  <bruno@clisp.org>
17973
17974         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
17975         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
17976         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
17977
17978 2011-05-23  Bruno Haible  <bruno@clisp.org>
17979
17980         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
17981         * m4/arcfour.m4: Remove file.
17982         * modules/crypto/arcfour (Files): Remove it.
17983         (configure.ac): Remove gl_ARCFOUR call.
17984         (Makefile.am): Augment lib_SOURCES.
17985
17986 2011-05-22  Bruno Haible  <bruno@clisp.org>
17987
17988         write: Move AC_LIBOBJ invocations to module description.
17989         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
17990         * modules/write (configure.ac): ... to here.
17991
17992 2011-05-22  Bruno Haible  <bruno@clisp.org>
17993
17994         wmemset: Move AC_LIBOBJ invocations to module description.
17995         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
17996         here...
17997         * modules/wmemset (configure.ac): ... to here.
17998
17999 2011-05-22  Bruno Haible  <bruno@clisp.org>
18000
18001         wmemmove: Move AC_LIBOBJ invocations to module description.
18002         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
18003         here...
18004         * modules/wmemmove (configure.ac): ... to here.
18005
18006 2011-05-22  Bruno Haible  <bruno@clisp.org>
18007
18008         wmemcpy: Move AC_LIBOBJ invocations to module description.
18009         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
18010         here...
18011         * modules/wmemcpy (configure.ac): ... to here.
18012
18013 2011-05-22  Bruno Haible  <bruno@clisp.org>
18014
18015         wmemcmp: Move AC_LIBOBJ invocations to module description.
18016         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
18017         here...
18018         * modules/wmemcmp (configure.ac): ... to here.
18019
18020 2011-05-22  Bruno Haible  <bruno@clisp.org>
18021
18022         wmemchr: Move AC_LIBOBJ invocations to module description.
18023         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
18024         here...
18025         * modules/wmemchr (configure.ac): ... to here.
18026
18027 2011-05-22  Bruno Haible  <bruno@clisp.org>
18028
18029         wcswidth: Move AC_LIBOBJ invocations to module description.
18030         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
18031         here...
18032         * modules/wcswidth (configure.ac): ... to here.
18033
18034 2011-05-22  Bruno Haible  <bruno@clisp.org>
18035
18036         wcwidth: Respect rules for use of AC_LIBOBJ.
18037         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
18038         invocation from here...
18039         * modules/wcwidth (configure.ac): ... to here.
18040         (Depends-on): Update conditions.
18041
18042 2011-05-22  Bruno Haible  <bruno@clisp.org>
18043
18044         wctype: Move AC_LIBOBJ invocations to module description.
18045         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
18046         invocation from here...
18047         * modules/wctype (configure.ac): ... to here.
18048         (Depends-on): Update conditions.
18049
18050 2011-05-22  Bruno Haible  <bruno@clisp.org>
18051
18052         wctrans: Move AC_LIBOBJ invocations to module description.
18053         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
18054         invocation from here...
18055         * modules/wctrans (configure.ac): ... to here.
18056
18057 2011-05-22  Bruno Haible  <bruno@clisp.org>
18058
18059         wctomb: Move AC_LIBOBJ invocations to module description.
18060         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
18061         invocations from here...
18062         * modules/wctomb (configure.ac): ... to here.
18063
18064 2011-05-22  Bruno Haible  <bruno@clisp.org>
18065
18066         wctob: Move AC_LIBOBJ invocations to module description.
18067         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
18068         gl_PREREQ_WCTOB invocations from here...
18069         * modules/wctob (configure.ac): ... to here.
18070         (Depends-on): Update conditions.
18071
18072 2011-05-22  Bruno Haible  <bruno@clisp.org>
18073
18074         wcsxfrm: Move AC_LIBOBJ invocations to module description.
18075         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
18076         here...
18077         * modules/wcsxfrm (configure.ac): ... to here.
18078
18079 2011-05-22  Bruno Haible  <bruno@clisp.org>
18080
18081         wcstok: Move AC_LIBOBJ invocations to module description.
18082         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
18083         * modules/wcstok (configure.ac): ... to here.
18084
18085 2011-05-22  Bruno Haible  <bruno@clisp.org>
18086
18087         wcsstr: Move AC_LIBOBJ invocations to module description.
18088         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
18089         * modules/wcsstr (configure.ac): ... to here.
18090
18091 2011-05-22  Bruno Haible  <bruno@clisp.org>
18092
18093         wcsspn: Move AC_LIBOBJ invocations to module description.
18094         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
18095         * modules/wcsspn (configure.ac): ... to here.
18096
18097 2011-05-22  Bruno Haible  <bruno@clisp.org>
18098
18099         wcsrtombs: Move AC_LIBOBJ invocations to module description.
18100         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
18101         gl_PREREQ_WCSRTOMBS invocations from here...
18102         * modules/wcsrtombs (configure.ac): ... to here.
18103
18104 2011-05-22  Bruno Haible  <bruno@clisp.org>
18105
18106         wcsrchr: Move AC_LIBOBJ invocations to module description.
18107         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
18108         here...
18109         * modules/wcsrchr (configure.ac): ... to here.
18110
18111 2011-05-22  Bruno Haible  <bruno@clisp.org>
18112
18113         wcspbrk: Move AC_LIBOBJ invocations to module description.
18114         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
18115         here...
18116         * modules/wcspbrk (configure.ac): ... to here.
18117
18118 2011-05-22  Bruno Haible  <bruno@clisp.org>
18119
18120         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
18121         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
18122         gl_PREREQ_WCSNRTOMBS invocations from here...
18123         * modules/wcsnrtombs (configure.ac): ... to here.
18124
18125 2011-05-22  Bruno Haible  <bruno@clisp.org>
18126
18127         wcsnlen: Move AC_LIBOBJ invocations to module description.
18128         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
18129         here...
18130         * modules/wcsnlen (configure.ac): ... to here.
18131
18132 2011-05-22  Bruno Haible  <bruno@clisp.org>
18133
18134         wcsncpy: Move AC_LIBOBJ invocations to module description.
18135         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
18136         here...
18137         * modules/wcsncpy (configure.ac): ... to here.
18138
18139 2011-05-22  Bruno Haible  <bruno@clisp.org>
18140
18141         wcsncmp: Move AC_LIBOBJ invocations to module description.
18142         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
18143         here...
18144         * modules/wcsncmp (configure.ac): ... to here.
18145
18146 2011-05-22  Bruno Haible  <bruno@clisp.org>
18147
18148         wcsncat: Move AC_LIBOBJ invocations to module description.
18149         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
18150         here...
18151         * modules/wcsncat (configure.ac): ... to here.
18152
18153 2011-05-22  Bruno Haible  <bruno@clisp.org>
18154
18155         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
18156         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
18157         from here...
18158         * modules/wcsncasecmp (configure.ac): ... to here.
18159
18160 2011-05-22  Bruno Haible  <bruno@clisp.org>
18161
18162         wcslen: Move AC_LIBOBJ invocations to module description.
18163         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
18164         * modules/wcslen (configure.ac): ... to here.
18165
18166 2011-05-22  Bruno Haible  <bruno@clisp.org>
18167
18168         wcsdup: Move AC_LIBOBJ invocations to module description.
18169         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
18170         * modules/wcsdup (configure.ac): ... to here.
18171
18172 2011-05-22  Bruno Haible  <bruno@clisp.org>
18173
18174         wcscspn: Move AC_LIBOBJ invocations to module description.
18175         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
18176         here...
18177         * modules/wcscspn (configure.ac): ... to here.
18178
18179 2011-05-22  Bruno Haible  <bruno@clisp.org>
18180
18181         wcscpy: Move AC_LIBOBJ invocations to module description.
18182         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
18183         * modules/wcscpy (configure.ac): ... to here.
18184
18185 2011-05-22  Bruno Haible  <bruno@clisp.org>
18186
18187         wcscoll: Move AC_LIBOBJ invocations to module description.
18188         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
18189         here...
18190         * modules/wcscoll (configure.ac): ... to here.
18191
18192 2011-05-22  Bruno Haible  <bruno@clisp.org>
18193
18194         wcscmp: Move AC_LIBOBJ invocations to module description.
18195         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
18196         * modules/wcscmp (configure.ac): ... to here.
18197
18198 2011-05-22  Bruno Haible  <bruno@clisp.org>
18199
18200         wcschr: Move AC_LIBOBJ invocations to module description.
18201         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
18202         * modules/wcschr (configure.ac): ... to here.
18203
18204 2011-05-22  Bruno Haible  <bruno@clisp.org>
18205
18206         wcscat: Move AC_LIBOBJ invocations to module description.
18207         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
18208         * modules/wcscat (configure.ac): ... to here.
18209
18210 2011-05-22  Bruno Haible  <bruno@clisp.org>
18211
18212         wcscasecmp: Move AC_LIBOBJ invocations to module description.
18213         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
18214         here...
18215         * modules/wcscasecmp (configure.ac): ... to here.
18216
18217 2011-05-22  Bruno Haible  <bruno@clisp.org>
18218
18219         wcrtomb: Move AC_LIBOBJ invocations to module description.
18220         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
18221         invocations from here...
18222         * modules/wcrtomb (configure.ac): ... to here.
18223
18224 2011-05-22  Bruno Haible  <bruno@clisp.org>
18225
18226         wcpncpy: Move AC_LIBOBJ invocations to module description.
18227         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
18228         here...
18229         * modules/wcpncpy (configure.ac): ... to here.
18230
18231 2011-05-22  Bruno Haible  <bruno@clisp.org>
18232
18233         wcpcpy: Move AC_LIBOBJ invocations to module description.
18234         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
18235         * modules/wcpcpy (configure.ac): ... to here.
18236
18237 2011-05-22  Bruno Haible  <bruno@clisp.org>
18238
18239         waitpid: Move AC_LIBOBJ invocations to module description.
18240         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
18241         invocation from here...
18242         * modules/waitpid (configure.ac): ... to here.
18243
18244 2011-05-22  Bruno Haible  <bruno@clisp.org>
18245
18246         utimensat: Move AC_LIBOBJ invocations to module description.
18247         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
18248         here...
18249         * modules/utimensat (configure.ac): ... to here.
18250
18251 2011-05-22  Bruno Haible  <bruno@clisp.org>
18252
18253         usleep: Move AC_LIBOBJ invocations to module description.
18254         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
18255         here...
18256         * modules/usleep (configure.ac): ... to here.
18257
18258 2011-05-22  Bruno Haible  <bruno@clisp.org>
18259
18260         unlockpt: Move AC_LIBOBJ invocations to module description.
18261         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
18262         gl_PREREQ_UNLOCKPT invocations from here...
18263         * modules/unlockpt (configure.ac): ... to here.
18264
18265 2011-05-22  Bruno Haible  <bruno@clisp.org>
18266
18267         unlink: Respect rules for use of AC_LIBOBJ.
18268         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
18269         * modules/unlink (configure.ac): ... to here.
18270
18271 2011-05-22  Bruno Haible  <bruno@clisp.org>
18272
18273         uname: Move AC_LIBOBJ invocations to module description.
18274         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
18275         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
18276         here...
18277         * modules/uname (configure.ac): ... to here.
18278
18279 2011-05-22  Bruno Haible  <bruno@clisp.org>
18280
18281         ttyname_r: Move AC_LIBOBJ invocations to module description.
18282         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
18283         gl_PREREQ_TTYNAME_R invocations from here...
18284         * modules/ttyname_r (configure.ac): ... to here.
18285
18286 2011-05-22  Bruno Haible  <bruno@clisp.org>
18287
18288         tsearch: Move AC_LIBOBJ invocations to module description.
18289         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
18290         invocations from here...
18291         * modules/tsearch (configure.ac): ... to here.
18292
18293 2011-05-22  Bruno Haible  <bruno@clisp.org>
18294
18295         towctrans: Move AC_LIBOBJ invocations to module description.
18296         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
18297         AC_LIBOBJ invocation from here...
18298         * modules/towctrans (configure.ac): ... to here.
18299
18300 2011-05-22  Bruno Haible  <bruno@clisp.org>
18301
18302         tmpfile: Move AC_LIBOBJ invocations to module description.
18303         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
18304         invocations from here...
18305         * modules/tmpfile (configure.ac): ... to here.
18306
18307 2011-05-22  Bruno Haible  <bruno@clisp.org>
18308
18309         times: Move AC_LIBOBJ invocations to module description.
18310         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
18311         * modules/times (configure.ac): ... to here.
18312
18313 2011-05-22  Bruno Haible  <bruno@clisp.org>
18314
18315         time_r: Move AC_LIBOBJ invocations to module description.
18316         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
18317         invocations from here...
18318         * modules/time_r (configure.ac): ... to here.
18319
18320 2011-05-22  Bruno Haible  <bruno@clisp.org>
18321
18322         timegm: Move AC_LIBOBJ invocations to module description.
18323         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
18324         invocations from here...
18325         * modules/timegm (configure.ac): ... to here.
18326
18327 2011-05-22  Bruno Haible  <bruno@clisp.org>
18328
18329         tcgetsid: Move AC_LIBOBJ invocations to module description.
18330         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
18331         and gl_PREREQ_TCGETSID invocations from here...
18332         * modules/tcgetsid (configure.ac): ... to here.
18333         (Depends-on): Update conditions.
18334
18335 2011-05-22  Bruno Haible  <bruno@clisp.org>
18336
18337         symlinkat: Move AC_LIBOBJ invocations to module description.
18338         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
18339         here...
18340         * modules/symlinkat (configure.ac): ... to here.
18341
18342 2011-05-22  Bruno Haible  <bruno@clisp.org>
18343
18344         symlink: Move AC_LIBOBJ invocations to module description.
18345         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
18346         here...
18347         * modules/symlink (configure.ac): ... to here.
18348
18349 2011-05-22  Bruno Haible  <bruno@clisp.org>
18350
18351         strverscmp: Move AC_LIBOBJ invocations to module description.
18352         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
18353         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
18354         from here...
18355         * modules/strverscmp (configure.ac): ... to here.
18356
18357 2011-05-22  Bruno Haible  <bruno@clisp.org>
18358
18359         strtok_r: Move AC_LIBOBJ invocations to module description.
18360         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
18361         and gl_PREREQ_STRTOK_R invocations from here...
18362         * modules/strtok_r (configure.ac): ... to here.
18363         (Depends-on): Update conditions.
18364
18365 2011-05-22  Bruno Haible  <bruno@clisp.org>
18366
18367         strtoumax: Move AC_LIBOBJ invocations to module description.
18368         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
18369         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
18370         from here...
18371         * modules/strtoumax (configure.ac): ... to here.
18372
18373 2011-05-22  Bruno Haible  <bruno@clisp.org>
18374
18375         strtoimax: Move AC_LIBOBJ invocations to module description.
18376         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
18377         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
18378         from here...
18379         * modules/strtoimax (configure.ac): ... to here.
18380
18381 2011-05-22  Bruno Haible  <bruno@clisp.org>
18382
18383         strtoull: Move AC_LIBOBJ invocations to module description.
18384         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
18385         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
18386         from here...
18387         * modules/strtoull (configure.ac): ... to here.
18388
18389 2011-05-22  Bruno Haible  <bruno@clisp.org>
18390
18391         strtoll: Move AC_LIBOBJ invocations to module description.
18392         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
18393         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
18394         here...
18395         * modules/strtoll (configure.ac): ... to here.
18396
18397 2011-05-22  Bruno Haible  <bruno@clisp.org>
18398
18399         strtoul: Move AC_LIBOBJ invocations to module description.
18400         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
18401         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
18402         * modules/strtoul (configure.ac): ... to here.
18403
18404 2011-05-22  Bruno Haible  <bruno@clisp.org>
18405
18406         strtol: Move AC_LIBOBJ invocations to module description.
18407         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
18408         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
18409         * modules/strtol (configure.ac): ... to here.
18410
18411 2011-05-22  Bruno Haible  <bruno@clisp.org>
18412
18413         strtod: Move AC_LIBOBJ invocations to module description.
18414         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
18415         invocations from here...
18416         * modules/strtod (configure.ac): ... to here.
18417
18418 2011-05-22  Bruno Haible  <bruno@clisp.org>
18419
18420         strstr*: Move AC_LIBOBJ invocations to module description.
18421         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
18422         invocations from here...
18423         * modules/strstr-simple (configure.ac): ... to here.
18424         * modules/strstr (configure.ac): ... and here.
18425
18426 2011-05-22  Bruno Haible  <bruno@clisp.org>
18427
18428         strsignal: Move AC_LIBOBJ invocations to module description.
18429         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
18430         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
18431         * modules/strsignal (configure.ac): ... to here.
18432         (Depends-on): Update conditions.
18433
18434 2011-05-22  Bruno Haible  <bruno@clisp.org>
18435
18436         strsep: Move AC_LIBOBJ invocations to module description.
18437         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
18438         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
18439         here...
18440         * modules/strsep (configure.ac): ... to here.
18441
18442 2011-05-22  Bruno Haible  <bruno@clisp.org>
18443
18444         strptime: Move AC_LIBOBJ invocations to module description.
18445         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
18446         gl_PREREQ_STRPTIME invocations from here...
18447         * modules/strptime (configure.ac): ... to here.
18448
18449 2011-05-22  Bruno Haible  <bruno@clisp.org>
18450
18451         strpbrk: Move AC_LIBOBJ invocations to module description.
18452         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
18453         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
18454         here...
18455         * modules/strpbrk (configure.ac): ... to here.
18456
18457 2011-05-22  Bruno Haible  <bruno@clisp.org>
18458
18459         strnlen: Move AC_LIBOBJ invocations to module description.
18460         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
18461         invocations from here...
18462         * modules/strnlen (configure.ac): ... to here.
18463
18464 2011-05-22  Bruno Haible  <bruno@clisp.org>
18465
18466         strndup: Move AC_LIBOBJ invocations to module description.
18467         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
18468         invocations from here...
18469         * modules/strndup (configure.ac): ... to here.
18470         (Depends-on): Update conditions.
18471
18472 2011-05-22  Bruno Haible  <bruno@clisp.org>
18473
18474         strncat: Move AC_LIBOBJ invocations to module description.
18475         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
18476         invocations from here...
18477         * modules/strncat (configure.ac): ... to here.
18478
18479 2011-05-22  Bruno Haible  <bruno@clisp.org>
18480
18481         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
18482         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
18483         invocations from here...
18484         * modules/strdup (configure.ac): ... to here.
18485         * modules/strdup-posix (configure.ac): ... and here.
18486
18487 2011-05-22  Bruno Haible  <bruno@clisp.org>
18488
18489         strcspn: Move AC_LIBOBJ invocations to module description.
18490         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
18491         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
18492         here...
18493         * modules/strcspn (configure.ac): ... to here.
18494
18495 2011-05-22  Bruno Haible  <bruno@clisp.org>
18496
18497         strchrnul: Move AC_LIBOBJ invocations to module description.
18498         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
18499         gl_PREREQ_STRCHRNUL invocations from here...
18500         * modules/strchrnul (configure.ac): ... to here.
18501
18502 2011-05-22  Bruno Haible  <bruno@clisp.org>
18503
18504         strcasestr*: Move AC_LIBOBJ invocations to module description.
18505         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
18506         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
18507         * modules/strcasestr-simple (configure.ac): ... to here.
18508         * modules/strcasestr (configure.ac): ... and here.
18509
18510 2011-05-22  Bruno Haible  <bruno@clisp.org>
18511
18512         strcase: Move AC_LIBOBJ invocations to module description.
18513         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
18514         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
18515         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
18516         gl_PREREQ_STRNCASECMP invocations from here...
18517         * modules/strcase (configure.ac): ... to here.
18518
18519 2011-05-22  Bruno Haible  <bruno@clisp.org>
18520
18521         stpncpy: Move AC_LIBOBJ invocations to module description.
18522         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
18523         here...
18524         * modules/stpncpy (configure.ac): ... to here.
18525
18526 2011-05-22  Bruno Haible  <bruno@clisp.org>
18527
18528         stpcpy: Move AC_LIBOBJ invocations to module description.
18529         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
18530         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
18531         here...
18532         * modules/stpcpy (configure.ac): ... to here.
18533
18534 2011-05-21  Bruno Haible  <bruno@clisp.org>
18535
18536         stat: Move AC_LIBOBJ invocations to module description.
18537         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
18538         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
18539         here...
18540         * modules/stat (configure.ac): ... to here.
18541
18542 2011-05-21  Bruno Haible  <bruno@clisp.org>
18543
18544         sleep: Move AC_LIBOBJ invocations to module description.
18545         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
18546         * modules/sleep (configure.ac): ... to here.
18547
18548 2011-05-21  Bruno Haible  <bruno@clisp.org>
18549
18550         signbit: Move AC_LIBOBJ invocations to module description.
18551         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
18552         * modules/signbit (configure.ac): ... to here.
18553
18554 2011-05-21  Bruno Haible  <bruno@clisp.org>
18555
18556         sigprocmask: Move AC_LIBOBJ invocations to module description.
18557         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
18558         gl_PREREQ_SIGPROMASK invocations from here...
18559         * modules/sigprocmask (configure.ac): ... to here.
18560
18561 2011-05-21  Bruno Haible  <bruno@clisp.org>
18562
18563         sigaction: Move AC_LIBOBJ invocations to module description.
18564         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
18565         gl_PREREQ_SIGACTION invocations from here...
18566         * modules/sigaction (configure.ac): ... to here.
18567
18568 2011-05-21  Bruno Haible  <bruno@clisp.org>
18569
18570         sig2str: Move AC_LIBOBJ invocations to module description.
18571         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
18572         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
18573         here...
18574         * modules/sig2str (configure.ac): ... to here.
18575
18576 2011-05-21  Bruno Haible  <bruno@clisp.org>
18577
18578         setlocale: Move AC_LIBOBJ invocations to module description.
18579         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
18580         gl_PREREQ_SETLOCALE invocations from here...
18581         * modules/setlocale (configure.ac): ... to here.
18582
18583 2011-05-21  Bruno Haible  <bruno@clisp.org>
18584
18585         unsetenv: Move AC_LIBOBJ invocations to module description.
18586         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
18587         and gl_PREREQ_UNSETENV invocations from here...
18588         * modules/unsetenv (configure.ac): ... to here.
18589         (Depends-on): Update.
18590
18591 2011-05-21  Bruno Haible  <bruno@clisp.org>
18592
18593         setenv: Move AC_LIBOBJ invocations to module description.
18594         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
18595         here...
18596         * modules/setenv (configure.ac): ... to here.
18597
18598 2011-05-21  Bruno Haible  <bruno@clisp.org>
18599
18600         selinux-h: Move AC_LIBOBJ invocations to module description.
18601         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
18602         AC_LIBOBJ invocation from here...
18603         * modules/selinux-h (configure.ac): ... to here.
18604
18605 2011-05-21  Bruno Haible  <bruno@clisp.org>
18606
18607         select: Respect rules for use of AC_LIBOBJ.
18608         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
18609         here...
18610         * modules/select (configure.ac): ... to here.
18611
18612 2011-05-21  Bruno Haible  <bruno@clisp.org>
18613
18614         scandir: Move AC_LIBOBJ invocations to module description.
18615         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
18616         invocations from here...
18617         * modules/scandir (configure.ac): ... to here.
18618
18619 2011-05-21  Bruno Haible  <bruno@clisp.org>
18620
18621         rpmatch: Move AC_LIBOBJ invocations to module description.
18622         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
18623         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
18624         here...
18625         * modules/rpmatch (configure.ac): ... to here.
18626
18627 2011-05-21  Bruno Haible  <bruno@clisp.org>
18628
18629         rmdir: Respect rules for use of AC_LIBOBJ.
18630         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
18631         * modules/rmdir (configure.ac): ... to here.
18632
18633 2011-05-21  Bruno Haible  <bruno@clisp.org>
18634
18635         renameat: Move AC_LIBOBJ invocations to module description.
18636         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
18637         here...
18638         * modules/renameat (configure.ac): ... to here.
18639
18640 2011-05-21  Bruno Haible  <bruno@clisp.org>
18641
18642         rename: Respect rules for use of AC_LIBOBJ.
18643         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
18644         here...
18645         * modules/rename (configure.ac): ... to here.
18646
18647 2011-05-21  Bruno Haible  <bruno@clisp.org>
18648
18649         remove: Move AC_LIBOBJ invocations to module description.
18650         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
18651         here...
18652         * modules/remove (configure.ac): ... to here.
18653
18654 2011-05-21  Bruno Haible  <bruno@clisp.org>
18655
18656         relocatable-lib: Move AC_LIBOBJ invocations to module description.
18657         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
18658         macro.
18659         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
18660         * modules/relocatable-lib (configure.ac): ... to here.
18661         * modules/relocatable-prog-wrapper (configure.ac): Invoke
18662         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
18663
18664 2011-05-21  Bruno Haible  <bruno@clisp.org>
18665
18666         relocatable-prog: Move AC_LIBOBJ invocations to module description.
18667         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
18668         here...
18669         * modules/relocatable-prog (configure.ac): ... to here.
18670
18671 2011-05-21  Bruno Haible  <bruno@clisp.org>
18672
18673         regex: Move AC_LIBOBJ invocations to module description.
18674         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
18675         invocations from here...
18676         * modules/regex (configure.ac): ... to here.
18677
18678 2011-05-21  Bruno Haible  <bruno@clisp.org>
18679
18680         realloc-*: Move AC_LIBOBJ invocations to module description.
18681         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
18682         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
18683         AC_LIBOBJ invocations from here...
18684         * modules/realloc-gnu (configure.ac): ... to here.
18685         * modules/realloc-posix (configure.ac): ... and here.
18686
18687 2011-05-21  Bruno Haible  <bruno@clisp.org>
18688
18689         readutmp: Move AC_LIBOBJ invocations to module description.
18690         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
18691         * modules/readutmp (configure.ac): ... to here.
18692
18693 2011-05-21  Bruno Haible  <bruno@clisp.org>
18694
18695         readlinkat: Move AC_LIBOBJ invocations to module description.
18696         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
18697         here...
18698         * modules/readlinkat (configure.ac): ... to here.
18699
18700 2011-05-21  Bruno Haible  <bruno@clisp.org>
18701
18702         readlink: Move AC_LIBOBJ invocations to module description.
18703         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
18704         gl_PREREQ_READLINK invocations from here...
18705         * modules/readlink (configure.ac): ... to here.
18706
18707 2011-05-21  Bruno Haible  <bruno@clisp.org>
18708
18709         readline: Move AC_LIBOBJ invocations to module description.
18710         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
18711         gl_PREREQ_READLINE invocations from here...
18712         * modules/readline (configure.ac): ... to here.
18713
18714 2011-05-21  Bruno Haible  <bruno@clisp.org>
18715
18716         read: Move AC_LIBOBJ invocations to module description.
18717         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
18718         * modules/read (configure.ac): ... to here.
18719
18720 2011-05-21  Bruno Haible  <bruno@clisp.org>
18721
18722         rawmemchr: Move AC_LIBOBJ invocations to module description.
18723         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
18724         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
18725         from here...
18726         * modules/rawmemchr (configure.ac): ... to here.
18727
18728 2011-05-21  Bruno Haible  <bruno@clisp.org>
18729
18730         random_r: Move AC_LIBOBJ invocations to module description.
18731         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
18732         gl_PREREQ_RANDOM_R invocations from here...
18733         * modules/random_r (configure.ac): ... to here.
18734
18735 2011-05-21  Bruno Haible  <bruno@clisp.org>
18736
18737         pwrite: Move AC_LIBOBJ invocations to module description.
18738         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
18739         * modules/pwrite (configure.ac): ... to here.
18740
18741 2011-05-21  Bruno Haible  <bruno@clisp.org>
18742
18743         putenv: Move AC_LIBOBJ invocations to module description.
18744         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
18745         * modules/putenv (configure.ac): ... to here.
18746
18747 2011-05-21  Bruno Haible  <bruno@clisp.org>
18748
18749         login_tty: Move AC_LIBOBJ invocations to module description.
18750         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
18751         * modules/login_tty (configure.ac): ... to here.
18752
18753 2011-05-21  Bruno Haible  <bruno@clisp.org>
18754
18755         openpty: Move AC_LIBOBJ invocations to module description.
18756         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
18757         * modules/openpty (configure.ac): ... to here.
18758
18759 2011-05-21  Bruno Haible  <bruno@clisp.org>
18760
18761         forkpty: Move AC_LIBOBJ invocations to module description.
18762         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
18763         * modules/forkpty (configure.ac): ... to here.
18764
18765 2011-05-21  Bruno Haible  <bruno@clisp.org>
18766
18767         ptsname: Move AC_LIBOBJ invocations to module description.
18768         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
18769         invocations from here...
18770         * modules/ptsname (configure.ac): ... to here.
18771
18772 2011-05-21  Bruno Haible  <bruno@clisp.org>
18773
18774         pread: Move AC_LIBOBJ invocations to module description.
18775         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
18776         * modules/pread (configure.ac): ... to here.
18777
18778 2011-05-21  Bruno Haible  <bruno@clisp.org>
18779
18780         posix_spawn*: Move AC_LIBOBJ invocations to module description.
18781         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
18782         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
18783         * modules/posix_spawn (configure.ac): ... to here.
18784         * modules/posix_spawnp (configure.ac): ... and here.
18785
18786 2011-05-21  Bruno Haible  <bruno@clisp.org>
18787
18788         popen: Move AC_LIBOBJ invocations to module description.
18789         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
18790         invocations from here...
18791         * modules/popen (configure.ac): ... to here.
18792
18793 2011-05-21  Bruno Haible  <bruno@clisp.org>
18794
18795         poll: Move AC_LIBOBJ invocations to module description.
18796         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
18797         invocations from here...
18798         * modules/poll (configure.ac): ... to here.
18799
18800 2011-05-21  Bruno Haible  <bruno@clisp.org>
18801
18802         pipe-posix: Move AC_LIBOBJ invocations to module description.
18803         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
18804         * modules/pipe-posix (configure.ac): ... to here.
18805
18806 2011-05-21  Bruno Haible  <bruno@clisp.org>
18807
18808         openat: Respect rules for use of AC_LIBOBJ.
18809         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
18810         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18811         * modules/openat (configure.ac): ... to here.
18812
18813 2011-05-21  Bruno Haible  <bruno@clisp.org>
18814
18815         obstack-printf*: Move AC_LIBOBJ invocations to module description.
18816         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
18817         invocation from here...
18818         * modules/obstack-printf (configure.ac): ... to here.
18819         * modules/obstack-printf-posix (configure.ac): ... and here.
18820
18821 2011-05-21  Bruno Haible  <bruno@clisp.org>
18822
18823         nl_langinfo: Move AC_LIBOBJ invocations to module description.
18824         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
18825         from here...
18826         * modules/nl_langinfo (configure.ac): ... to here.
18827
18828 2011-05-21  Bruno Haible  <bruno@clisp.org>
18829
18830         nanosleep: Move AC_LIBOBJ invocations to module description.
18831         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
18832         gl_PREREQ_NANOSLEEP invocations from here...
18833         * modules/nanosleep (configure.ac): ... to here.
18834
18835 2011-05-21  Bruno Haible  <bruno@clisp.org>
18836
18837         mountlist: Move AC_LIBOBJ invocations to module description.
18838         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
18839         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
18840         * modules/mountlist (configure.ac): ... to here.
18841
18842 2011-05-21  Bruno Haible  <bruno@clisp.org>
18843
18844         mktime: Respect rules for use of AC_LIBOBJ.
18845         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
18846         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
18847         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
18848         (gl_FUNC_MKTIME_INTERNAL): ... and here...
18849         * modules/mktime (configure.ac): ... to here.
18850         * modules/mktime-internal (configure.ac): ... and here.
18851         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
18852
18853 2011-05-21  Bruno Haible  <bruno@clisp.org>
18854
18855         mkstemps: Move AC_LIBOBJ invocations to module description.
18856         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
18857         here...
18858         * modules/mkstemps (configure.ac): ... to here.
18859
18860 2011-05-21  Bruno Haible  <bruno@clisp.org>
18861
18862         mkstemp: Move AC_LIBOBJ invocations to module description.
18863         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
18864         gl_PREREQ_MKSTEMP invocations from here...
18865         * modules/mkstemp (configure.ac): ... to here.
18866
18867 2011-05-21  Bruno Haible  <bruno@clisp.org>
18868
18869         mkostemps: Move AC_LIBOBJ invocations to module description.
18870         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
18871         here...
18872         * modules/mkostemps (configure.ac): ... to here.
18873
18874 2011-05-21  Bruno Haible  <bruno@clisp.org>
18875
18876         mkostemp: Move AC_LIBOBJ invocations to module description.
18877         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
18878         gl_PREREQ_MKOSTEMP invocations from here...
18879         * modules/mkostemp (configure.ac): ... to here.
18880
18881 2011-05-21  Bruno Haible  <bruno@clisp.org>
18882
18883         mknod: Move AC_LIBOBJ invocations to module description.
18884         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
18885         * modules/mknod (configure.ac): ... to here.
18886
18887 2011-05-21  Bruno Haible  <bruno@clisp.org>
18888
18889         mkfifoat: Move AC_LIBOBJ invocations to module description.
18890         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
18891         here...
18892         * modules/mkfifoat (configure.ac): ... to here.
18893
18894 2011-05-21  Bruno Haible  <bruno@clisp.org>
18895
18896         mkfifo: Respect rules for use of AC_LIBOBJ.
18897         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
18898         here...
18899         * modules/mkfifo (configure.ac): ... to here.
18900
18901 2011-05-21  Bruno Haible  <bruno@clisp.org>
18902
18903         mkdtemp: Move AC_LIBOBJ invocations to module description.
18904         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
18905         invocations from here...
18906         * modules/mkdtemp (configure.ac): ... to here.
18907
18908 2011-05-21  Bruno Haible  <bruno@clisp.org>
18909
18910         mkdir: Move AC_LIBOBJ invocations to module description.
18911         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
18912         * modules/mkdir (configure.ac): ... to here.
18913
18914 2011-05-21  Bruno Haible  <bruno@clisp.org>
18915
18916         memset: Move AC_LIBOBJ invocations to module description.
18917         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
18918         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
18919         here...
18920         * modules/memset (configure.ac): ... to here.
18921
18922 2011-05-21  Bruno Haible  <bruno@clisp.org>
18923
18924         memrchr: Move AC_LIBOBJ invocations to module description.
18925         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
18926         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
18927         here...
18928         * modules/memrchr (configure.ac): ... to here.
18929
18930 2011-05-21  Bruno Haible  <bruno@clisp.org>
18931
18932         mempcpy: Move AC_LIBOBJ invocations to module description.
18933         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
18934         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
18935         here...
18936         * modules/mempcpy (configure.ac): ... to here.
18937
18938 2011-05-21  Bruno Haible  <bruno@clisp.org>
18939
18940         memmove: Move AC_LIBOBJ invocations to module description.
18941         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
18942         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
18943         here...
18944         * modules/memmove (configure.ac): ... to here.
18945
18946 2011-05-21  Bruno Haible  <bruno@clisp.org>
18947
18948         memmem*: Move AC_LIBOBJ invocations to module description.
18949         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
18950         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
18951         here...
18952         (gl_FUNC_MEMMEM): ... and here...
18953         * modules/memmem-simple (configure.ac): ... to here.
18954         * modules/memmem (configure.ac): ... and here.
18955
18956 2011-05-21  Bruno Haible  <bruno@clisp.org>
18957
18958         memcpy: Move AC_LIBOBJ invocations to module description.
18959         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
18960         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
18961         here...
18962         * modules/memcpy (configure.ac): ... to here.
18963
18964 2011-05-21  Bruno Haible  <bruno@clisp.org>
18965
18966         memcmp: Simplify autoconf macro.
18967         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
18968         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
18969         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
18970
18971 2011-05-21  Bruno Haible  <bruno@clisp.org>
18972
18973         memcmp: Move AC_LIBOBJ invocations to module description.
18974         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
18975         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
18976         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
18977         * modules/memcmp (configure.ac): ... to here.
18978         (Depends-on): Update conditions.
18979
18980 2011-05-21  Bruno Haible  <bruno@clisp.org>
18981
18982         memchr: Respect rules for use of AC_LIBOBJ.
18983         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
18984         invocations from here...
18985         * modules/memchr (configure.ac): ... to here.
18986
18987 2011-05-21  Bruno Haible  <bruno@clisp.org>
18988
18989         mbtowc: Move AC_LIBOBJ invocations to module description.
18990         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
18991         invocations from here...
18992         * modules/mbtowc (configure.ac): ... to here.
18993
18994 2011-05-21  Bruno Haible  <bruno@clisp.org>
18995
18996         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
18997         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
18998         gl_PREREQ_MBSRTOWCS invocations from here...
18999         * modules/mbsrtowcs (configure.ac): ... to here.
19000
19001 2011-05-21  Bruno Haible  <bruno@clisp.org>
19002
19003         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
19004         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
19005         gl_PREREQ_MBSNRTOWCS invocations from here...
19006         * modules/mbsnrtowcs (configure.ac): ... to here.
19007
19008 2011-05-21  Bruno Haible  <bruno@clisp.org>
19009
19010         mbsinit: Move AC_LIBOBJ invocations to module description.
19011         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
19012         invocations from here...
19013         * modules/mbsinit (configure.ac): ... to here.
19014
19015 2011-05-21  Bruno Haible  <bruno@clisp.org>
19016
19017         mbrlen: Move AC_LIBOBJ invocations to module description.
19018         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
19019         invocations from here...
19020         * modules/mbrlen (configure.ac): ... to here.
19021
19022 2011-05-21  Bruno Haible  <bruno@clisp.org>
19023
19024         mbrtowc: Respect rules for use of AC_LIBOBJ.
19025         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
19026         invocations from here...
19027         * modules/mbrtowc (configure.ac): ... to here.
19028
19029 2011-05-21  Bruno Haible  <bruno@clisp.org>
19030
19031         malloc-*: Move AC_LIBOBJ invocations to module description.
19032         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
19033         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
19034         AC_LIBOBJ invocations from here...
19035         * modules/malloc-gnu (configure.ac): ... to here.
19036         * modules/malloc-posix (configure.ac): ... and here.
19037
19038 2011-05-21  Bruno Haible  <bruno@clisp.org>
19039
19040         lstat, openat: Respect rules for use of AC_LIBOBJ.
19041         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
19042         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
19043         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
19044         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
19045         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
19046         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
19047         here.
19048         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
19049
19050 2011-05-21  Bruno Haible  <bruno@clisp.org>
19051
19052         lseek: Move AC_LIBOBJ invocations to module description.
19053         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
19054         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
19055         * modules/lseek (configure.ac): ... to here.
19056
19057 2011-05-21  Bruno Haible  <bruno@clisp.org>
19058
19059         linkat: Move AC_LIBOBJ invocations to module description.
19060         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
19061         here...
19062         * modules/linkat (configure.ac): ... to here.
19063
19064 2011-05-21  Bruno Haible  <bruno@clisp.org>
19065
19066         link: Respect rules for use of AC_LIBOBJ.
19067         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
19068         * modules/link (configure.ac): ... to here.
19069
19070 2011-05-21  Bruno Haible  <bruno@clisp.org>
19071
19072         lchown: Move AC_LIBOBJ invocations to module description.
19073         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
19074         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
19075         * modules/lchown (configure.ac): ... to here.
19076
19077 2011-05-21  Bruno Haible  <bruno@clisp.org>
19078
19079         iswctype: Move AC_LIBOBJ invocations to module description.
19080         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
19081         here...
19082         * modules/iswctype (configure.ac): ... to here.
19083
19084 2011-05-21  Bruno Haible  <bruno@clisp.org>
19085
19086         iswblank: Move AC_LIBOBJ invocations to module description.
19087         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
19088         here...
19089         * modules/iswblank (configure.ac): ... to here.
19090
19091 2011-05-21  Bruno Haible  <bruno@clisp.org>
19092
19093         atanl: Move AC_LIBOBJ invocations to module description.
19094         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
19095         * modules/atanl (configure.ac): ... to here.
19096
19097 2011-05-21  Bruno Haible  <bruno@clisp.org>
19098
19099         acosl: Move AC_LIBOBJ invocations to module description.
19100         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
19101         * modules/acosl (configure.ac): ... to here.
19102
19103 2011-05-21  Bruno Haible  <bruno@clisp.org>
19104
19105         asinl: Respect rules for use of AC_LIBOBJ.
19106         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
19107         * modules/asinl (configure.ac): ... to here.
19108
19109 2011-05-21  Bruno Haible  <bruno@clisp.org>
19110
19111         tanl: Move AC_LIBOBJ invocations to module description.
19112         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
19113         * modules/tanl (configure.ac): ... to here.
19114
19115 2011-05-21  Bruno Haible  <bruno@clisp.org>
19116
19117         cosl: Move AC_LIBOBJ invocations to module description.
19118         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
19119         * modules/cosl (configure.ac): ... to here.
19120
19121 2011-05-21  Bruno Haible  <bruno@clisp.org>
19122
19123         sinl: Move AC_LIBOBJ invocations to module description.
19124         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
19125         * modules/sinl (configure.ac): ... to here.
19126
19127 2011-05-21  Bruno Haible  <bruno@clisp.org>
19128
19129         logl: Move AC_LIBOBJ invocations to module description.
19130         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
19131         * modules/logl (configure.ac): ... to here.
19132
19133 2011-05-21  Bruno Haible  <bruno@clisp.org>
19134
19135         expl: Move AC_LIBOBJ invocations to module description.
19136         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
19137         * modules/expl (configure.ac): ... to here.
19138
19139 2011-05-21  Bruno Haible  <bruno@clisp.org>
19140
19141         roundl: Move AC_LIBOBJ invocations to module description.
19142         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
19143         * modules/roundl (configure.ac): ... to here.
19144
19145 2011-05-21  Bruno Haible  <bruno@clisp.org>
19146
19147         round: Move AC_LIBOBJ invocations to module description.
19148         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
19149         * modules/round (configure.ac): ... to here.
19150
19151 2011-05-21  Bruno Haible  <bruno@clisp.org>
19152
19153         roundf: Move AC_LIBOBJ invocations to module description.
19154         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
19155         * modules/roundf (configure.ac): ... to here.
19156
19157 2011-05-21  Bruno Haible  <bruno@clisp.org>
19158
19159         truncl: Move AC_LIBOBJ invocations to module description.
19160         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
19161         * modules/truncl (configure.ac): ... to here.
19162
19163 2011-05-21  Bruno Haible  <bruno@clisp.org>
19164
19165         trunc: Move AC_LIBOBJ invocations to module description.
19166         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
19167         * modules/trunc (configure.ac): ... to here.
19168
19169 2011-05-21  Bruno Haible  <bruno@clisp.org>
19170
19171         truncf: Move AC_LIBOBJ invocations to module description.
19172         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
19173         * modules/truncf (configure.ac): ... to here.
19174
19175 2011-05-21  Bruno Haible  <bruno@clisp.org>
19176
19177         ceill: Move AC_LIBOBJ invocations to module description.
19178         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
19179         * modules/ceill (configure.ac): ... to here.
19180
19181 2011-05-21  Bruno Haible  <bruno@clisp.org>
19182
19183         ceil: Move AC_LIBOBJ invocations to module description.
19184         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
19185         * modules/ceil (configure.ac): ... to here.
19186
19187 2011-05-21  Bruno Haible  <bruno@clisp.org>
19188
19189         ceilf: Move AC_LIBOBJ invocations to module description.
19190         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
19191         * modules/ceilf (configure.ac): ... to here.
19192
19193 2011-05-21  Bruno Haible  <bruno@clisp.org>
19194
19195         floorl: Respect rules for use of AC_LIBOBJ.
19196         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
19197         * modules/floorl (configure.ac): ... to here.
19198
19199 2011-05-21  Bruno Haible  <bruno@clisp.org>
19200
19201         floor: Respect rules for use of AC_LIBOBJ.
19202         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
19203         * modules/floor (configure.ac): ... to here.
19204
19205 2011-05-21  Bruno Haible  <bruno@clisp.org>
19206
19207         floorf: Move AC_LIBOBJ invocations to module description.
19208         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
19209         * modules/floorf (configure.ac): ... to here.
19210
19211 2011-05-20  Bruno Haible  <bruno@clisp.org>
19212
19213         sqrtl: Respect rules for use of AC_LIBOBJ.
19214         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
19215         * modules/sqrtl (configure.ac): ... to here.
19216
19217 2011-05-20  Bruno Haible  <bruno@clisp.org>
19218
19219         ldexpl: Respect rules for use of AC_LIBOBJ.
19220         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
19221         * modules/ldexpl (configure.ac): ... to here.
19222
19223 2011-05-20  Bruno Haible  <bruno@clisp.org>
19224
19225         frexpl*: Respect rules for use of AC_LIBOBJ.
19226         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
19227         invocation from here...
19228         * modules/frexpl (configure.ac): ... to here.
19229         * modules/frexpl-nolibm (configure.ac): ... and here.
19230
19231 2011-05-20  Bruno Haible  <bruno@clisp.org>
19232
19233         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
19234         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
19235         invocation from here...
19236         * modules/frexp (configure.ac): ... to here.
19237         * modules/frexp-nolibm (configure.ac): ... and here.
19238
19239 2011-05-20  Bruno Haible  <bruno@clisp.org>
19240
19241         isnan: Respect rules for use of AC_LIBOBJ.
19242         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
19243         invocations here.
19244         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
19245         REPLACE_ISNAN.
19246         * modules/isnand (configure.ac): Likewise.
19247         * modules/isnanl (configure.ac): Likewise.
19248
19249 2011-05-20  Bruno Haible  <bruno@clisp.org>
19250
19251         isnanl*: Respect rules for use of AC_LIBOBJ.
19252         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
19253         invocation from here...
19254         * modules/isnanl (configure.ac): ... to here.
19255         * modules/isnanl-nolibm (configure.ac): ... and here.
19256
19257 2011-05-20  Bruno Haible  <bruno@clisp.org>
19258
19259         isnand*: Move AC_LIBOBJ invocations to module description.
19260         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
19261         invocation from here...
19262         * modules/isnand (configure.ac): ... to here.
19263         * modules/isnand-nolibm (configure.ac): ... and here.
19264
19265 2011-05-20  Bruno Haible  <bruno@clisp.org>
19266
19267         isnanf*: Move AC_LIBOBJ invocations to module description.
19268         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
19269         invocation from here...
19270         * modules/isnanf (configure.ac): ... to here.
19271         * modules/isnanf-nolibm (configure.ac): ... and here.
19272
19273 2011-05-20  Bruno Haible  <bruno@clisp.org>
19274
19275         isnan*: Separate the AC_LIBOBJ invocations.
19276         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
19277         AC_LIBOBJ invocation.
19278         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
19279         here.
19280         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
19281         AC_LIBOBJ invocation.
19282         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
19283         here.
19284         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
19285         AC_LIBOBJ invocation.
19286         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
19287         here.
19288         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
19289
19290 2011-05-08  Bruno Haible  <bruno@clisp.org>
19291
19292         isinf: Move AC_LIBOBJ invocations to module description.
19293         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
19294         * modules/isinf (configure.ac): ... to here.
19295
19296 2011-05-08  Bruno Haible  <bruno@clisp.org>
19297
19298         isfinite: Move AC_LIBOBJ invocations to module description.
19299         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
19300         * modules/isfinite (configure.ac): ... to here.
19301
19302 2011-05-08  Bruno Haible  <bruno@clisp.org>
19303
19304         isblank: Move AC_LIBOBJ invocations to module description.
19305         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
19306         here...
19307         * modules/isblank (configure.ac): ... to here.
19308
19309 2011-05-08  Bruno Haible  <bruno@clisp.org>
19310
19311         isapipe: Move AC_LIBOBJ invocations to module description.
19312         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
19313         gl_PREREQ_ISAPIPE invocations from here...
19314         * modules/isapipe (configure.ac): ... to here.
19315         (Depends-on): Update condition.
19316
19317 2011-05-08  Bruno Haible  <bruno@clisp.org>
19318
19319         ioctl: Move AC_LIBOBJ invocations to module description.
19320         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
19321         invocations from here...
19322         * modules/ioctl (configure.ac): ... to here.
19323         (Depends-on): Update condition.
19324
19325 2011-05-08  Bruno Haible  <bruno@clisp.org>
19326
19327         imaxdiv: Move AC_LIBOBJ invocations to module description.
19328         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
19329         invocations from here...
19330         * modules/imaxdiv (configure.ac): ... to here.
19331
19332 2011-05-08  Bruno Haible  <bruno@clisp.org>
19333
19334         imaxabs: Move AC_LIBOBJ invocations to module description.
19335         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
19336         invocations from here...
19337         * modules/imaxabs (configure.ac): ... to here.
19338
19339 2011-05-08  Bruno Haible  <bruno@clisp.org>
19340
19341         getaddrinfo: Move AC_LIBOBJ invocations to module description.
19342         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
19343         AC_LIBOBJ invocations from here...
19344         * modules/getaddrinfo (configure.ac): ... to here.
19345         (Depends-on): Add conditions.
19346
19347 2011-05-08  Bruno Haible  <bruno@clisp.org>
19348
19349         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
19350         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
19351         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
19352         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
19353         (gl_PREREQ_INET_PTON): ... from here.
19354         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
19355         gl_PREREQ_INET_PTON here.
19356         (Depends-on): Update condition.
19357
19358 2011-05-08  Bruno Haible  <bruno@clisp.org>
19359
19360         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
19361         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
19362         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
19363         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
19364         (gl_PREREQ_INET_NTOP): ... from here.
19365         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
19366         gl_PREREQ_INET_NTOP here.
19367         (Depends-on): Update condition.
19368
19369 2011-05-08  Bruno Haible  <bruno@clisp.org>
19370
19371         iconv_open: Move AC_LIBOBJ invocations to module description.
19372         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
19373         AC_LIBOBJ invocations from here...
19374         * modules/iconv_open (configure.ac): ... to here.
19375
19376 2011-05-08  Bruno Haible  <bruno@clisp.org>
19377
19378         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
19379         If module 'iconv_open' is among the main modules and module
19380         'iconv_open-utf' is among the tests dependencies, then
19381         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
19382         return the special iconv_t values. Therefore iconv() and iconv_close()
19383         must support these special iconv_t values, already in lib, not only in
19384         tests.
19385         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
19386         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
19387         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
19388         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
19389         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
19390         (Depends-on): Add the dependencies of iconv_open-utf.
19391         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
19392         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
19393         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
19394
19395 2011-05-08  Bruno Haible  <bruno@clisp.org>
19396
19397         group-member: Move AC_LIBOBJ invocations to module description.
19398         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
19399         gl_PREREQ_GROUP_MEMBER invocations from here...
19400         * modules/group-member (configure.ac): ... to here.
19401
19402 2011-05-08  Bruno Haible  <bruno@clisp.org>
19403
19404         grantpt: Move AC_LIBOBJ invocations to module description.
19405         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
19406         invocations from here...
19407         * modules/grantpt (configure.ac): ... to here.
19408
19409 2011-05-08  Bruno Haible  <bruno@clisp.org>
19410
19411         glob: Move AC_LIBOBJ invocations to module description.
19412         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
19413         from here...
19414         * modules/glob (configure.ac): ... to here.
19415
19416 2011-05-08  Bruno Haible  <bruno@clisp.org>
19417
19418         getusershell: Move AC_LIBOBJ invocations to module description.
19419         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
19420         Move AC_LIBOBJ invocation from here...
19421         * modules/getusershell (configure.ac): ... to here.
19422         (Depends-on): Update condition.
19423
19424 2011-05-08  Bruno Haible  <bruno@clisp.org>
19425
19426         gettimeofday: Move AC_LIBOBJ invocations to module description.
19427         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
19428         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
19429         gl_PREREQ_GETTIMEOFDAY invocations from here...
19430         * modules/gettimeofday (configure.ac): ... to here.
19431
19432 2011-05-08  Bruno Haible  <bruno@clisp.org>
19433
19434         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
19435         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
19436         just gl_FUNC_TZSET.
19437         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
19438         (gl_FUNC_TZSET_CLOBBER): Remove actions.
19439         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
19440         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
19441
19442 2011-05-08  Bruno Haible  <bruno@clisp.org>
19443
19444         getsubopt: Move AC_LIBOBJ invocations to module description.
19445         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
19446         gl_PREREQ_GETSUBOPT invocations from here...
19447         * modules/getsubopt (configure.ac): ... to here.
19448
19449 2011-05-08  Bruno Haible  <bruno@clisp.org>
19450
19451         getpass-gnu: Move AC_LIBOBJ invocations to module description.
19452         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
19453         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
19454         * modules/getpass-gnu (configure.ac): ... to here.
19455
19456 2011-05-08  Bruno Haible  <bruno@clisp.org>
19457
19458         getpass: Move AC_LIBOBJ invocations to module description.
19459         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
19460         gl_PREREQ_GETPASS invocations from here...
19461         * modules/getpass (configure.ac): ... to here.
19462
19463 2011-05-08  Bruno Haible  <bruno@clisp.org>
19464
19465         getpagesize: Move AC_LIBOBJ invocations to module description.
19466         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
19467         from here...
19468         * modules/getpagesize (configure.ac): ... to here.
19469
19470 2011-05-08  Bruno Haible  <bruno@clisp.org>
19471
19472         getopt: Move AC_LIBOBJ invocations to module description.
19473         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
19474         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
19475         invocations from here...
19476         * modules/getopt-gnu (configure.ac): ... to here.
19477         * modules/getopt-posix (configure.ac): ... and here.
19478         (Depends-on): Update condition.
19479
19480 2011-05-08  Bruno Haible  <bruno@clisp.org>
19481
19482         getopt, argp: Respect rules for use of AC_LIBOBJ.
19483         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
19484         (gl_REPLACE_GETOPT_ALWAYS): New macro.
19485         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
19486         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
19487
19488 2011-05-08  Bruno Haible  <bruno@clisp.org>
19489
19490         getlogin_r: Move AC_LIBOBJ invocations to module description.
19491         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
19492         gl_PREREQ_GETLOGIN_R invocations from here...
19493         * modules/getlogin_r (configure.ac): ... to here.
19494
19495 2011-05-08  Bruno Haible  <bruno@clisp.org>
19496
19497         getlogin: Move AC_LIBOBJ invocations to module description.
19498         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
19499         here...
19500         * modules/getlogin (configure.ac): ... to here.
19501
19502 2011-05-08  Bruno Haible  <bruno@clisp.org>
19503
19504         getloadavg: Move AC_LIBOBJ invocations to module description.
19505         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
19506         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
19507         * modules/getloadavg (configure.ac): ... to here.
19508
19509 2011-05-08  Bruno Haible  <bruno@clisp.org>
19510
19511         gethrxtime: Move AC_LIBOBJ invocations to module description.
19512         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
19513         LIB_GETHRXTIME from here...
19514         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
19515         invocations from here...
19516         * modules/gethrxtime (configure.ac): ... to here.
19517
19518 2011-05-08  Bruno Haible  <bruno@clisp.org>
19519
19520         gethostname: Move AC_LIBOBJ invocations to module description.
19521         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
19522         gl_PREREQ_GETHOSTNAME invocations from here...
19523         * modules/gethostname (configure.ac): ... to here.
19524
19525 2011-05-08  Bruno Haible  <bruno@clisp.org>
19526
19527         getgroups: Move AC_LIBOBJ invocations to module description.
19528         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
19529         here...
19530         * modules/getgroups (configure.ac): ... to here.
19531
19532 2011-05-08  Bruno Haible  <bruno@clisp.org>
19533
19534         getdtablesize: Move AC_LIBOBJ invocations to module description.
19535         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
19536         invocation from here...
19537         * modules/getdtablesize (configure.ac): ... to here.
19538
19539 2011-05-08  Bruno Haible  <bruno@clisp.org>
19540
19541         getdomainname: Move AC_LIBOBJ invocations to module description.
19542         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
19543         gl_PREREQ_GETDOMAINNAME invocations from here...
19544         * modules/getdomainname (configure.ac): ... to here.
19545
19546 2011-05-08  Bruno Haible  <bruno@clisp.org>
19547
19548         getline: Move AC_LIBOBJ invocations to module description.
19549         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
19550         invocations from here...
19551         * modules/getline (configure.ac): ... to here.
19552
19553 2011-05-08  Bruno Haible  <bruno@clisp.org>
19554
19555         getline: Simplify.
19556         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
19557         It's already handled through the module dependency.
19558
19559 2011-05-08  Bruno Haible  <bruno@clisp.org>
19560
19561         getdelim: Move AC_LIBOBJ invocations to module description.
19562         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
19563         and gl_PREREQ_GETDELIM invocations from here...
19564         * modules/getdelim (configure.ac): ... to here.
19565         (Depends-on): Fix condition.
19566
19567 2011-05-08  Bruno Haible  <bruno@clisp.org>
19568
19569         getcwd: Move AC_LIBOBJ invocations to module description.
19570         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
19571         invocations from here...
19572         * modules/getcwd (configure.ac): ... to here.
19573
19574 2011-05-08  Bruno Haible  <bruno@clisp.org>
19575
19576         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
19577         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
19578         here...
19579         * modules/getcwd-lgpl (configure.ac): ... to here.
19580
19581 2011-05-07  Bruno Haible  <bruno@clisp.org>
19582
19583         crypto/gc: Move AC_LIBOBJ invocations to module description.
19584         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
19585         * modules/crypto/gc (configure.ac): ... to here.
19586
19587 2011-05-07  Bruno Haible  <bruno@clisp.org>
19588
19589         fwriting: Move AC_LIBOBJ invocations to module description.
19590         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
19591         here...
19592         * modules/fwriting (configure.ac): ... to here.
19593
19594 2011-05-07  Bruno Haible  <bruno@clisp.org>
19595
19596         fwritable: Move AC_LIBOBJ invocations to module description.
19597         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
19598         here...
19599         * modules/fwritable (configure.ac): ... to here.
19600
19601 2011-05-07  Bruno Haible  <bruno@clisp.org>
19602
19603         futimens: Move AC_LIBOBJ invocations to module description.
19604         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
19605         here...
19606         * modules/futimens (configure.ac): ... to here.
19607
19608 2011-05-07  Bruno Haible  <bruno@clisp.org>
19609
19610         ftruncate: Move AC_LIBOBJ invocations to module description.
19611         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
19612         gl_PREREQ_FTRUNCATE invocations from here...
19613         * modules/ftruncate (configure.ac): ... to here.
19614
19615 2011-05-07  Bruno Haible  <bruno@clisp.org>
19616
19617         fsync: Move AC_LIBOBJ invocations to module description.
19618         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
19619         invocations from here...
19620         * modules/fsync (configure.ac): ... to here.
19621
19622 2011-05-07  Bruno Haible  <bruno@clisp.org>
19623
19624         fsusage: Move AC_LIBOBJ invocations to module description.
19625         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
19626         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
19627         * modules/fsusage (configure.ac): ... to here.
19628
19629 2011-05-07  Bruno Haible  <bruno@clisp.org>
19630
19631         freopen: Move AC_LIBOBJ invocations to module description.
19632         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
19633         invocations from here...
19634         * modules/freopen (configure.ac): ... to here.
19635
19636 2011-05-07  Bruno Haible  <bruno@clisp.org>
19637
19638         free: Move AC_LIBOBJ invocations to module description.
19639         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
19640         invocations from here...
19641         * modules/free (configure.ac): ... to here.
19642
19643 2011-05-07  Bruno Haible  <bruno@clisp.org>
19644
19645         freadable: Move AC_LIBOBJ invocations to module description.
19646         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
19647         here...
19648         * modules/freadable (configure.ac): ... to here.
19649
19650 2011-05-07  Bruno Haible  <bruno@clisp.org>
19651
19652         fpurge: Move AC_LIBOBJ invocations to module description.
19653         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
19654         invocations from here...
19655         * modules/fpurge (configure.ac): ... to here.
19656
19657 2011-05-07  Bruno Haible  <bruno@clisp.org>
19658
19659         fpending: Move AC_LIBOBJ invocations to module description.
19660         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
19661         gl_FUNC_FPENDING.
19662         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
19663         invocations from here...
19664         * modules/fpending (configure.ac): ... to here.
19665
19666 2011-05-07  Bruno Haible  <bruno@clisp.org>
19667
19668         fopen: Move AC_LIBOBJ invocations to module description.
19669         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
19670         invocations from here...
19671         * modules/fopen (configure.ac): ... to here.
19672
19673 2011-05-07  Bruno Haible  <bruno@clisp.org>
19674
19675         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
19676         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
19677         gl_FUNC_FNMATCH_POSIX.
19678         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
19679         invocations from here...
19680         * modules/fnmatch (configure.ac): ... to here.
19681         * modules/fnmatch-gnu (configure.ac): ... and here.
19682
19683 2011-05-07  Bruno Haible  <bruno@clisp.org>
19684
19685         flock: Move AC_LIBOBJ invocations to module description.
19686         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
19687         invocations from here...
19688         * modules/flock (configure.ac): ... to here.
19689
19690 2011-05-07  Bruno Haible  <bruno@clisp.org>
19691
19692         fileblocks: Move AC_LIBOBJ invocations to module description.
19693         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
19694         gl_PREREQ_FILEBLOCKS invocations from here...
19695         * modules/fileblocks (configure.ac): ... to here.
19696
19697 2011-05-06  Bruno Haible  <bruno@clisp.org>
19698
19699         fflush: Move AC_LIBOBJ invocations to module description.
19700         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
19701         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
19702         invocations from here...
19703         * modules/fflush (configure.ac): ... to here.
19704
19705 2011-05-06  Bruno Haible  <bruno@clisp.org>
19706
19707         fdopendir: Move AC_LIBOBJ invocations to module description.
19708         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
19709         here...
19710         * modules/fdopendir (configure.ac): ... to here.
19711         (Depends-on): Improve conditions.
19712
19713 2011-05-06  Bruno Haible  <bruno@clisp.org>
19714
19715         _Exit: Move AC_LIBOBJ invocations to module description.
19716         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
19717         invocations from here...
19718         * modules/_Exit (configure.ac): ... to here.
19719
19720 2011-05-21  Bruno Haible  <bruno@clisp.org>
19721
19722         euidaccess: Respect rules for use of AC_LIBOBJ.
19723         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
19724         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
19725         from here...
19726         * modules/euidaccess (configure.ac): ... to here.
19727
19728 2011-05-06  Bruno Haible  <bruno@clisp.org>
19729
19730         error: Move AC_LIBOBJ invocations to module description.
19731         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
19732         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
19733         invocations from here...
19734         * modules/error (configure.ac): ... to here.
19735
19736 2011-05-06  Bruno Haible  <bruno@clisp.org>
19737
19738         duplocale: Move AC_LIBOBJ invocations to module description.
19739         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
19740         gl_PREREQ_DUPLOCALE invocations from here...
19741         * modules/duplocale (configure.ac): ... to here.
19742
19743 2011-05-05  Bruno Haible  <bruno@clisp.org>
19744
19745         dirfd: Move AC_LIBOBJ invocations to module description.
19746         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
19747         gl_FUNC_DIRFD.
19748         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
19749         here...
19750         * modules/dirfd (configure.ac): ... to here.
19751         (Depends-on): Fix condition.
19752
19753 2011-05-05  Bruno Haible  <bruno@clisp.org>
19754
19755         chown: Respect rules for use of AC_LIBOBJ.
19756         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
19757         * modules/chown (configure.ac): ... to here.
19758
19759 2011-05-05  Bruno Haible  <bruno@clisp.org>
19760
19761         chdir-long: Move AC_LIBOBJ invocations to module description.
19762         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
19763         gl_PREREQ_CHDIR_LONG invocations from here...
19764         * modules/chdir-long (configure.ac): ... to here.
19765
19766 2011-05-05  Bruno Haible  <bruno@clisp.org>
19767
19768         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
19769         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
19770         from here...
19771         * modules/canonicalize-lgpl (configure.ac): ... to here.
19772
19773 2011-05-05  Bruno Haible  <bruno@clisp.org>
19774
19775         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
19776         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
19777         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
19778         REPLACE_CALLOC.
19779         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
19780         * modules/calloc-gnu (configure.ac): Likewise.
19781
19782 2011-05-05  Bruno Haible  <bruno@clisp.org>
19783
19784         btowc: Move AC_LIBOBJ invocations to module description.
19785         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
19786         invocations from here...
19787         * modules/btowc (configure.ac): ... to here.
19788
19789 2011-05-21  Bruno Haible  <bruno@clisp.org>
19790
19791         atexit: Move AC_LIBOBJ invocations to module description.
19792         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
19793         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
19794         here...
19795         * modules/atexit (configure.ac): ... to here.
19796
19797 2011-05-05  Bruno Haible  <bruno@clisp.org>
19798
19799         atoll: Move AC_LIBOBJ invocations to module description.
19800         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
19801         invocations from here...
19802         * modules/atoll (configure.ac): ... to here.
19803
19804 2011-05-05  Bruno Haible  <bruno@clisp.org>
19805
19806         argz: Move AC_LIBOBJ invocations to module description.
19807         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
19808         * modules/argz (configure.ac): ... to here.
19809
19810 2011-05-05  Bruno Haible  <bruno@clisp.org>
19811
19812         alphasort: Move AC_LIBOBJ invocations to module description.
19813         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
19814         gl_PREREQ_ALPHASORT invocations from here...
19815         * modules/alphasort (configure.ac): ... to here.
19816
19817 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19818
19819         verify: new macro verify_expr; verify_true deprecated
19820         * NEWS: Mention this.
19821         * doc/verify.texi (Compile-time Assertions): Document this.
19822         * lib/verify.h (verify_true): Deprecate.
19823         (verify_expr): New macro.
19824         * tests/test-verify.c (function): Test verify_expr.
19825
19826 2011-06-14  Jim Meyering  <meyering@redhat.com>
19827
19828         init.sh: give more portable redirection-related advice in a comment
19829         * tests/init.sh (stderr_fileno_): Update the advice in comments.
19830         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
19831         for lots of discussion.  Stefano Lattarini suggested the solution
19832         of putting "9>&2" after the command.  Reported by Bruno Haible.
19833
19834 2011-06-13  Bruno Haible  <bruno@clisp.org>
19835
19836         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
19837         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
19838         'none'.
19839
19840 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
19841
19842         ftoastr: use strtof only if HAVE_STRTOF
19843         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
19844         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
19845         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
19846         * modules/ftoastr (configure.ac): Check for strtof.
19847
19848 2011-06-13  Bruno Haible  <bruno@clisp.org>
19849
19850         gnulib-tool: Addendum to 2011-06-08 commit.
19851         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
19852         and --witness-c-macro have been given, augment AM_CPPFLAGS.
19853
19854 2011-06-13  Bruno Haible  <bruno@clisp.org>
19855
19856         fseeko: Provide a non-inline replacement of fseek().
19857         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
19858         * modules/fseeko (Depends-on): Add fseek.
19859         * modules/fseek (License): Change to LGPLv2+.
19860
19861 2011-06-13  Bruno Haible  <bruno@clisp.org>
19862
19863         ftello: Provide a non-inline replacement of ftell().
19864         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
19865         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
19866         not have ftello() (such as on mingw).
19867         * modules/ftello (Depends-on): Add ftell.
19868         * modules/ftell (License): Change to LGPLv2+.
19869
19870 2011-05-07  Bruno Haible  <bruno@clisp.org>
19871
19872         ftell: Move AC_LIBOBJ invocations to module description.
19873         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
19874         * modules/ftell (configure.ac): ... to here.
19875
19876 2011-05-07  Bruno Haible  <bruno@clisp.org>
19877
19878         ftello: Respect rules for use of AC_LIBOBJ.
19879         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
19880         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
19881         here...
19882         * modules/ftello (configure.ac): ... to here.
19883
19884 2011-05-07  Bruno Haible  <bruno@clisp.org>
19885
19886         fseeko: Simplify.
19887         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
19888         (gl_FUNC_FSEEKO): Inline it here.
19889
19890 2011-05-07  Bruno Haible  <bruno@clisp.org>
19891
19892         fseek: Move AC_LIBOBJ invocations to module description.
19893         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
19894         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
19895         * modules/fseek (configure.ac): ... to here.
19896
19897 2011-05-07  Bruno Haible  <bruno@clisp.org>
19898
19899         fseek: Respect rules for use of AC_LIBOBJ.
19900         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
19901         here...
19902         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
19903
19904 2011-05-07  Bruno Haible  <bruno@clisp.org>
19905
19906         fseeko: Respect rules for use of AC_LIBOBJ.
19907         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
19908         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
19909         here...
19910         * modules/fseeko (configure.ac): ... to here.
19911
19912 2011-06-13  Bruno Haible  <bruno@clisp.org>
19913
19914         gnulib-tool: Allow comments in the 'Depends-on' section.
19915         * doc/gnulib.texi (Module description): Mention comment syntax in the
19916         Depends-on section.
19917         * gnulib-tool (func_get_dependencies): Filter out comment lines.
19918
19919 2011-06-13  Bruno Haible  <bruno@clisp.org>
19920
19921         file-set.h: guard __attibute__ use, now that it's not always defined
19922         * lib/file-set.h (record_file): Use __attribute__ only with compiler
19923         versions that support it.  This fixes a coreutils build failure with
19924         the vendor cc on HP-UX 11.31.
19925
19926 2011-06-12  Bruno Haible  <bruno@clisp.org>
19927
19928         acl: Add support for HP-UX >= 11.11 JFS ACLs.
19929         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
19930         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
19931         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
19932         (acl, aclsort): New declarations.
19933         (aclv_nontrivial): New declaration.
19934         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
19935         (file_has_acl): Read also the second kind of HP-UX ACLs.
19936         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
19937         kind of HP-UX ACLs if the first kind fails.
19938         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
19939         second kind of HP-UX ACLs.
19940         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
19941         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
19942         agree.
19943         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19944         hpuxjfs.
19945         Handle hpuxjfs.
19946         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19947         hpuxjfs.
19948         Handle hpuxjfs.
19949         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19950         (func_test_same_acls): Use both lsacl and getacl.
19951         Handle hpuxjfs.
19952         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19953         (func_test_same_acls): Use both lsacl and getacl.
19954         Handle hpuxjfs.
19955
19956 2011-06-12  Bruno Haible  <bruno@clisp.org>
19957
19958         acl: Complete the 2010-08-10 fix.
19959         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
19960         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
19961         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
19962         explicitly.
19963         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
19964         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
19965
19966 2011-06-12  Bruno Haible  <bruno@clisp.org>
19967
19968         spawn-pipe tests: Comments.
19969         * tests/test-spawn-pipe-child.c (main): Update comment.
19970         Reported by James Youngman <jay@gnu.org>.
19971
19972 2011-06-11  James Youngman  <jay@gnu.org>
19973
19974         New module 'stat-size'.
19975         * modules/stat-size: New module.  Provides macros for accessing
19976         file size information in instances of struct stat.  Depends on the
19977         fileblocks module because it calls st_blocks.
19978         * lib/stat-size.h: New file, adapted from coreutils' system.h.
19979         * doc/gnulib.texi: Include stat-size.texi.
19980         * doc/stat-size.texi: Documentation for this module.
19981         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
19982         * m4/fileblocks.m4: Mention that stat-size depends on the call to
19983         AC_STRUCT_ST_BLOCKS.
19984
19985 2011-06-09  Bruno Haible  <bruno@clisp.org>
19986
19987         thread: Support pthreads-win32.
19988         * lib/glthread/thread.h (gl_thread_self): Define differently on
19989         pthreads-win32.
19990         (gl_null_thread): New declaration.
19991         (gl_thread_self_pointer): New macro.
19992         * lib/glthread/thread.c (gl_null_thread): New constant.
19993         * tests/test-lock.c: Use gl_thread_self_pointer instead of
19994         gl_thread_self.
19995         * tests/test-tls.c: Likewise.
19996         Suggested by Paul Eggert. Reported by Eric Blake.
19997
19998 2011-06-09  Bruno Haible  <bruno@clisp.org>
19999
20000         thread: Fix confusion between NULL and 0.
20001         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
20002         Reported by Paul Eggert.
20003
20004 2011-06-09  Bruno Haible  <bruno@clisp.org>
20005
20006         spawn-pipe tests: Avoid test failure on HP-UX 11.
20007         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
20008         is closed.
20009
20010 2011-06-09  Bruno Haible  <bruno@clisp.org>
20011
20012         acl tests: Fix compilation error on HP-UX 11.
20013         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
20014
20015 2011-06-09  Bruno Haible  <bruno@clisp.org>
20016
20017         rmdir: Avoid test failure on HP-UX 10.20.
20018         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
20019         EEXIST.
20020
20021 2011-06-08  Eric Blake  <eblake@redhat.com>
20022
20023         perror: fix test on mingw
20024         * modules/perror-tests (Depends-on): Add dup2.
20025
20026         strerror_r-posix: fix on MacOS
20027         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
20028         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
20029         logic bug.
20030         * lib/strerror_r.c (strerror_r): Fix the bug.
20031         * lib/strerror.c (strerror): Likewise.
20032         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
20033         problem.
20034         * doc/posix-functions/strerror.texi (strerror): Likewise.
20035         * doc/posix-functions/perror.texi (perror): Likewise.
20036         * tests/test-strerror.c (main): Enhance test.
20037         * tests/test-strerror_r.c (main): Likewise.
20038
20039 2011-06-08  Bruno Haible  <bruno@clisp.org>
20040
20041         gnulib-tool: Better isolation between different gnulib-tool invocations.
20042         * gnulib-tool: New option --witness-c-macro.
20043         (witness_c_macro): New variable.
20044         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
20045         AM_CPPFLAGS define it as a C macro.
20046         (func_emit_tests_Makefile_am): Likewise.
20047         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
20048         read it from there.
20049         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
20050         m4_define, not AC_DEFUN.
20051         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
20052         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
20053         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
20054         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
20055         s|...|...|, to substitute the values of the GNULIB_* module indicator
20056         variables.
20057         * modules/dirent (Makefile.am): Likewise.
20058         * modules/fcntl-h (Makefile.am): Likewise.
20059         * modules/iconv-h (Makefile.am): Likewise.
20060         * modules/langinfo (Makefile.am): Likewise.
20061         * modules/locale (Makefile.am): Likewise.
20062         * modules/math (Makefile.am): Likewise.
20063         * modules/netdb (Makefile.am): Likewise.
20064         * modules/poll-h (Makefile.am): Likewise.
20065         * modules/pty (Makefile.am): Likewise.
20066         * modules/search (Makefile.am): Likewise.
20067         * modules/signal (Makefile.am): Likewise.
20068         * modules/spawn (Makefile.am): Likewise.
20069         * modules/stdio (Makefile.am): Likewise.
20070         * modules/stdlib (Makefile.am): Likewise.
20071         * modules/string (Makefile.am): Likewise.
20072         * modules/sys_ioctl (Makefile.am): Likewise.
20073         * modules/sys_select (Makefile.am): Likewise.
20074         * modules/sys_socket (Makefile.am): Likewise.
20075         * modules/sys_stat (Makefile.am): Likewise.
20076         * modules/sys_times (Makefile.am): Likewise.
20077         * modules/sys_utsname (Makefile.am): Likewise.
20078         * modules/sys_wait (Makefile.am): Likewise.
20079         * modules/termios (Makefile.am): Likewise.
20080         * modules/time (Makefile.am): Likewise.
20081         * modules/unistd (Makefile.am): Likewise.
20082         * modules/wchar (Makefile.am): Likewise.
20083
20084 2011-06-08  Eric Blake  <eblake@redhat.com>
20085
20086         strerror: simplify replacement
20087         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
20088         * modules/strerror (configure.ac): No prereqs needed here...
20089         * modules/strerror-override (configure.ac): ...but this needs it.
20090         (Files): Add file for needed prereq macro.
20091
20092 2011-06-08  Bruno Haible  <bruno@clisp.org>
20093
20094         strerror_r-posix: Tweaks.
20095         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
20096         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
20097         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
20098         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
20099         (gl_FUNC_STRERROR_R): ... to here.
20100         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
20101
20102 2011-06-07  Eric Blake  <eblake@redhat.com>
20103
20104         perror: document fixed bugs
20105         * doc/posix-functions/perror.texi (perror): Document recent
20106         patches.
20107
20108 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
20109
20110         stat-time: get_stat_birthtime failure is better-defined
20111         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
20112         return a timestamp whose tv_sec and tv_nsec values are both -1.
20113         Previously, the spec said only that the tv_nsec value was negative.
20114         This upward-compatible change simplifies GNU tar a bit.
20115
20116 2011-06-07  Eric Blake  <eblake@redhat.com>
20117
20118         strerror_r-posix: work around cygwin 1.7.9
20119         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
20120         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
20121         bug without replacing strerror_r.
20122         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
20123         strerror_r is buggy, but without requiring strerror_r compilation.
20124         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
20125
20126         test-perror: relax test to ignore cygwin bug
20127         * tests/test-perror2.c (main): Relax test on requiring detection
20128         of stream errors, and use unbuffered stream.
20129         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
20130         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
20131         * doc/posix-functions/fputc.texi (fputc): Likewise.
20132         * doc/posix-functions/fputs.texi (fputs): Likewise.
20133         * doc/posix-functions/fputws.texi (fputws): Likewise.
20134         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
20135         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
20136         * doc/posix-functions/getopt.texi (getopt): Likewise.
20137         * doc/posix-functions/perror.texi (perror): Likewise.
20138         * doc/posix-functions/printf.texi (printf): Likewise.
20139         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
20140         * doc/posix-functions/psignal.texi (psignal): Likewise.
20141         * doc/posix-functions/putc.texi (putc): Likewise.
20142         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
20143         Likewise.
20144         * doc/posix-functions/putchar.texi (putchar): Likewise.
20145         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
20146         Likewise.
20147         * doc/posix-functions/puts.texi (puts): Likewise.
20148         * doc/posix-functions/putwc.texi (putwc): Likewise.
20149         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
20150         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
20151         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
20152         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
20153         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
20154         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
20155         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
20156         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
20157
20158 2011-05-22  Bruno Haible  <bruno@clisp.org>
20159
20160         strerror: Move AC_LIBOBJ invocations to module description.
20161         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
20162         gl_PREREQ_STRERROR invocations from here...
20163         * modules/strerror (configure.ac): ... to here.
20164
20165 2011-05-21  Bruno Haible  <bruno@clisp.org>
20166
20167         perror: Use common idiom.
20168         * modules/perror (configure.ac): Reorder statements.
20169
20170 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
20171
20172         tests: fix usage message in 'mktempd_'
20173         * tests/init.sh (mktempd_): In the usage message, use literal
20174         'mktempd_', not '$ME' (which is even undefined), as the name of
20175         the subroutine.
20176
20177 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
20178
20179         tests init: new function 'fatal_', for hard errors
20180         Before this patch, the only way offered by tests/init.sh to
20181         properly signal a hard error was the `framework_failure_'
20182         function.  But the error message issued by that function,
20183         as its name would suggest, refers to a set-up failure in the
20184         testsuite, while hard errors can obviously also be due to
20185         other reasons.  The best way to fix this inconsistency is to
20186         introduce a new function with a more general error message.
20187         * tests/init.sh (fatal_): New function.
20188
20189 2011-06-06  Eric Blake  <eblake@redhat.com>
20190
20191         canonicalize-lgpl: use common idiom
20192         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
20193         over newer POSIX -Rf.
20194         Reported by Bruno Haible.
20195
20196         canonicalize-lgpl: work around AIX realpath bug
20197         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
20198         * doc/posix-functions/realpath.texi (realpath): Document it.
20199         Reported by Bruno Haible.
20200
20201         strerror: work around FreeBSD bug
20202         * lib/strerror.c (strerror): Special case 0.
20203         Reported by Bruno Haible.
20204
20205         strerror-override: avoid bloating errno module
20206         * modules/errno (Files, configure.ac): Move replacement strings...
20207         * modules/strerror-override: ...to new module.
20208         * modules/strerror (Depends-on): Add strerror-override.
20209         * modules/strerror_r-posix (Depends-on): Likewise.
20210         * MODULES.html.sh: Document new module.
20211         Reported by Bruno Haible.
20212
20213 2011-06-06  Bruno Haible  <bruno@clisp.org>
20214
20215         spawn-pipe tests: Rename program.
20216         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
20217         * tests/test-spawn-pipe-child.c: Update comment.
20218         * tests/test-spawn-pipe.sh: Update.
20219         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
20220
20221         spawn-pipe tests: Link the child program only against libc.
20222         * tests/test-spawn-pipe-child.c: New file, extracted from
20223         tests/test-spawn-pipe.c.
20224         (main): Expect only one argument.
20225         (is_open): New function, copied from tests/test-pipe.c.
20226         * tests/test-spawn-pipe.c: Don't include <errno.h>.
20227         (child_main): Remove function.
20228         (test_pipe): Pass only one argument to the child program.
20229         (main): Remove child process code. Expect the child program's name as
20230         first argument.
20231         * tests/test-spawn-pipe.sh: Pass the child program's name as first
20232         argument.
20233         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
20234         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
20235         test-spawn-pipe-child against no libraries.
20236
20237 2011-06-06  Bruno Haible  <bruno@clisp.org>
20238
20239         careadlinkat: Avoid mismatch between ssize_t and int.
20240         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
20241         * lib/careadlinkat.c (careadlinkatcwd): Define always.
20242
20243 2011-06-06  Jim Meyering  <meyering@redhat.com>
20244
20245         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
20246         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
20247         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
20248
20249 2011-06-05  Bruno Haible  <bruno@clisp.org>
20250
20251         ansi-c++-opt: Interoperability with libtool.
20252         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
20253         set the variable to "no", not to ":".
20254         * NEWS: Mention the change.
20255
20256 2011-06-05  Bruno Haible  <bruno@clisp.org>
20257
20258         acl: Fix test failure on AIX 7.
20259         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
20260         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
20261
20262 2011-06-05  Bruno Haible  <bruno@clisp.org>
20263
20264         pipe-filter-ii: Fix test failure on AIX and IRIX.
20265         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
20266         with EAGAIN, retry with a smaller buffer size.
20267
20268 2011-06-05  Bruno Haible  <bruno@clisp.org>
20269
20270         localename: Fix link dependencies.
20271         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
20272         * modules/localename-tests (Makefile.am): Link test-localename with
20273         $(LIBTHREAD).
20274
20275 2011-06-05  Bruno Haible  <bruno@clisp.org>
20276
20277         error: Avoid gcc warning.
20278         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
20279
20280 2011-06-05  Bruno Haible  <bruno@clisp.org>
20281
20282         unsetenv: Avoid gcc warning.
20283         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
20284
20285 2011-06-05  Bruno Haible  <bruno@clisp.org>
20286
20287         setenv: Avoid gcc warning.
20288         * lib/setenv.c (setenv): Provide declaration if system lacks it.
20289
20290 2011-06-05  Bruno Haible  <bruno@clisp.org>
20291
20292         sys_select: Ensure memset is declared also on AIX 7.
20293         * lib/sys_select.in.h: Include <string.h> also on AIX.
20294         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
20295         self-contained also on AIX 7.1.
20296
20297 2011-06-04  Jim Meyering  <meyering@redhat.com>
20298
20299         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
20300         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
20301         function name, "error".
20302         (_gl_translatable_diag_func_re): New configurable variable.
20303
20304 2011-06-04  Bruno Haible  <bruno@clisp.org>
20305
20306         getopt: Avoid gcc warning.
20307         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
20308
20309 2011-06-04  Bruno Haible  <bruno@clisp.org>
20310
20311         strerror_r: Fix comments.
20312         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
20313         commit.
20314
20315 2011-06-04  Bruno Haible  <bruno@clisp.org>
20316
20317         perror: Fix compilation error.
20318         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
20319         Undefine fprintf, not sprintf.
20320         * modules/perror (Depends-on): Remove intprops, verify.
20321
20322 2011-06-04  Bruno Haible  <bruno@clisp.org>
20323
20324         setlocale: Enable replacement on Cygwin 1.5.
20325         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
20326         Cygwin 1.5.x.
20327         * doc/posix-functions/setlocale.texi: Mention that the problem with the
20328         LC_CTYPE category also exists on Cygwin 1.5.x.
20329
20330 2011-06-04  Bruno Haible  <bruno@clisp.org>
20331
20332         strerror-override: Don't disable symbol renamings.
20333         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
20334         * lib/strerror-override.c: Include config.h.
20335         (strerror_override): Don't undefine.
20336
20337 2011-06-03  Bruno Haible  <bruno@clisp.org>
20338
20339         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
20340         * lib/localename.h: Update copyright header.
20341         * lib/localename.c: Likewise.
20342         * lib/relocatable.h: Likewise.
20343         * lib/relocatable.c: Likewise.
20344
20345 2011-06-02  Bruno Haible  <bruno@clisp.org>
20346
20347         doc: Fix a module name.
20348         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
20349
20350 2011-06-02  Bruno Haible  <bruno@clisp.org>
20351
20352         pipe2: Remove dependency on 'nonblocking' module.
20353         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
20354         O_NONBLOCK is defined by gnulib.
20355         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
20356         is zero.
20357         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
20358         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
20359         defined by gnulib.
20360         (get_nonblocking_flag): New function.
20361         (main): Test O_NONBLOCK flag only if it is nonzero.
20362         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
20363
20364 2011-06-03  Jim Meyering  <meyering@redhat.com>
20365
20366         maint: three new prohibit-header-without-use rules
20367         Prohibit use of cloexec.h, posixver.h, same.h without use.
20368         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
20369         (sc_prohibit_posixver_without_use): Likewise.
20370         (sc_prohibit_same_without_use): Likewise.
20371
20372 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
20373
20374         allocator: 'die' routine is now given requested size
20375         * lib/allocator.h (struct allocator.die): New size arg.
20376         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
20377         If the actual problem is an ssize_t limitation, not a size_t or
20378         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
20379
20380 2011-06-01  Eric Blake  <eblake@redhat.com>
20381
20382         strerror: drop strerror_r dependency
20383         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
20384         * lib/strerror-override.c (strerror_override): ...to new file.
20385         * lib/strerror-override.h: Add prototype.
20386         * lib/strerror-impl.h: Delete.
20387         * lib/strerror.c (strerror): New implementation.
20388         * modules/errno (Files): Add new files.
20389         (configure.ac): Compile new file as appropriate.
20390         * modules/strerror (Files): Drop unused file.
20391         (Depends-on): Drop strerror_r-posix.
20392         * MODULES.html.sh: Document strerror_r-posix.
20393         Requested by Sam Steingold.
20394
20395         perror: call strerror_r directly
20396         * modules/perror (Files): Drop strerror-impl.h.
20397         * lib/perror.c (perror): Use our own stack buffer, rather than
20398         calling a wrapper that uses static storage.
20399         * doc/posix-functions/perror.texi (perror): Document a limitation
20400         of our replacement.
20401
20402         strerror_r: fix includes for FreeBSD
20403         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
20404         since we use abort on some platforms.
20405         Reported by Matthias Bolte.
20406
20407 2011-05-31  Bruno Haible  <bruno@clisp.org>
20408
20409         Fix link errors in tests: openat-die uses gettext-h.
20410         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
20411         against $(LIBINTL).
20412         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
20413         against $(LIBINTL).
20414         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
20415         $(LIBINTL).
20416         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
20417         against $(LIBINTL).
20418         * modules/linkat-tests (Makefile.am): Link test-linkat against
20419         $(LIBINTL).
20420         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
20421         $(LIBINTL).
20422         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
20423         against $(LIBINTL).
20424         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
20425         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
20426         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
20427         $(LIBINTL).
20428         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
20429         $(LIBINTL).
20430         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
20431         $(LIBINTL).
20432         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20433
20434 2011-05-31  Bruno Haible  <bruno@clisp.org>
20435
20436         Fix link errors in tests: wait-process uses gettext-h.
20437         * modules/nonblocking-pipe-tests (Makefile.am): Set
20438         test_nonblocking_pipe_main_LDADD.
20439         * modules/nonblocking-socket-tests (Makefile.am): Link
20440         test-nonblocking-socket-main against $(LIBINTL).
20441         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20442
20443 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
20444
20445         assert-h: work around 'verify' incompatibility
20446         * lib/verify.h: Use @...@ directives, not ifdef.
20447         * modules/assert-h (assert.h): Implement the directives.
20448         (assert.h): Substitute the symbol-prefix more consistently.
20449
20450 2011-05-29  Jim Meyering  <meyering@redhat.com>
20451
20452         trim: remove three superfluous assignments
20453         * lib/trim.c (trim2): Remove three superfluous assignments
20454         and correct brace positioning.
20455
20456 2011-05-29  Bruno Haible  <bruno@clisp.org>
20457
20458         wctype-h: Avoid namespace pollution on Solaris 2.6.
20459         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
20460         identifiers.
20461         * doc/posix-headers/wctype.texi: Mention the problem.
20462         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20463
20464 2011-05-28  Jim Meyering  <meyering@redhat.com>
20465
20466         parse-datetime.y: accommodate -Wstrict-overflow
20467         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
20468         placate -Wstrict-overflow.
20469
20470         trim: avoid a warning from -O2 -Wstrict-overflow
20471         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
20472
20473 2011-05-29  Bruno Haible  <bruno@clisp.org>
20474
20475         gnulib-tool: Fix bug in yesterday's commit.
20476         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
20477         twice.
20478
20479 2011-05-29  Bruno Haible  <bruno@clisp.org>
20480
20481         Allow multiple gnulib generated include files to be combined.
20482         * gnulib-tool (func_compute_include_guard_prefix): New function.
20483         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
20484         ${gl_include_guard_prefix} references.
20485         (func_import, func_create_testdir): Invoke
20486         func_compute_include_guard_prefix.
20487         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
20488         * lib/ctype.in.h: Likewise.
20489         * lib/dirent.in.h: Likewise.
20490         * lib/errno.in.h: Likewise.
20491         * lib/fcntl.in.h: Likewise.
20492         * lib/float.in.h: Likewise.
20493         * lib/getopt.in.h: Likewise.
20494         * lib/iconv.in.h: Likewise.
20495         * lib/langinfo.in.h: Likewise.
20496         * lib/locale.in.h: Likewise.
20497         * lib/math.in.h: Likewise.
20498         * lib/netdb.in.h: Likewise.
20499         * lib/netinet_in.in.h: Likewise.
20500         * lib/poll.in.h: Likewise.
20501         * lib/pthread.in.h: Likewise.
20502         * lib/pty.in.h: Likewise.
20503         * lib/sched.in.h: Likewise.
20504         * lib/se-selinux.in.h: Likewise.
20505         * lib/search.in.h: Likewise.
20506         * lib/signal.in.h: Likewise.
20507         * lib/spawn.in.h: Likewise.
20508         * lib/stdarg.in.h: Likewise.
20509         * lib/stddef.in.h: Likewise.
20510         * lib/stdint.in.h: Likewise.
20511         * lib/stdio.in.h: Likewise.
20512         * lib/stdlib.in.h: Likewise.
20513         * lib/string.in.h: Likewise.
20514         * lib/strings.in.h: Likewise.
20515         * lib/sys_file.in.h: Likewise.
20516         * lib/sys_ioctl.in.h: Likewise.
20517         * lib/sys_select.in.h: Likewise.
20518         * lib/sys_socket.in.h: Likewise.
20519         * lib/sys_stat.in.h: Likewise.
20520         * lib/sys_time.in.h: Likewise.
20521         * lib/sys_times.in.h: Likewise.
20522         * lib/sys_uio.in.h: Likewise.
20523         * lib/sys_utsname.in.h: Likewise.
20524         * lib/sys_wait.in.h: Likewise.
20525         * lib/sysexits.in.h: Likewise.
20526         * lib/termios.in.h: Likewise.
20527         * lib/time.in.h: Likewise.
20528         * lib/unistd.in.h: Likewise.
20529         * lib/wchar.in.h: Likewise.
20530         * lib/wctype.in.h: Likewise.
20531         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
20532         * modules/ctype (Makefile.am): Likewise.
20533         * modules/dirent (Makefile.am): Likewise.
20534         * modules/errno (Makefile.am): Likewise.
20535         * modules/fcntl-h (Makefile.am): Likewise.
20536         * modules/float (Makefile.am): Likewise.
20537         * modules/getopt-posix (Makefile.am): Likewise.
20538         * modules/iconv-h (Makefile.am): Likewise.
20539         * modules/langinfo (Makefile.am): Likewise.
20540         * modules/locale (Makefile.am): Likewise.
20541         * modules/math (Makefile.am): Likewise.
20542         * modules/netdb (Makefile.am): Likewise.
20543         * modules/netinet_in (Makefile.am): Likewise.
20544         * modules/poll-h (Makefile.am): Likewise.
20545         * modules/pthread (Makefile.am): Likewise.
20546         * modules/pty (Makefile.am): Likewise.
20547         * modules/sched (Makefile.am): Likewise.
20548         * modules/search (Makefile.am): Likewise.
20549         * modules/selinux-h (Makefile.am): Likewise.
20550         * modules/signal (Makefile.am): Likewise.
20551         * modules/spawn (Makefile.am): Likewise.
20552         * modules/stdarg (Makefile.am): Likewise.
20553         * modules/stddef (Makefile.am): Likewise.
20554         * modules/stdint (Makefile.am): Likewise.
20555         * modules/stdio (Makefile.am): Likewise.
20556         * modules/stdlib (Makefile.am): Likewise.
20557         * modules/string (Makefile.am): Likewise.
20558         * modules/strings (Makefile.am): Likewise.
20559         * modules/sys_file (Makefile.am): Likewise.
20560         * modules/sys_ioctl (Makefile.am): Likewise.
20561         * modules/sys_select (Makefile.am): Likewise.
20562         * modules/sys_socket (Makefile.am): Likewise.
20563         * modules/sys_stat (Makefile.am): Likewise.
20564         * modules/sys_time (Makefile.am): Likewise.
20565         * modules/sys_times (Makefile.am): Likewise.
20566         * modules/sys_uio (Makefile.am): Likewise.
20567         * modules/sys_utsname (Makefile.am): Likewise.
20568         * modules/sys_wait (Makefile.am): Likewise.
20569         * modules/sysexits (Makefile.am): Likewise.
20570         * modules/termios (Makefile.am): Likewise.
20571         * modules/time (Makefile.am): Likewise.
20572         * modules/unistd (Makefile.am): Likewise.
20573         * modules/wchar (Makefile.am): Likewise.
20574         * modules/wctype-h (Makefile.am): Likewise.
20575         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
20576
20577 2011-05-29  Bruno Haible  <bruno@clisp.org>
20578
20579         assert-h: Allow multiple gnulib generated replacements to coexist.
20580         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
20581
20582 2011-05-29  Bruno Haible  <bruno@clisp.org>
20583
20584         argp: Allow coexistence with strerror_r-posix module.
20585         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
20586         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
20587         by gnulib's <string.h> replacement), assume it has the POSIX signature,
20588         not the glibc signature.
20589
20590 2011-05-28  Bruno Haible  <bruno@clisp.org>
20591
20592         gnulib-tool: Alternative structure of testdirs, similar to --import.
20593         * gnulib-tool: New option --single-configure.
20594         (func_usage): Document it.
20595         (single_configure): New variable.
20596         (func_modules_transitive_closure_separately,
20597         func_modules_transitive_closure_separately,
20598         func_determine_use_libtests, func_modules_add_dummy_separately,
20599         func_modules_to_filelist_separately): New functions, extracted from
20600         func_import.
20601         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
20602         (func_import): Use the new functions.
20603         (func_create_testdir): Set final_modules. Handle $single_configure =
20604         true case.
20605
20606 2011-05-28  Bruno Haible  <bruno@clisp.org>
20607
20608         getloadavg: Remove an unreliable safety check.
20609         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
20610         getloadavg.c is in place.
20611         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
20612         Reported by Sam Steingold <sds@gnu.org>.
20613
20614 2011-05-28  Bruno Haible  <bruno@clisp.org>
20615
20616         doc: Cleanup yet another file produced by texinfo.tex.
20617         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
20618
20619 2011-05-28  Bruno Haible  <bruno@clisp.org>
20620
20621         Finish the conditional dependencies mechanism.
20622         * gnulib-tool: New option --no-conditional-dependencies.
20623         (func_usage): Document it. Don't mark --conditional-dependencies as
20624         experimental.
20625         (cond_dependencies): The possible values can now be true, false, empty.
20626         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
20627         (func_import): Store setting in gnulib-cache.m4 and read it from there.
20628         * doc/gnulib-tool.texi (Conditional dependencies): New section.
20629
20630 2011-05-28  Bruno Haible  <bruno@clisp.org>
20631
20632         doc: Use a recent texinfo.tex.
20633         * doc/Makefile (tex_opts): New variable.
20634         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
20635
20636 2011-05-28  Jim Meyering  <meyering@redhat.com>
20637
20638         intprops.h: adjust comment to match code change
20639         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
20640         only once, it *may* have side effects.  Also fix an unrelated typo.
20641         (_GL_INT_SIGNED): Likewise.
20642
20643 2011-05-26  Simon Josefsson  <simon@josefsson.org>
20644
20645         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
20646
20647 2011-05-26  Bruno Haible  <bruno@clisp.org>
20648
20649         mbsrchr: Avoid collision with system function on Interix.
20650         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
20651         Reported by Markus Duft <mduft@gentoo.org>.
20652
20653 2011-05-15  James Youngman  <jay@gnu.org>
20654
20655         getopt: for ambiguous options, enumerate the possibilities.
20656         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
20657         the ambiguous options when an ambiguous prefix is given. This was
20658         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
20659         glibc change was
20660         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
20661
20662 2011-05-25  Eric Blake  <eblake@redhat.com>
20663
20664         getcwd: work around mingw bug
20665         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
20666         * doc/posix-functions/getcwd.texi (getcwd): Document it.
20667         Reported by Matthias Bolte.
20668
20669 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
20670
20671         test-intprops: disable -Wtype-limits diagnostics
20672         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
20673         diagnostics.  Otherwise, the integer overflow macros generate many
20674         diagnostics.  Reported by Jim Meyering in
20675         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
20676
20677         intprops: shorten, to pacify gcc -Woverlength-strings
20678         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
20679         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
20680         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
20681         likely to run afoul of C compiler limits for string constant lengths.
20682         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
20683
20684 2011-05-24  Eric Blake  <eblake@redhat.com>
20685
20686         docs: document recently fixed glibc printf bug
20687         * doc/posix-functions/fprintf.texi (fprintf): Document it.
20688         * doc/posix-functions/printf.texi (printf): Likewise.
20689         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
20690         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
20691
20692         closein-tests: convert to init.sh
20693         * modules/closein-tests (Files): Add init.sh
20694         * tests/test-closein.sh Use it.
20695
20696         yesno-tests: convert to init.sh
20697         * modules/yesno-tests (Files): Add init.sh.
20698         * tests/test-yesno.sh: Use it.
20699
20700         atexit-tests: ensure reliable exit status
20701         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
20702         Reported by Bruno Haible.
20703
20704 2011-05-24  Bruno Haible  <bruno@clisp.org>
20705
20706         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
20707         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
20708         gl_PREREQ_STRERROR_R invocations from here...
20709         * modules/strerror_r-posix (configure.ac): ... to here.
20710
20711 2011-05-24  Eric Blake  <eblake@redhat.com>
20712
20713         strerror_r: fix missing header
20714         * lib/strerror_r.c: Avoid compiler warning about snprintf.
20715
20716         strerror_r: fix AIX test failures
20717         * lib/strerror_r.c (strerror_r): Convert silent truncation to
20718         ERANGE failure.
20719
20720         strerror_r: fix Solaris test failures
20721         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
20722         failures.
20723         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
20724
20725         strerror_r: enforce POSIX recommendations
20726         * lib/strerror_r.c (safe_copy): New helper method.
20727         (strerror_r): Guarantee a non-empty string.
20728         * tests/test-strerror_r.c (main): Enhance tests to incorporate
20729         recent POSIX rulings and to match our strerror guarantees.
20730         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
20731
20732 2011-05-24  Jim Meyering  <meyering@redhat.com>
20733
20734         test-perror2.c: avoid warning about unused variable
20735         * tests/test-perror2.c (main): Remove declaration of unused "fp".
20736
20737 2011-05-24  Eric Blake  <eblake@redhat.com>
20738
20739         perror: avoid spurious test failure on HP-UX
20740         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
20741
20742         tests: fix logic bug in init.sh
20743         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
20744         shell.
20745
20746 2011-05-24  Jim Meyering  <meyering@redhat.com>
20747
20748         utimensat: do not reference an out-of-scope buffer
20749         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
20750         declared in an inner scope, yet "times" would be dereferenced outside
20751         the scope in which "ts" was valid.
20752         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
20753         of ts[2] "out/up", so that the use of aliased "times" (via
20754         "times = ts;") does not end up referencing an out-of-scope "ts"
20755
20756         opendir-safer.c: don't clobber errno; don't close negative FD
20757         * lib/opendir-safer.c (opendir_safer):
20758         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
20759         file descriptor, and more importantly, don't clobber the
20760         offending errno value with EINVAL.  Before, upon failure
20761         of dup_safer, we would pass the negative file descriptor to
20762         fdopendir, which would clobber errno.
20763
20764 2011-05-23  Bruno Haible  <bruno@clisp.org>
20765
20766         idcache: Fix module description.
20767         * modules/idcache (Include): Set to "idcache.h".
20768
20769 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
20770
20771         gnulib-tool: fix portability problem with MacOS sed
20772         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
20773         before the "}".  Problem reported by Leo in
20774         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
20775         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
20776         sed_extract_condition1, sed_extract_condition2.
20777
20778 2011-05-23  Bruno Haible  <bruno@clisp.org>
20779
20780         hash: Simplify autoconf macro.
20781         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
20782
20783 2011-05-23  Bruno Haible  <bruno@clisp.org>
20784
20785         getugroups: Fix module description.
20786         * modules/getugroups (Include): Set to "getugroups.h".
20787
20788 2011-05-23  Bruno Haible  <bruno@clisp.org>
20789
20790         linkat: Simplify autoconf macro.
20791         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
20792
20793 2011-05-23  Bruno Haible  <bruno@clisp.org>
20794             Eric Blake  <eblake@redhat.com>
20795
20796         linkat, renameat: Update dependencies.
20797         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
20798         * modules/linkat (Depends-on): Likewise. Remove also readlink,
20799         symlinkat.
20800
20801 2011-05-23  Jim Meyering  <meyering@redhat.com>
20802
20803         maint.mk: more tight_scope improvements
20804         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
20805         (_gl_TS_headers): Define only in if-0'd block.
20806         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
20807         sometimes we must *not* use it.  Adjust uses accordingly.
20808         (sc_tight_scope): Use much simpler grep-based test to determine
20809         whether we skip this rule.
20810
20811         maint.mk: generalize/improve the tight-scope rule
20812         * top/maint.mk: Emit a warning when the test is skipped.
20813         (_gl_TS_dir): Add $(srcdir)/ prefix.
20814         (_gl_TS_function_match): Simplify, rather than trying
20815         to enumerate common types.  Otherwise, it would fail to match an
20816         "extern unsigned char const *" declaration in idutils.
20817         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
20818         a way to support use of that type of macro.
20819         (_gl_TS_var_match): Simplify regexp.
20820         (_gl_TS_obj_files): New configurable variable.
20821         (_gl_TS_headers): Likewise.
20822
20823 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
20824
20825         verify: fix bug when gnulib <assert.h> is also included
20826         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
20827         is defined, not if _GL_STATIC_ASSERT_H is not defined.
20828         Perhaps there's a better way, but this fixes the immediate problem.
20829         Problem reported by Bruno Haible in
20830         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
20831
20832 2011-05-22  Bruno Haible  <bruno@clisp.org>
20833
20834         xgetcwd: Simplify autoconf macro.
20835         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
20836
20837 2011-05-22  Bruno Haible  <bruno@clisp.org>
20838
20839         New module 'mktime-internal'.
20840         * modules/mktime-internal: New file.
20841         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
20842         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
20843         mktime_internal as a C macro if libc has __mktime_internal.
20844         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
20845         conditions.
20846         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
20847
20848 2011-05-22  Bruno Haible  <bruno@clisp.org>
20849
20850         timegm: Correct mktime replacement statements.
20851         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
20852         defining mktime as a C macro. This completes a 2009-07-28 commit.
20853
20854 2011-05-22  Bruno Haible  <bruno@clisp.org>
20855
20856         timegm: Simplify autoconf macro.
20857         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
20858
20859 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
20860
20861         clock-time: change to LGPLv2+.
20862         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
20863         BSD-like but we have no mark for that; this is good enough for now.
20864
20865 2011-05-21  Bruno Haible  <bruno@clisp.org>
20866
20867         strerror_r: Fix comments.
20868         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
20869
20870 2011-05-21  Bruno Haible  <bruno@clisp.org>
20871
20872         relocatable-prog-wrapper: Fix possible link error.
20873         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
20874         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
20875         (gl_FUNC_SETENV): ... to here.
20876         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
20877         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
20878
20879 2011-05-21  Bruno Haible  <bruno@clisp.org>
20880
20881         relocatable-prog-wrapper: Assume strerror() exists.
20882         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
20883         m4/strerror.m4.
20884         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
20885         * lib/relocwrapper.c: Remove mention of strerror module.
20886         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
20887         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
20888         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
20889         C macro.
20890
20891 2011-05-21  Bruno Haible  <bruno@clisp.org>
20892
20893         select: Simplify replacement idiom.
20894         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
20895         Win32 platforms.
20896         * lib/sys_select.in.h (select): Simplify accordingly.
20897         * modules/select (Depends-on): Likewise.
20898
20899 2011-05-21  Bruno Haible  <bruno@clisp.org>
20900
20901         mkdir-p: Simplify autoconf macro.
20902         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
20903         gl_FUNC_LCHOWN.
20904
20905 2011-05-21  Eric Blake  <eblake@redhat.com>
20906
20907         strerror_r: avoid clobbering strerror on cygwin
20908         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
20909         fall back instead to sys_errlist.
20910         * modules/strerror (configure.ac): Add witness.
20911         * tests/test-strerror_r.c (main): Enhance test.
20912         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20913         * tests/test-perror2.c (main): Free memory before exit.
20914
20915 2011-05-21  Bruno Haible  <bruno@clisp.org>
20916
20917         mkdtemp: Use gnulib naming conventions.
20918         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
20919         * modules/mkdtemp (configure.ac): Update.
20920
20921 2011-05-20  Eric Blake  <eblake@redhat.com>
20922
20923         strerror_r: avoid corrupting errno on Solaris
20924         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
20925         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20926
20927         strerror_r: avoid compiler warning
20928         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
20929
20930         strerror_r: simplify AIX code
20931         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
20932
20933         test-perror: avoid spurious failure on FreeBSD
20934         * modules/perror-tests (Depends-on): Add strerror, now that
20935         strerror_r no longer pulls it in.
20936
20937 2011-05-20  Bruno Haible  <bruno@clisp.org>
20938
20939         strerror_r-posix: Remove unused dependencies.
20940         * modules/strerror_r-posix (Depends-on): Remove strerror.
20941         Reported by Eric Blake.
20942
20943 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
20944
20945         intprops: remove assumption about A|B representation
20946         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
20947         is a valid integer if both A and B are.  Although this is true for
20948         all known practical hosts, the C standard doesn't guarantee it,
20949         and the code need not assume it.  Also, this change may work around
20950         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
20951         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
20952
20953 2011-05-20  Eric Blake  <eblake@redhat.com>
20954
20955         perror: work around FreeBSD bug
20956         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
20957         is broken.  Move AC_LIBOBJ...
20958         * modules/perror (configure.ac): Here.
20959         * doc/posix-functions/perror.texi (perror): Document this.
20960         * tests/test-perror2.c (main): Enhance test.
20961
20962         test-perror: check for strerror interactions
20963         * tests/macros.h (STREQ): Add macro.
20964         * modules/perror-tests (Files): Add second test.
20965         * tests/test-perror2.c (main): New file.
20966         * doc/posix-functions/perror.texi (perror): Document glibc bug.
20967
20968         test-perror: rewrite to use init script
20969         * modules/perror-tests (Files): Add init.sh.
20970         * tests/test-perror.sh: Use temporary directory.
20971
20972 2011-05-20  Jim Meyering  <meyering@redhat.com>
20973
20974         maint: replace misused "a" with "an"
20975         * doc/intprops.texi: "a integer"
20976         * doc/regex.texi: "a explanation"
20977         * lib/alignof.h: "a object"
20978         * lib/argmatch.h: "a explanation"
20979         * lib/argp-help.c: "a option" and "a OPTION_DOC"
20980         * lib/stdint.in.h: "a integer"
20981         * lib/userspec.c: "a owner"
20982         * doc/gnulib.texi: Fix "a idea", and reword.
20983
20984 2011-05-19  Jim Meyering  <meyering@redhat.com>
20985
20986         maint: correct misuse of "a" and "an"
20987         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
20988         * lib/argp-help.c: "an docum...": s/an/a/
20989         * lib/argp-parse.c: "An vector": s/An/A/
20990         * lib/execute.c: "an native": s/an/a/
20991         * lib/spawn-pipe.c: Likewise.
20992         * lib/gc.h: "an Gc_rc": s/an/a/
20993         * lib/unigbrk.in.h: "an grapheme": s/an/a/
20994         * lib/fts.c: "an stat.st_dev": s/an/a/
20995
20996 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20997
20998         intprops-tests: work around HP-UX 11.23 cc bug with constants
20999         * tests/test-intprops.c (VERIFY): New macro.
21000         (main): Use it, instead of verify, to work around the compiler bug; see
21001         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
21002
21003         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
21004         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
21005         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
21006         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
21007         (_GL_REMAINDER_OVERFLOW): Use it.
21008
21009         intprops-tests: revert unsigned part of previous change
21010         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
21011         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
21012         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
21013         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
21014
21015 2011-05-19  Bruno Haible  <bruno@clisp.org>
21016
21017         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
21018         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
21019         strerror_r() returned without filling the buffer.
21020         Reported by Eric Blake.
21021
21022 2011-05-19  Eric Blake  <eblake@redhat.com>
21023
21024         strerror_r: guarantee unchanged errno
21025         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
21026         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
21027         failure.
21028         * tests/test-strerror_r.c (main): Enhance test.
21029
21030 2011-05-19  Bruno Haible  <bruno@clisp.org>
21031
21032         strerror_r: Reorder #if blocks.
21033         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
21034         for consistency with the previous commit.
21035
21036 2011-05-19  Bruno Haible  <bruno@clisp.org>
21037
21038         perror: Avoid clobbering the strerror buffer when possible.
21039         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
21040         * lib/strerror.c: Include it.
21041         * modules/strerror (Files): Add lib/strerror-impl.h.
21042         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
21043         (my_strerror): New function, defined through lib/strerror-impl.h.
21044         (perror): Use it instead of strerror.
21045         * modules/perror (Files): Add lib/strerror-impl.h.
21046         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
21047
21048 2011-05-19  Eric Blake  <eblake@redhat.com>
21049
21050         strerror_r: fix on newer cygwin
21051         * lib/strerror_r.c (strerror_r): Cygwin now has
21052         __xpg_strerror_r, use it.
21053
21054 2011-05-19  Bruno Haible  <bruno@clisp.org>
21055
21056         strerror_r: Avoid clobbering the strerror buffer when possible.
21057         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
21058         (sys_nerr, sys_errlist): New declarations.
21059         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
21060         HP-UX, native Win32, IRIX, and 32-bit Solaris.
21061         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
21062
21063 2011-05-19  Bruno Haible  <bruno@clisp.org>
21064
21065         strerror_r: Fix test failure on mingw.
21066         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
21067         EXTEND_STRERROR_R.
21068         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
21069         macros from errno.in.h instead.
21070
21071 2011-05-19  Eric Blake  <eblake@redhat.com>
21072
21073         strerror: relax test for Solaris
21074         * tests/test-strerror.c (main): Permit Solaris behavior.
21075         * tests/test-strerror_r.c (main): Likewise.
21076
21077         strerror: enforce POSIX ruling on strerror(0)
21078         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
21079         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
21080         * lib/strerror_r.c (rpl_strerror_r): Work around it.
21081         * doc/posix-functions/strerror.texi (strerror): Document it.
21082         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
21083         * tests/test-strerror.c (main): Strengthen test.
21084         * tests/test-strerror_r.c (main): Likewise.
21085
21086 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
21087
21088         intprop-tests: port to older and more-pedantic compilers
21089         * modules/intprops-tests (Files): Add tests/macros.h.
21090         * tests/test-intprops.c: Include macros.h.
21091         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
21092         it's no longer documented to expand to an integer constant expression.
21093         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
21094         argument is floating point, as it's no longer documented to expand
21095         to an integer constant expression in that case.
21096         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
21097         compiler bugs reported by Bruno Haible.  See
21098         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
21099         (U0, U1): New constants, to work around the same bugs.  Also,
21100         in tests, use e.g., "(unsigned int) 39" rather than "39u".
21101
21102         intprops: work around C compiler bugs
21103         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
21104         bug in Sun C 5.11 2010/08/13 and other compilers; see
21105         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
21106
21107         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
21108         * doc/intprops.texi (Integer Type Determination): Fix
21109         documentation for TYPE_IS_INTEGER: it returns an constant
21110         expression, not an integer constant expression.  Fix doc for
21111         TYPE_SIGNED: it returns an integer constant expression only if its
21112         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
21113         hardly worth documented that way....)
21114
21115 2011-05-18  Bruno Haible  <bruno@clisp.org>
21116
21117         strerror_r: Avoid clobbering the strerror buffer when possible.
21118         * lib/strerror_r.c (strerror_r): Merge the three implementations.
21119         Handle gnulib defined errno values here. When strerror() returns NULL
21120         or an empty string, return EINVAL.
21121         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
21122         gnulib defined errno values here.
21123         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
21124
21125 2011-05-18  Eric Blake  <eblake@redhat.com>
21126
21127         fnmatch: avoid compiler warning
21128         * lib/fnmatch_loop.c (FCT): Use correct type.
21129         Reported by Matthias Bolte.
21130
21131 2011-05-13  Jim Meyering  <meyering@redhat.com>
21132
21133         maint.mk: three new prohibit_<HDR>_without_use rules
21134         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
21135         (sc_prohibit_stdio-safer_without_use): Likewise.
21136         (sc_prohibit_xfreopen_without_use): Likewise.
21137
21138 2011-05-17  Jim Meyering  <meyering@redhat.com>
21139
21140         announce-gen: fail if the NEWS delta is empty
21141         If there's nothing noteworthy in NEWS, then either you forgot
21142         or you shouldn't be releasing.
21143         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
21144
21145 2011-05-17  Pádraig Brady <P@draigBrady.com>
21146
21147         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
21148         reserved symbols starting with double underscore from the check.
21149
21150 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
21151
21152         intprops: add doc
21153         * doc/intprops.texi: New file, documenting intprops.
21154         * doc/gnulib.texi (Particular Modules): Include it.
21155
21156         verify: add doc to gnulib manual and fix example
21157         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
21158         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
21159         (Compile-time Assertions): Fix example so it can't overflow.
21160
21161 2011-05-17  Jim Meyering  <meyering@redhat.com>
21162
21163         warnings.m4: don't usurp save_CPPFLAGS variable name
21164         * m4/warnings.m4: Prefix local temporary variable name with gl_.
21165
21166         doc: fix typo
21167         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
21168
21169 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
21170             Bruno Haible  <bruno@clisp.org>
21171
21172         doc: Tweak recent change.
21173         * README (Portability guidelines): Tweak new text.
21174         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
21175         Interix 6.1.
21176
21177 2011-05-16  Eric Blake  <eblake@redhat.com>
21178
21179         inttypes: avoid autoconf warning
21180         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
21181         * m4/stdint.m4 (gl_STDINT_H): Likewise.
21182
21183 2011-05-16  Sam Steingold <sds@gnu.org>
21184         and Eric Blake  <eblake@redhat.com>
21185
21186         vc-list-files: accept multiple directory operands
21187         * build-aux/vc-list-files: Iterate over all remaining operands.
21188
21189 2011-05-16  Bruno Haible  <bruno@clisp.org>
21190
21191         Fix confusion regarding deprecated modules.
21192         * modules/calloc (Status, Notice): Mark module as deprecated, not
21193         obsolete.
21194         * modules/fnmatch-posix (Status, Notice): Likewise.
21195         * modules/getdate (Status, Notice): Likewise.
21196         * modules/getopt (Status, Notice): Likewise.
21197         * modules/malloc (Status, Notice): Likewise.
21198         * modules/pipe (Status, Notice): Likewise.
21199         * modules/realloc (Status, Notice): Likewise.
21200         * modules/rename-dest-slash (Status, Notice): Likewise.
21201         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
21202         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
21203         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
21204         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
21205         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
21206
21207 2011-05-16  Bruno Haible  <bruno@clisp.org>
21208
21209         doc: List the target platforms.
21210         * doc/gnulib-intro.texi (Target Platforms): New section.
21211         * doc/gnulib.texi (Introduction): Update menu.
21212         * README (Portability guidelines): Refer to the new section. Update
21213         statement about oldest supported environment. Remove rationale why
21214         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
21215         unportable C89 function.
21216         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
21217         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
21218
21219 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
21220
21221         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
21222
21223 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
21224
21225         intprops-tests: new module
21226         * modules/intprops-tests, tests/test-intprops.c: New files.
21227
21228         intprops: add safe, portable integer overflow checking
21229         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
21230         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
21231         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
21232         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
21233         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
21234         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
21235         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
21236         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
21237         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
21238         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
21239         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
21240
21241 2011-05-12  James Youngman  <jay@gnu.org>
21242
21243         Add a test for glibc's Bugzilla bug #12378.
21244         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
21245         doesn't allow the literal matching of a lone "[" (which is
21246         required by POSIX).
21247         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
21248
21249 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
21250
21251         Sync glibc change fixing Bugzilla bug #12378.
21252         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
21253         beginning and fall back to matching as normal character if the
21254         string ends before the matching ']' is found.  This is what POSIX
21255         requires.
21256
21257 2011-05-13  Eric Blake  <eblake@redhat.com>
21258
21259         getcwd-lgpl: relax test for FreeBSD
21260         * doc/posix-functions/getcwd.texi (getcwd): Document portability
21261         issue.
21262         * tests/test-getcwd-lgpl.c (main): Relax test.
21263         Reported by Matthias Bolte.
21264
21265 2011-05-11  Eric Blake  <eblake@redhat.com>
21266
21267         test-fflush: silence compiler warning
21268         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
21269
21270 2011-05-11  Bruno Haible  <bruno@clisp.org>
21271
21272         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
21273         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
21274         * modules/canonicalize (Depends-on): Add 'nocrash'.
21275         * modules/canonicalize-lgpl (Depends-on): Likewise.
21276         * doc/posix-functions/realpath.texi: Update platforms list.
21277         Reported by Ryan Schmidt <ryandesign@macports.org>.
21278
21279 2011-05-11  Bruno Haible  <bruno@clisp.org>
21280
21281         group-member: Declare function in <unistd.h>.
21282         * lib/unistd.in.h (group_member): New declaration.
21283         * lib/group-member.h: Remove file.
21284         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
21285         * tests/test-unistd-c++.cc: Check signature of group_member.
21286         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
21287         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
21288         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
21289         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
21290         HAVE_GROUP_MEMBER.
21291         * modules/group-member (Files): Remove lib/group-member.h.
21292         (Depends-on): Add unistd. Specify conditions.
21293         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21294         (Include): Change to <unistd.h>.
21295         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
21296         HAVE_GROUP_MEMBER.
21297         * NEWS: Mention the change.
21298         * lib/euidaccess.c: Don't include group-member.h.
21299
21300 2011-05-11  Bruno Haible  <bruno@clisp.org>
21301
21302         group-member: Document module.
21303         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
21304         module.
21305
21306 2011-05-11  Bruno Haible  <bruno@clisp.org>
21307
21308         fclose: Fix mistake earlier today.
21309         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
21310
21311 2011-05-11  Eric Blake  <eblake@redhat.com>
21312
21313         fclose: preserve fflush errors
21314         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
21315         Reported by Jim Meyering.
21316
21317         bootstrap: support a prereq of 'rpcgen -' on RHEL5
21318         * build-aux/bootstrap (check_versions): When no specific version
21319         is required, merely check that the app produces an exit status
21320         that indicates its existence.
21321
21322         maint.mk: drop redundant check
21323         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
21324         the same but better.
21325
21326 2011-05-11  Bruno Haible  <bruno@clisp.org>
21327
21328         fclose: Fix possible link error.
21329         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
21330         unregister_shadow_fd. Improve comments.
21331         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
21332         Eric Blake.
21333
21334 2011-05-11  Jim Meyering  <meyering@redhat.com>
21335
21336         maint.mk: improve "can not" detection and generalize rule name
21337         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
21338         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
21339         Use the same technique as in sc_prohibit_doubled_word, so that
21340         we recognize "can not" also when the words are separated by a newline.
21341         Suggested by Eric Blake.
21342         (perl_filename_lineno_text_): Define.  Factored out of...
21343         (prohibit_doubled_word_): ...here.  Use the new definition.
21344         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
21345         (prohibit_undesirable_word_seq_RE_): New overridable variable.
21346         (ignore_undesirable_word_sequence_RE_): New overridable variable.
21347
21348 2011-05-10  Eric Blake  <eblake@redhat.com>
21349
21350         fclose: avoid double close race when possible
21351         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
21352         all but WINDOWS_SOCKETS.
21353
21354 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
21355
21356         openat: correct new comment
21357         * lib/openat-proc.c (openat_proc_name): Correct the comment.
21358
21359 2011-05-10  Jim Meyering  <meyering@redhat.com>
21360
21361         openat: add comments
21362         * lib/openat-proc.c (openat_proc_name): Add comments,
21363         mostly from Eric Blake.
21364
21365 2011-05-09  Eric Blake  <eblake@redhat.com>
21366
21367         openat: reduce syscalls in first probe of /proc
21368         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
21369         be a directory.  Simplify the probe for .. bugs.
21370         * modules/openat (Depends-on): Drop same-inode.
21371         Reported by Bastien ROUCARIES.
21372
21373 2011-05-09  Jim Meyering  <meyering@redhat.com>
21374
21375         maint.mk: change semantics/name of tight_scope variables
21376         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
21377         Rename variables to align with semantics that make them more useful.
21378
21379         maint.mk: tweak new rule's name not to impinge
21380         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
21381         (sc_tight_scope): Use new rule name rather than $@-0.
21382
21383         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
21384         * top/maint.mk (sc_tight_scope): New rule.
21385         (sc_tight_scope-0): New rule, ifdef'd out.
21386         (_gl_TS_dir): Default.
21387         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
21388         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
21389
21390 2011-05-09  Simon Josefsson  <simon@josefsson.org>
21391
21392         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
21393         Haible <bruno@clisp.org>.
21394
21395 2011-05-08  Bruno Haible  <bruno@clisp.org>
21396
21397         Comments.
21398         * m4/isnanf.m4: Add comment.
21399         * m4/isnanl.m4: Likewise.
21400
21401 2011-05-08  Bruno Haible  <bruno@clisp.org>
21402
21403         glob: Remove obsolete macro.
21404         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
21405
21406 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
21407
21408         intprops: Sun C 5.11 supports __typeof__
21409         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
21410         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
21411         which is new.
21412         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
21413
21414         intprops: switch to usual gnulib indenting and naming
21415         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
21416         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
21417
21418         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
21419
21420 2011-05-08  Jim Meyering  <meyering@redhat.com>
21421
21422         maint.mk: suppress "Entering/Leaving directory" diag in announcement
21423         * top/maint.mk (release-prep): Use make's --no-print-directory
21424         option when generating the announcement.  This eliminates the
21425         pesky "make[2]: Entering/Leaving directory" diagnostics in the
21426         generated announcement template.
21427
21428 2011-05-08  Bruno Haible  <bruno@clisp.org>
21429
21430         tzset: Fix gettimeofday wrapper on Solaris 2.6.
21431         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
21432         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
21433
21434 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
21435
21436         ignore-value, verify: Omit include files from lib_SOURCES.
21437         * modules/ignore-value, modules/verify (Makefile.am):
21438         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
21439         that leads Automake to duplicate use of am__objects_... variables
21440         in Makefile.in.  See
21441         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
21442
21443 2011-05-07  Bruno Haible  <bruno@clisp.org>
21444
21445         fclose: Simplify autoconf macro.
21446         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
21447         defined.
21448
21449 2011-05-07  Bruno Haible  <bruno@clisp.org>
21450
21451         canonicalize-lgpl: Fix autoconf macro ordering bug.
21452         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
21453         gl_STDLIB_H_DEFAULTS.
21454
21455 2011-05-06  Eric Blake  <eblake@redhat.com>
21456
21457         maintainer-makefile: make sc_po_check easier to tune
21458         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
21459         to probe for strings, such as an alternate location for gnulib.
21460
21461         fclose: guarantee behavior on seekable stdin
21462         * modules/fclose (Depends-on): Add fflush.
21463         * doc/posix-functions/fclose.texi (fclose): Document this.
21464         * tests/test-fclose.c (main): Make test for this unconditional.
21465
21466 2011-05-06  Bruno Haible  <bruno@clisp.org>
21467
21468         fflush, fpurge: Relicense under LGPLv2+.
21469         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
21470         * modules/fpurge (License): Likewise.
21471         With permission from Eric Blake and Jim Meyering.
21472         Suggested by Eric Blake.
21473
21474 2011-05-06  Karl Berry  <karl@gnu.org>
21475
21476         * MODULES.html.sh (func_all_modules): remove exit.
21477
21478 2011-05-06  Jim Meyering  <meyering@redhat.com>
21479
21480         maint.mk: use info-gnu@ as the default only for a stable release
21481         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
21482         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
21483         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
21484         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
21485
21486 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
21487
21488         assert-h: new module, which supports C1X-style static_assert
21489         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
21490         * lib/verify.h: Revamp so that this can be copied into assert.h,
21491         while retaining the ability to use it standalone as before.
21492         Rename private identifiers so as not to encroach on the
21493         standard C namespace, since this is now used by assert.h.
21494         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
21495         the old verify_true.
21496         (_GL_VERIFY_TRUE): New macro, with much of the contents of
21497         the old verify_true.  Use _GL_VERIFY_TYPE.
21498         (_GL_VERIFY): New macro, with much of the contents of the old verify.
21499         (static_assert): New macro, if _GL_STATIC_ASSERT_H
21500         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
21501         defined when this file is copied into the replacement assert.h.
21502         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
21503         and _Static_assert is not built in.
21504         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
21505         defined, and use the new macros mentioned above.
21506         * doc/posix-headers/assert.texi: Document this.
21507
21508 2011-05-05  Bruno Haible  <bruno@clisp.org>
21509
21510         fclose, fflush: Respect rules for use of AC_LIBOBJ.
21511         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
21512         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
21513         gl_REPLACE_FCLOSE here.
21514         * modules/fflush (Depends-on): Remove fclose.
21515         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
21516         combination with module 'fclose'.
21517
21518 2011-05-05  Bruno Haible  <bruno@clisp.org>
21519
21520         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
21521         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
21522         gl_FUNC_FFLUSH.
21523         (gl_FUNC_FFLUSH): Use it.
21524         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
21525         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
21526         gl_REPLACE_FSEEKO here.
21527
21528 2011-05-05  Bruno Haible  <bruno@clisp.org>
21529
21530         tzset: Relicense under LGPL.
21531         * modules/tzset (License): Change to LGPL.
21532         No agreement needed; it's a no-op.
21533
21534         strtoimax, strtoumax: Relicense under LGPL.
21535         * modules/strtoimax (License): Change to LGPL.
21536         * modules/strtoumax (License): Likewise.
21537         With permission from Jim Meyering, Paul Eggert:
21538         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
21539         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
21540
21541         getgroups: Relicense under LGPL.
21542         * modules/getgroups (License): Change to LGPL.
21543         With permission from Jim Meyering, Paul Eggert, Eric Blake:
21544         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
21545         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
21546         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21547
21548         nanosleep: Relicense under LGPL.
21549         * modules/nanosleep (License): Change to LGPL.
21550         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
21551         Haible:
21552         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
21553         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
21554         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21555         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
21556
21557         futimens: Relicense under LGPL.
21558         * modules/futimens (License): Change to LGPL.
21559         With permission from Eric Blake:
21560         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21561
21562         fflush: Relicense under LGPL.
21563         * modules/fflush (License): Change to LGPL.
21564         With permission from Eric Blake, Bruno Haible, Jim Meyering:
21565         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21566         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
21567         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
21568
21569         tmpfile: Relicense under LGPL.
21570         * modules/tmpfile (License): Change to LGPL.
21571         With permission from Ben Pfaff:
21572         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
21573
21574         isfinite: Relicense under LGPL.
21575         * modules/isfinite (License): Change to LGPL.
21576         With permission from Ben Pfaff, Bruno Haible:
21577         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
21578         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
21579
21580         acosl..tanl: Relicense under LGPL.
21581         * modules/acosl (License): Change to LGPL.
21582         * modules/asinl (License): Likewise.
21583         * modules/atanl (License): Likewise.
21584         * modules/cosl (License): Likewise.
21585         * modules/expl (License): Likewise.
21586         * modules/logl (License): Likewise.
21587         * modules/sinl (License): Likewise.
21588         * modules/sqrtl (License): Likewise.
21589         * modules/tanl (License): Likewise.
21590         Source code originally from glibc and Paolo Bonzini. Agreements:
21591         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
21592         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
21593
21594 2011-05-05  Bruno Haible  <bruno@clisp.org>
21595
21596         signal: Define sighandler_t.
21597         * lib/signal.in.h (sighandler_t): New type.
21598         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
21599         whether sighandler_t is defined.
21600         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
21601         * modules/signal (Depends-on): Add extensions.
21602         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
21603         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
21604         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
21605
21606 2011-05-05  Eric Blake  <eblake@redhat.com>
21607
21608         maint: remove useless REPLACE_*_H macros
21609         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
21610         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
21611         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
21612         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
21613         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
21614         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
21615         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
21616         * m4/btowc.m4: Update callers.
21617         * m4/dirfd.m4: Likewise.
21618         * m4/duplocale.m4: Likewise.
21619         * m4/fchdir.m4: Likewise.
21620         * m4/fdopendir.m4: Likewise.
21621         * m4/inet_ntop.m4: Likewise.
21622         * m4/inet_pton.m4: Likewise.
21623         * m4/ioctl.m4: Likewise.
21624         * m4/mbrlen.m4: Likewise.
21625         * m4/mbrtowc.m4: Likewise.
21626         * m4/mbsinit.m4: Likewise.
21627         * m4/mbsnrtowcs.m4: Likewise.
21628         * m4/mbsrtowcs.m4: Likewise.
21629         * m4/poll.m4: Likewise.
21630         * m4/setlocale.m4: Likewise.
21631         * m4/wcrtomb.m4: Likewise.
21632         * m4/wcsnrtombs.m4: Likewise.
21633         * m4/wcsrtombs.m4: Likewise.
21634         * m4/wctob.m4: Likewise.
21635         * m4/wcwidth.m4: Likewise.
21636         * modules/posix_spawn: Likewise.
21637         * modules/posix_spawn_file_actions_addclose: Likewise.
21638         * modules/posix_spawn_file_actions_adddup2: Likewise.
21639         * modules/posix_spawn_file_actions_addopen: Likewise.
21640         * modules/posix_spawn_file_actions_destroy: Likewise.
21641         * modules/posix_spawn_file_actions_init: Likewise.
21642         * modules/posix_spawnattr_destroy: Likewise.
21643         * modules/posix_spawnattr_getflags: Likewise.
21644         * modules/posix_spawnattr_getpgroup: Likewise.
21645         * modules/posix_spawnattr_getschedparam: Likewise.
21646         * modules/posix_spawnattr_getschedpolicy: Likewise.
21647         * modules/posix_spawnattr_getsigdefault: Likewise.
21648         * modules/posix_spawnattr_getsigmask: Likewise.
21649         * modules/posix_spawnattr_init: Likewise.
21650         * modules/posix_spawnattr_setflags: Likewise.
21651         * modules/posix_spawnattr_setpgroup: Likewise.
21652         * modules/posix_spawnattr_setschedparam: Likewise.
21653         * modules/posix_spawnattr_setschedpolicy: Likewise.
21654         * modules/posix_spawnattr_setsigdefault: Likewise.
21655         * modules/posix_spawnattr_setsigmask: Likewise.
21656         * modules/posix_spawnp: Likewise.
21657
21658 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
21659
21660         Add option to do-release-commit-and-tag to specify branch.
21661         * build-aux/do-release-commit-and-tag: Add --branch.
21662
21663 2011-05-03  Bruno Haible  <bruno@clisp.org>
21664
21665         Avoid unnecessary compilation units, through conditional dependencies.
21666         * modules/accept (Depends-on): Add conditions to the dependencies.
21667         * modules/acosl (Depends-on): Likewise.
21668         * modules/argz (Depends-on): Likewise.
21669         * modules/asinl (Depends-on): Likewise.
21670         * modules/atanl (Depends-on): Likewise.
21671         * modules/atoll (Depends-on): Likewise.
21672         * modules/bind (Depends-on): Likewise.
21673         * modules/btowc (Depends-on): Likewise.
21674         * modules/canonicalize-lgpl (Depends-on): Likewise.
21675         * modules/ceil (Depends-on): Likewise.
21676         * modules/ceilf (Depends-on): Likewise.
21677         * modules/ceill (Depends-on): Likewise.
21678         * modules/chdir-long (Depends-on): Likewise.
21679         * modules/chown (Depends-on): Likewise.
21680         * modules/close (Depends-on): Likewise.
21681         * modules/connect (Depends-on): Likewise.
21682         * modules/cosl (Depends-on): Likewise.
21683         * modules/dirfd (Depends-on): Likewise.
21684         * modules/dprintf (Depends-on): Likewise.
21685         * modules/dprintf-posix (Depends-on): Likewise.
21686         * modules/error (Depends-on): Likewise.
21687         * modules/euidaccess (Depends-on): Likewise.
21688         * modules/expl (Depends-on): Likewise.
21689         * modules/faccessat (Depends-on): Likewise.
21690         * modules/fchdir (Depends-on): Likewise.
21691         * modules/fclose (Depends-on): Likewise.
21692         * modules/fcntl (Depends-on): Likewise.
21693         * modules/fdopendir (Depends-on): Likewise.
21694         * modules/fflush (Depends-on): Likewise.
21695         * modules/floor (Depends-on): Likewise.
21696         * modules/floorf (Depends-on): Likewise.
21697         * modules/floorl (Depends-on): Likewise.
21698         * modules/fnmatch (Depends-on): Likewise.
21699         * modules/fopen (Depends-on): Likewise.
21700         * modules/fprintf-posix (Depends-on): Likewise.
21701         * modules/frexp (Depends-on): Likewise.
21702         * modules/frexp-nolibm (Depends-on): Likewise.
21703         * modules/frexpl (Depends-on): Likewise.
21704         * modules/frexpl-nolibm (Depends-on): Likewise.
21705         * modules/fseek (Depends-on): Likewise.
21706         * modules/fsusage (Depends-on): Likewise.
21707         * modules/ftell (Depends-on): Likewise.
21708         * modules/ftello (Depends-on): Likewise.
21709         * modules/futimens (Depends-on): Likewise.
21710         * modules/getcwd (Depends-on): Likewise.
21711         * modules/getcwd-lgpl (Depends-on): Likewise.
21712         * modules/getdelim (Depends-on): Likewise.
21713         * modules/getdomainname (Depends-on): Likewise.
21714         * modules/getgroups (Depends-on): Likewise.
21715         * modules/gethostname (Depends-on): Likewise.
21716         * modules/getline (Depends-on): Likewise.
21717         * modules/getlogin_r (Depends-on): Likewise.
21718         * modules/getopt-posix (Depends-on): Likewise.
21719         * modules/getpeername (Depends-on): Likewise.
21720         * modules/getsockname (Depends-on): Likewise.
21721         * modules/getsockopt (Depends-on): Likewise.
21722         * modules/getsubopt (Depends-on): Likewise.
21723         * modules/getusershell (Depends-on): Likewise.
21724         * modules/glob (Depends-on): Likewise.
21725         * modules/grantpt (Depends-on): Likewise.
21726         * modules/iconv_open (Depends-on): Likewise.
21727         * modules/iconv_open-utf (Depends-on): Likewise.
21728         * modules/inet_ntop (Depends-on): Likewise.
21729         * modules/inet_pton (Depends-on): Likewise.
21730         * modules/ioctl (Depends-on): Likewise.
21731         * modules/isapipe (Depends-on): Likewise.
21732         * modules/isfinite (Depends-on): Likewise.
21733         * modules/isinf (Depends-on): Likewise.
21734         * modules/lchown (Depends-on): Likewise.
21735         * modules/ldexpl (Depends-on): Likewise.
21736         * modules/link (Depends-on): Likewise.
21737         * modules/linkat (Depends-on): Likewise.
21738         * modules/listen (Depends-on): Likewise.
21739         * modules/logl (Depends-on): Likewise.
21740         * modules/lstat (Depends-on): Likewise.
21741         * modules/mbrlen (Depends-on): Likewise.
21742         * modules/mbrtowc (Depends-on): Likewise.
21743         * modules/mbsinit (Depends-on): Likewise.
21744         * modules/mbsnrtowcs (Depends-on): Likewise.
21745         * modules/mbsrtowcs (Depends-on): Likewise.
21746         * modules/mbtowc (Depends-on): Likewise.
21747         * modules/memcmp (Depends-on): Likewise.
21748         * modules/mkdir (Depends-on): Likewise.
21749         * modules/mkdtemp (Depends-on): Likewise.
21750         * modules/mkfifo (Depends-on): Likewise.
21751         * modules/mkfifoat (Depends-on): Likewise.
21752         * modules/mknod (Depends-on): Likewise.
21753         * modules/mkostemp (Depends-on): Likewise.
21754         * modules/mkostemps (Depends-on): Likewise.
21755         * modules/mkstemp (Depends-on): Likewise.
21756         * modules/mkstemps (Depends-on): Likewise.
21757         * modules/mktime (Depends-on): Likewise.
21758         * modules/nanosleep (Depends-on): Likewise.
21759         * modules/open (Depends-on): Likewise.
21760         * modules/openat (Depends-on): Likewise.
21761         * modules/perror (Depends-on): Likewise.
21762         * modules/poll (Depends-on): Likewise.
21763         * modules/popen (Depends-on): Likewise.
21764         * modules/posix_spawn (Depends-on): Likewise.
21765         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
21766         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
21767         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
21768         * modules/posix_spawnp (Depends-on): Likewise.
21769         * modules/pread (Depends-on): Likewise.
21770         * modules/printf-posix (Depends-on): Likewise.
21771         * modules/ptsname (Depends-on): Likewise.
21772         * modules/putenv (Depends-on): Likewise.
21773         * modules/pwrite (Depends-on): Likewise.
21774         * modules/readline (Depends-on): Likewise.
21775         * modules/readlink (Depends-on): Likewise.
21776         * modules/readlinkat (Depends-on): Likewise.
21777         * modules/recv (Depends-on): Likewise.
21778         * modules/recvfrom (Depends-on): Likewise.
21779         * modules/regex (Depends-on): Likewise.
21780         * modules/remove (Depends-on): Likewise.
21781         * modules/rename (Depends-on): Likewise.
21782         * modules/renameat (Depends-on): Likewise.
21783         * modules/rmdir (Depends-on): Likewise.
21784         * modules/round (Depends-on): Likewise.
21785         * modules/roundf (Depends-on): Likewise.
21786         * modules/roundl (Depends-on): Likewise.
21787         * modules/rpmatch (Depends-on): Likewise.
21788         * modules/select (Depends-on): Likewise.
21789         * modules/send (Depends-on): Likewise.
21790         * modules/sendto (Depends-on): Likewise.
21791         * modules/setenv (Depends-on): Likewise.
21792         * modules/setlocale (Depends-on): Likewise.
21793         * modules/setsockopt (Depends-on): Likewise.
21794         * modules/shutdown (Depends-on): Likewise.
21795         * modules/sigaction (Depends-on): Likewise.
21796         * modules/signbit (Depends-on): Likewise.
21797         * modules/sigprocmask (Depends-on): Likewise.
21798         * modules/sinl (Depends-on): Likewise.
21799         * modules/sleep (Depends-on): Likewise.
21800         * modules/snprintf (Depends-on): Likewise.
21801         * modules/snprintf-posix (Depends-on): Likewise.
21802         * modules/socket (Depends-on): Likewise.
21803         * modules/sprintf-posix (Depends-on): Likewise.
21804         * modules/sqrtl (Depends-on): Likewise.
21805         * modules/stat (Depends-on): Likewise.
21806         * modules/strchrnul (Depends-on): Likewise.
21807         * modules/strdup-posix (Depends-on): Likewise.
21808         * modules/strerror (Depends-on): Likewise.
21809         * modules/strerror_r-posix (Depends-on): Likewise.
21810         * modules/strndup (Depends-on): Likewise.
21811         * modules/strnlen (Depends-on): Likewise.
21812         * modules/strptime (Depends-on): Likewise.
21813         * modules/strsep (Depends-on): Likewise.
21814         * modules/strsignal (Depends-on): Likewise.
21815         * modules/strstr-simple (Depends-on): Likewise.
21816         * modules/strtod (Depends-on): Likewise.
21817         * modules/strtoimax (Depends-on): Likewise.
21818         * modules/strtok_r (Depends-on): Likewise.
21819         * modules/strtoumax (Depends-on): Likewise.
21820         * modules/symlink (Depends-on): Likewise.
21821         * modules/symlinkat (Depends-on): Likewise.
21822         * modules/tanl (Depends-on): Likewise.
21823         * modules/tcgetsid (Depends-on): Likewise.
21824         * modules/tmpfile (Depends-on): Likewise.
21825         * modules/trunc (Depends-on): Likewise.
21826         * modules/truncf (Depends-on): Likewise.
21827         * modules/truncl (Depends-on): Likewise.
21828         * modules/uname (Depends-on): Likewise.
21829         * modules/unlink (Depends-on): Likewise.
21830         * modules/unlockpt (Depends-on): Likewise.
21831         * modules/unsetenv (Depends-on): Likewise.
21832         * modules/usleep (Depends-on): Likewise.
21833         * modules/utimensat (Depends-on): Likewise.
21834         * modules/vasprintf (Depends-on): Likewise.
21835         * modules/vdprintf (Depends-on): Likewise.
21836         * modules/vdprintf-posix (Depends-on): Likewise.
21837         * modules/vfprintf-posix (Depends-on): Likewise.
21838         * modules/vprintf-posix (Depends-on): Likewise.
21839         * modules/vsnprintf (Depends-on): Likewise.
21840         * modules/vsnprintf-posix (Depends-on): Likewise.
21841         * modules/vsprintf-posix (Depends-on): Likewise.
21842         * modules/wcrtomb (Depends-on): Likewise.
21843         * modules/wcscasecmp (Depends-on): Likewise.
21844         * modules/wcscspn (Depends-on): Likewise.
21845         * modules/wcsdup (Depends-on): Likewise.
21846         * modules/wcsncasecmp (Depends-on): Likewise.
21847         * modules/wcsnrtombs (Depends-on): Likewise.
21848         * modules/wcspbrk (Depends-on): Likewise.
21849         * modules/wcsrtombs (Depends-on): Likewise.
21850         * modules/wcsspn (Depends-on): Likewise.
21851         * modules/wcsstr (Depends-on): Likewise.
21852         * modules/wcstok (Depends-on): Likewise.
21853         * modules/wcswidth (Depends-on): Likewise.
21854         * modules/wctob (Depends-on): Likewise.
21855         * modules/wctomb (Depends-on): Likewise.
21856         * modules/wctype (Depends-on): Likewise.
21857         * modules/wcwidth (Depends-on): Likewise.
21858         * modules/write (Depends-on): Likewise.
21859
21860 2011-05-03  Bruno Haible  <bruno@clisp.org>
21861
21862         Support for conditional dependencies.
21863         * doc/gnulib.texi (Module description): Document the syntax of
21864         conditional dependencies.
21865         * gnulib-tool: New option --conditional-dependencies.
21866         (func_usage): Document it.
21867         (cond_dependencies): New variable.
21868         (func_get_automake_snippet_conditional,
21869         func_get_automake_snippet_unconditional): New functions, extracted from
21870         func_get_automake_snippet.
21871         (func_get_automake_snippet): Use them.
21872         (sed_first_32_chars): New variable.
21873         (func_module_shellfunc_name): New function.
21874         (func_module_shellvar_name): New function.
21875         (func_module_conditional_name): New function.
21876         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
21877         func_cond_module_condition): New functions.
21878         (func_modules_transitive_closure): Add support for conditional
21879         dependencies.
21880         (func_emit_lib_Makefile_am): For a conditional module, enclose the
21881         conditional automake snippet in an automake conditional.
21882         (func_emit_autoconf_snippets): Emit shell functions that contain the
21883         code for conditional modules.
21884         (func_import, func_create_testdir): Update specification.
21885
21886 2011-05-03  Eric Blake  <eblake@redhat.com>
21887
21888         test-getaddrinfo: report error information
21889         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
21890
21891 2011-05-03  Jim Meyering  <meyering@redhat.com>
21892
21893         bootstrap: avoid build failure when $GZIP is set
21894         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
21895         program name.  If defined at all, it is supposed to list gzip options.
21896         Reported by Alan Curry in http://debbugs.gnu.org/8609
21897
21898 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
21899
21900         readme-release: new module with release instructions
21901         * modules/readme-release: New module.
21902         * top/README-release: New file, from coreutils, grep, diffutils.
21903         * MODULES.html.sh (Support for maintaining and releasing): Add it.
21904
21905 2011-05-02  Eric Blake  <eblake@redhat.com>
21906
21907         fflush: also replace fclose when fixing fflush
21908         * modules/fflush (Depends-on): Add fclose.
21909         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
21910         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
21911         memstreams with no backing fd.
21912         * doc/posix-functions/fclose.texi (fclose): Document the use of
21913         fflush module to fix the bug.
21914         * tests/test-fclose.c (main): Relax test when fclose is used in
21915         isolation.
21916
21917         fclose: add some tests
21918         * modules/fclose-tests: New test module.
21919         * tests/test-fclose.c: New file.
21920         * doc/posix-functions/fclose.texi (fclose): Document the bug.
21921
21922         fclose: reduced dependencies
21923         * modules/fclose (Depends-on): Switch from fflush/fseeko to
21924         simpler lseek.
21925         * lib/fclose.c (rpl_fclose): Likewise.
21926         Reported by Simon Josefsson.
21927
21928         exit: drop remaining clients
21929         * modules/argmatch (Depends-on): Replace exit with stdlib.
21930         * modules/copy-file (Depends-on): Likewise.
21931         * modules/execute (Depends-on): Likewise.
21932         * modules/exitfail (Depends-on): Likewise.
21933         * modules/obstack (Depends-on): Likewise.
21934         * modules/pagealign_alloc (Depends-on): Likewise.
21935         * modules/pipe-filter-gi (Depends-on): Likewise.
21936         * modules/pipe-filter-ii (Depends-on): Likewise.
21937         * modules/savewd (Depends-on): Likewise.
21938         * modules/spawn-pipe (Depends-on): Likewise.
21939         * modules/wait-process (Depends-on): Likewise.
21940         * modules/xsetenv (Depends-on): Likewise.
21941         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
21942         * modules/git-merge-changelog (Depends-on): Likewise.
21943         * modules/long-options (Depends-on): Likewise.
21944         * modules/pt_chown (Depends-on): Likewise.
21945         * modules/sysexits (Depends-on): Likewise.
21946
21947         freading: relax license from LGPLv3+ to LGPLv2+
21948         * modules/freading (License): Relax LGPL version.
21949
21950 2011-05-02  Bruno Haible  <bruno@clisp.org>
21951
21952         fchdir: Remove unused dependencies.
21953         * modules/fchdir (Depends-on): Remove include_next.
21954
21955 2011-05-02  Bruno Haible  <bruno@clisp.org>
21956
21957         gnulib-tool: Refactor.
21958         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
21959         from func_emit_autoconf_snippets.
21960         (func_emit_autoconf_snippets): Use it.
21961
21962 2011-05-02  Simon Josefsson  <simon@josefsson.org>
21963
21964         * NEWS: Document removal of 'exit'.
21965         * modules/exit: Remove file.
21966
21967 2011-05-01  Bruno Haible  <bruno@clisp.org>
21968
21969         Update DEPENDENCIES.
21970         * DEPENDENCIES (gettext): Recommend the newest release.
21971         Reported by Simon Josefsson.
21972
21973 2011-05-01  Bruno Haible  <bruno@clisp.org>
21974
21975         gnulib-tool: Reduce code duplication.
21976         * gnulib-tool (func_emit_autoconf_snippets): New function.
21977         (func_import, func_create_testdir): Use it.
21978
21979 2011-04-30  Eric Blake  <eblake@redhat.com>
21980
21981         fclose: don't fail on non-seekable input stream
21982         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
21983         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
21984         since fflush is allowed to fail in that case.
21985
21986 2011-04-30  Bruno Haible  <bruno@clisp.org>
21987
21988         dup3: cleanup
21989         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
21990
21991 2011-04-30  Bruno Haible  <bruno@clisp.org>
21992
21993         netdb: Make it work in C++ mode.
21994         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
21995         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
21996         module.
21997         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
21998         gl_MODULE_INDICATOR_FOR_TESTS.
21999         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
22000         * modules/netdb-c++-tests: New file.
22001         * tests/test-netdb-c++.cc: New file.
22002
22003 2011-04-30  Bruno Haible  <bruno@clisp.org>
22004
22005         New modules 'vfscanf', 'vscanf'.
22006         * modules/vfscanf: New file.
22007         * modules/vscanf: New file.
22008         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
22009         here.
22010         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
22011         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
22012
22013 2011-04-30  Bruno Haible  <bruno@clisp.org>
22014
22015         passfd: Add comments.
22016         * lib/passfd.c: Add comments about platforms.
22017
22018 2011-04-30  Bruno Haible  <bruno@clisp.org>
22019
22020         sys_uio: Make <sys/uio.h> self-contained.
22021         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
22022         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
22023
22024 2011-04-30  Bruno Haible  <bruno@clisp.org>
22025
22026         sys_socket: Ensure 'struct iovec' definition.
22027         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
22028         <sys/socket.h>.
22029         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
22030
22031 2011-04-30  Bruno Haible  <bruno@clisp.org>
22032
22033         sys_uio: Protect definition of 'struct iovec'.
22034         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
22035         it as a C struct.
22036
22037 2011-04-30  Bruno Haible  <bruno@clisp.org>
22038
22039         manywarnings: fix indentation
22040         * m4/manywarnings.m4: Indent by 2 spaces consistently.
22041
22042 2011-04-30  Pádraig Brady <P@draigBrady.com>
22043
22044         manywarnings: add -Wno-missing-field-initializers if needed.
22045         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
22046         option if it's needed to allow initialization with { 0, }
22047
22048 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
22049
22050         announce-gen: cosmetic improvement
22051         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
22052
22053 2011-04-29  Jim Meyering  <meyering@redhat.com>
22054
22055         vc-list-files: indent with spaces, not TABs
22056         * build-aux/vc-list-files: Convert leading TABs to spaces,
22057         to match the style of most other files in gnulib.
22058
22059         announce-gen: indent with spaces, not TABs
22060         * build-aux/announce-gen: Convert all TABs to spaces, to match
22061         the style of most other files in gnulib.
22062
22063 2011-04-29  Eric Blake  <eblake@redhat.com>
22064
22065         quotearg: avoid uninitialized variable use
22066         * lib/quotearg.c (quoting_options_from_style): Initialize
22067         remaining fields, and ensure that custom styles are only used via
22068         quoting_options rather than quoting_style.
22069
22070 2011-04-29  Jim Meyering  <meyering@redhat.com>
22071
22072         maint.mk: remove unused VC-tag variable
22073         * top/maint.mk (VC-tag): Remove unused variable.
22074
22075 2011-04-29  Bruno Haible  <bruno@clisp.org>
22076
22077         netdb: fix gai_strerror replacements
22078         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
22079         * modules/netdb: Substitute it.
22080
22081 2011-04-29  Jim Meyering  <meyering@redhat.com>
22082
22083         test-getcwd.c: avoid new set-but-not-used warning
22084         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
22085         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
22086         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
22087         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
22088
22089         test-hash.c: avoid a new shadowing warning
22090         * tests/test-hash.c (main): Don't shadow "dup".
22091
22092 2011-04-28  Eric Blake  <eblake@redhat.com>
22093
22094         getaddrinfo: fix gai_strerror signature
22095         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
22096         and work around mingw with UNICODE defined.
22097         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
22098         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
22099         * modules/netdb (Makefile.am): Substitute it.
22100         * lib/netdb.in.h (gai_strerror): Declare replacement.
22101         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
22102         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
22103         the fix.
22104
22105         getsockopt: avoid compiler warning
22106         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
22107         Reported by Matthias Bolte.
22108
22109         tests: drop unused link dependency
22110         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
22111         * modules/dirent-safer-tests (Makefile.am): Likewise.
22112         * modules/fdopendir-tests (Makefile.am): Likewise.
22113         * modules/mkfifoat-tests (Makefile.am): Likewise.
22114         * modules/openat-safer-tests (Makefile.am): Likewise.
22115         * modules/openat-tests (Makefile.am): Likewise.
22116         * modules/readlinkat-tests (Makefile.am): Likewise.
22117         * modules/symlinkat-tests (Makefile.am): Likewise.
22118         * modules/linkat-tests (Makefile.am): Likewise.
22119         (Depends-on): Switch to filenamecat-lgpl.
22120         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
22121         LIBINTL.
22122         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
22123         * tests/test-linkat.c (main): Don't require xalloc.
22124
22125         hash, mgetgroups: drop xalloc dependency
22126         * lib/hash.c (includes): Adjust includes.
22127         * lib/mgetgroups.c (includes): Likewise.
22128         (xgetgroups): Move...
22129         * lib/xgetgroups.c: ...to new file.
22130         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
22131         * modules/xgetgroups: New file, split from...
22132         * modules/mgetgroups: ...here.
22133         (Depends-on): Add xalloc-oversized.
22134         * modules/hash (Depends-on): Likewise.
22135         * modules/hash-tests (Depends-on): Drop xalloc.
22136         (test_hash_LDADD): Drop unused library.
22137         * tests/test-hash.c (main): Break xalloc dependency.
22138         (includes): Drop unused include.
22139
22140         xalloc-oversized: new module
22141         * modules/xalloc-oversized: New module.
22142         * modules/xalloc (Depends-on): Add it.
22143         * lib/xalloc.h (xalloc_oversized): Move...
22144         * lib/xalloc-oversized.h: ...into new file.
22145
22146         utimecmp: drop dependency on xmalloc
22147         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
22148         due to memory pressure.
22149         * modules/utimecmp (Depends-on): Drop xalloc.
22150
22151 2011-04-27  Eric Blake  <eblake@redhat.com>
22152
22153         getcwd: fix mingw bugs
22154         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
22155         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
22156         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
22157
22158 2011-04-27  Bruno Haible  <bruno@clisp.org>
22159
22160         mkstemps: Ensure declaration on MacOS X 10.5.
22161         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
22162         * doc/glibc-functions/mkstemps.texi: Document header file problem on
22163         MacOS X.
22164
22165 2011-04-27  Bruno Haible  <bruno@clisp.org>
22166
22167         mkstemp: More documentation.
22168         * doc/posix-functions/mkstemp.texi: Document header file problem on
22169         MacOS X.
22170
22171 2011-04-27  Bruno Haible  <bruno@clisp.org>
22172
22173         mkstemp: Tweak configure message when cross-compiling.
22174         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
22175         result as a guess.
22176
22177 2011-04-27  Bruno Haible  <bruno@clisp.org>
22178
22179         clean-temp: Clarify what it does.
22180         * lib/clean-temp.h: Add more comments.
22181         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
22182         module.
22183         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
22184         * doc/glibc-functions/mkstemps.texi: Likewise.
22185         * doc/glibc-functions/mkostemps.texi: Likewise.
22186
22187 2011-04-27  Eric Blake  <eblake@redhat.com>
22188
22189         fchdir: avoid extra chdir and fix test
22190         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
22191         getcwd-lgpl.
22192         * lib/fchdir.c (get_name): Any absolute name will do; it does not
22193         have to be canonical.
22194         (canonicalize_file_name): Drop unused macro.
22195         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
22196
22197         filenamecat-lgpl: fix licence
22198         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
22199         when it was first created.
22200
22201         linkat, renameat: add missing dependency
22202         * modules/linkat (Depends-on): Require getcwd-lgpl.
22203         * modules/renameat (Depends-on): Likewise.
22204
22205         tests: reduce dependencies
22206         * tests/test-linkat.c (main): Use lighter-weight getcwd.
22207         * tests/test-renameat.c (main): Likewise.
22208         * modules/linkat-tests (Depends-on): Relax dependency.
22209         * modules/renameat-tests (Depends-on): Likewise.
22210         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
22211         dependency explicit.
22212
22213         save-cwd: reduce default dependency
22214         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
22215         * lib/save-cwd.c: Update comments.
22216         * NEWS: Document the semantic change.
22217
22218         getcwd: enhance tests
22219         * tests/test-getcwd-lgpl.c: New file, taken from...
22220         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
22221         repeat long path stress tests from m4 probe.
22222         * modules/getcwd-lgpl-tests: New module.
22223         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
22224         * m4/getcwd-abort-bug.m4: Update comment.
22225         * m4/getcwd-path-max.m4: Likewise.
22226
22227         getcwd-lgpl: new module
22228         * modules/getcwd-lgpl: New module.
22229         * lib/getcwd-lgpl.c: New file.
22230         * doc/posix-functions/getcwd.texi (getcwd): Document it.
22231         * MODULES.html.sh (lacking POSIX:2008): Likewise.
22232         * modules/getcwd (configure.ac): Set C witness.
22233         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
22234
22235         getcwd: tweak comments
22236         * m4/getcwd-abort-bug.m4: Fix comments.
22237         * m4/getcwd-path-max.m4: Likewise.
22238         * m4/getcwd.m4: Likewise.
22239
22240 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
22241         and Eric Blake  <eblake@redhat.com>
22242
22243         mkstemp: replace if system version uses wrong permissions
22244         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
22245         read/write mode bits set in file created by mkstemp.
22246         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
22247
22248 2011-04-27  Eric Blake  <eblake@redhat.com>
22249
22250         passfd: avoid compiler warning
22251         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
22252         Reported by Laine Stump.
22253
22254 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
22255
22256         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
22257         required by the NetBSD (and perhaps other 4.4BSD derived) join.
22258
22259 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
22260         and Eric Blake  <eblake@redhat.com>
22261
22262         mkstemp: mention clean-temp module
22263         * lib/mkstemp.c: Add comment.
22264         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
22265
22266 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
22267
22268         inttypes: also provide default values for 32-bit tests
22269         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
22270         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
22271
22272 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
22273
22274         strtoumax: remove dependency on strtoimax
22275         This is like the strtoull change of yesterday.
22276         * modules/strtoumax (Files): Add lib/strtoimax.c.
22277         (Depends-on): Remove strtoimax and add verify.
22278
22279         inttypes-incomplete: new module
22280         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
22281         all but the PRI* and SCN* parts of gl_INTTYPES_H.
22282         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
22283         of gl_INTTYPES_H.
22284         (gl_INTTYPES_H): Rewrite in terms of these new macros.
22285         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
22286         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
22287         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
22288         * modules/strtoumax, modules/xstrtol (Depends-on):
22289         Depend on inttypes-incomplete, not inttypes.
22290         * modules/inttypes-incomplete: New module, containing the contents
22291         of the old modules/inttypes module, except that the Files: section
22292         omits m4/inttypes-pri.m4, and the configure.ac section invokes
22293         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
22294         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
22295         (Depends-on): Depend only on inttypes-incomplete.
22296         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
22297
22298         inttypes: omit now-redundant strtoimax and strtoumax work
22299         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
22300         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
22301
22302         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
22303         This supports apps that need pointers to strtoimax and strtoumax,
22304         and ports to HP-UX 11.00 64.bit, which has macros that expand to
22305         nonexistent functions.  See
22306         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
22307         et seq.
22308         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
22309         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
22310         a macro.
22311         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
22312
22313 2011-04-25  Simon Josefsson  <simon@josefsson.org>
22314
22315         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
22316
22317 2011-04-25  Bruno Haible  <bruno@clisp.org>
22318
22319         strtol, strtoul: Mark modules as obsolete.
22320         * modules/strtol (Status, Notice): New sections.
22321         * modules/strtoul (Status, Notice): New sections.
22322
22323 2011-04-25  Bruno Haible  <bruno@clisp.org>
22324
22325         strtod: Remove check for strtod, unless supporting old platforms.
22326         * modules/strtod-obsolete: New file.
22327         * m4/strtod-obsolete.m4: New file.
22328         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
22329         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
22330         * modules/strtod (Depends-on): Add strtod-obsolete.
22331         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
22332
22333 2011-04-25  Bruno Haible  <bruno@clisp.org>
22334
22335         strcase: Make module obsolete.
22336         * modules/strcase (Status, Notice): New sections.
22337
22338 2011-04-25  Bruno Haible  <bruno@clisp.org>
22339
22340         dup2: Remove check for dup2, unless supporting old obsolete platforms.
22341         * modules/dup2-obsolete: New file.
22342         * m4/dup2-obsolete.m4: New file.
22343         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
22344         gl_FUNC_DUP2_OBSOLETE is not also defined.
22345         * modules/dup2 (Depends-on): Add dup2-obsolete.
22346         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
22347
22348 2011-04-25  Bruno Haible  <bruno@clisp.org>
22349
22350         strnlen: Avoid memchr related link error on old obsolete platforms.
22351         * modules/memchr-obsolete: New file.
22352         * m4/memchr-obsolete.m4: New file.
22353         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
22354         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
22355         * modules/memchr (Depends-on): Add memchr-obsolete.
22356         * modules/strnlen (Depends-on): Likewise.
22357         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
22358
22359 2011-04-25  Jim Meyering  <meyering@redhat.com>
22360
22361         maint.mk: makefile_at_at_check extend and clean up
22362         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
22363         in addition to */Makefile.am.
22364         Exempt legitimate uses of @VAR@ notation, e.g.,
22365         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
22366         Remove obsolete coreutils-specific comment.
22367         Prompted by discussion here:
22368         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
22369
22370 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
22371
22372         strtoul: remove dependency on strtol
22373         This is so that 'configure' need not check for strtol merely because
22374         the application needs strtoul.
22375         * modules/strtoul (Files): Add lib/strtol.c.
22376         (Depends-on): Remove strtol.
22377
22378         strtoull: remove dependency on strtoul
22379         This is like the strtoll change.
22380         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
22381         (Depends-on): Remove strtoul.
22382
22383         strtoll: remove dependency on strtol
22384         This is so that 'configure' need not check for strtol merely because
22385         the application needs strtoll.
22386         * modules/strtoll (Files): Add lib/strtol.c.
22387         (Depends-on): Remove strtol.
22388
22389 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22390
22391         inttypes: Move some configure check to module 'imaxdiv'.
22392         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
22393         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
22394         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
22395
22396 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22397
22398         inttypes: Move some configure check to module 'imaxabs'.
22399         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
22400         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
22401         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
22402
22403 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22404
22405         inttypes: Remove configure tests that are not needed since 2009-12-31.
22406         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
22407         gl_cv_header_working_inttypes_h.
22408
22409 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22410
22411         * modules/strnlen (Depends-on): Remove memchr.
22412         The strnlen implementation doesn't need the memchr module's fixes; see
22413         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
22414
22415         strtol: remove dependency on wchar
22416         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
22417         * modules/strtol (Depends-on): Remove wchar.
22418
22419 2011-04-21  Eric Blake  <eblake@redhat.com>
22420
22421         passfd: fix test regression on Linux
22422         * modules/passfd-tests (configure.ac): Correct socketpair check.
22423
22424         passfd: speed up configure and drop unused code
22425         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
22426         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
22427         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
22428         Instead of probing at configure for unix_scm_rights_bsd44_way,
22429         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
22430         check to a struct member probe.
22431         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
22432         (sendfd, recvfd): Update preprocessor checks.
22433         * modules/passfd (Files): Reflect rename, and drop unused file.
22434         (Depends-on): Drop unused dependency.
22435
22436         passfd: allow compilation on mingw
22437         * modules/sys_socket (Depends-on): Add sys_uio.
22438         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
22439         iovec and a minimal struct msghdr.
22440         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
22441         * tests/test-sys_socket.c (main): Enhance test.
22442         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
22443         guaranteed to provide what we need.
22444         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
22445         * modules/passfd-tests (Depends-on): Add sys_wait.
22446         * tests/test-passfd.c (main): Skip test on mingw, for now.
22447         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
22448         partial 'struct msghdr' implementation.
22449
22450         sys_uio: new module
22451         * modules/sys_uio: New module.
22452         * modules/sys_uio-tests: Likewise.
22453         * lib/sys_uio.in.h: New file.
22454         * m4/sys_uio_h.m4: Likewise.
22455         * tests/test-sys_uio.c: Likewise.
22456         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
22457         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
22458
22459 2011-04-20  Jim Meyering  <meyering@redhat.com>
22460
22461         useless-if-before-free: avoid false-positive
22462         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
22463         disjunct so that it too requires a terminating ";".  Without that,
22464         this script would identify as useless one statement from gcc that
22465         was not:
22466           if (aligned_ptr)
22467             free (((void **) aligned_ptr) [-1]);
22468
22469 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
22470
22471         doc: update users.txt.
22472         * users.txt: Add barcode.
22473
22474 2011-04-19  Bruno Haible  <bruno@clisp.org>
22475
22476         ioctl: Remove link dependency on native Windows.
22477         * lib/fd-hook.h: Renamed from lib/close-hook.h.
22478         (gl_close_fn, gl_ioctl_fn): New types.
22479         (struct fd_hook): Renamed from struct close_hook. Change type of
22480         private_close_fn field. Add private_ioctl_fn field.
22481         (close_hook_fn): Add parameter for primary close method.
22482         (execute_close_hooks, execute_all_close_hooks): Likewise.
22483         (ioctl_hook_fn): New type.
22484         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
22485         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
22486         argument.
22487         (unregister_fd_hook): Renamed from unregister_close_hook.
22488         * lib/fd-hook.c: Renamed from lib/close-hook.c.
22489         Don't include <unistd.h>.
22490         (close): Remove undef.
22491         (anchor): Update.
22492         (execute_close_hooks): Add argument for primary close method.
22493         (execute_all_close_hooks): Likewise.
22494         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
22495         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
22496         argument. Allow each argument to be NULL.
22497         (unregister_fd_hook): Renamed from unregister_close_hook.
22498         * lib/close.c (rpl_close): Pass 'close' function pointer to
22499         execute_all_close_hooks.
22500         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
22501         (primary_ioctl): New function.
22502         (ioctl): Don't call ioctlsocket here. Instead, call
22503         execute_all_ioctl_hooks.
22504         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
22505         close method.
22506         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
22507         (fd_sockets_hook): Renamed from close_sockets_hook.
22508         (gl_sockets_startup, gl_sockets_cleanup): Update.
22509         * modules/fd-hook: Renamed from modules/close-hook. Update.
22510         * modules/close (Depends-on): Add fd-hook, remove close-hook.
22511         * modules/sockets (Depends-on): Likewise.
22512         * modules/ioctl (Depends-on): Add fd-hook.
22513         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
22514         GNULIB_SOCKET.
22515
22516 2011-04-19  Bruno Haible  <bruno@clisp.org>
22517
22518         Move the support of O_NONBLOCK in open() to the 'open' module.
22519         * modules/nonblocking (Depends-on): Remove 'open'.
22520         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
22521         gl_cv_have_open_O_NONBLOCK.
22522         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
22523         O_NONBLOCK support.
22524         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
22525
22526 2011-04-17  Bruno Haible  <bruno@clisp.org>
22527
22528         pipe2: Simplify code.
22529         * lib/pipe2.c (pipe2): Reduce code duplication.
22530
22531 2011-04-17  Bruno Haible  <bruno@clisp.org>
22532
22533         nonblocking: Add comment.
22534         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
22535
22536 2011-04-17  Bruno Haible  <bruno@clisp.org>
22537
22538         nonblocking: Add tests for sockets.
22539         * tests/test-nonblocking-socket.sh: New file.
22540         * tests/test-nonblocking-socket-main.c: New file.
22541         * tests/test-nonblocking-socket-child.c: New file.
22542         * tests/test-nonblocking-socket.h: New file.
22543         * tests/socket-server.h: New file.
22544         * tests/socket-client.h: New file.
22545         * modules/nonblocking-socket-tests: New file.
22546         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
22547
22548 2011-04-17  Bruno Haible  <bruno@clisp.org>
22549
22550         nonblocking: Add tests for pipes.
22551         * tests/test-nonblocking-pipe.sh: New file.
22552         * tests/test-nonblocking-pipe-main.c: New file.
22553         * tests/test-nonblocking-pipe-child.c: New file.
22554         * tests/test-nonblocking-pipe.h: New file.
22555         * tests/test-nonblocking-writer.h: New file.
22556         * tests/test-nonblocking-reader.h: New file.
22557         * tests/test-nonblocking-misc.h: New file.
22558         * modules/nonblocking-pipe-tests: New file.
22559         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
22560
22561 2011-04-16  Bruno Haible  <bruno@clisp.org>
22562
22563         gettext: Clarify the needed programmer actions.
22564         * modules/gettext (Notice): New field.
22565         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
22566
22567 2011-04-16  Bruno Haible  <bruno@clisp.org>
22568
22569         strchrnul: Tweak last commit.
22570         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
22571         bug.
22572         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
22573         as in _GL_FUNCDECL_SYS.
22574         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
22575         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
22576
22577 2011-04-15  Eric Blake  <eblake@redhat.com>
22578
22579         strchrnul: work around cygwin bug
22580         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
22581         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
22582         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
22583         * modules/string (Makefile.am): Substitute it.
22584         * lib/string.in.h (strchrnul): Use it.
22585
22586 2011-04-15  Bruno Haible  <bruno@clisp.org>
22587
22588         Don't require lib/stdio-write.c when only module 'stdio' is used.
22589         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
22590         invocation.
22591         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
22592
22593 2011-04-14  Bruno Haible  <bruno@clisp.org>
22594
22595         Support non-blocking pipe I/O in read() on native Windows.
22596         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
22597         (read): New declaration.
22598         * lib/read.c: New file.
22599         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
22600         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
22601         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
22602         vscanf): New declarations.
22603         * lib/stdio-read.c: New file.
22604         * m4/read.m4: New file.
22605         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
22606         REPLACE_READ.
22607         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
22608         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22609         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
22610         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
22611         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
22612         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22613         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
22614         * modules/read: New file.
22615         * modules/nonblocking (Files): Add lib/stdio-read.c.
22616         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
22617         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
22618         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22619         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
22620         * modules/pread (Depends-on): Add read.
22621         * modules/safe-read (Depends-on): Likewise.
22622         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
22623         gets, scanf, vfscanf, vscanf): Verify signatures.
22624         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
22625         problem with non-blocking pipes.
22626         * doc/posix-functions/fgetc.texi: Likewise.
22627         * doc/posix-functions/fgets.texi: Likewise.
22628         * doc/posix-functions/fread.texi: Likewise.
22629         * doc/posix-functions/fscanf.texi: Likewise.
22630         * doc/posix-functions/getc.texi: Likewise.
22631         * doc/posix-functions/getchar.texi: Likewise.
22632         * doc/posix-functions/gets.texi: Likewise.
22633         * doc/posix-functions/scanf.texi: Likewise.
22634         * doc/posix-functions/vfscanf.texi: Likewise.
22635         * doc/posix-functions/vscanf.texi: Likewise.
22636
22637 2011-04-14  Bruno Haible  <bruno@clisp.org>
22638
22639         Support non-blocking pipe I/O in write() on native Windows.
22640         * lib/write.c (rpl_write): Split a write request that failed merely
22641         because the byte count was larger than the pipe buffer's size.
22642         * doc/posix-functions/write.texi: Mention the problem with large byte
22643         counts.
22644
22645 2011-04-14  Bruno Haible  <bruno@clisp.org>
22646
22647         wchar: Ensure that wchar_t gets defined on uClibc.
22648         * lib/wchar.in.h: On uClibc, include <stddef.h>.
22649         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
22650
22651 2011-04-13  Bruno Haible  <bruno@clisp.org>
22652
22653         safe-write, full-read: Avoid unnecessary compilation units.
22654         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
22655         (Depends-on): Remove safe-read. Add ssize_t.
22656         * modules/full-read (Files): Add lib/full-write.c.
22657         (Depends-on): Add full-write.
22658
22659 2011-04-13  Bruno Haible  <bruno@clisp.org>
22660
22661         Support non-blocking pipe I/O and SIGPIPE in pwrite().
22662         * modules/pwrite (Depends-on): Add 'write'.
22663
22664 2011-04-13  Bruno Haible  <bruno@clisp.org>
22665
22666         Support non-blocking pipe I/O in write() on native Windows.
22667         * lib/unistd.in.h (write): Enable replacement also if
22668         GNULIB_UNISTD_H_NONBLOCKING is 1.
22669         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
22670         (rpl_write): When failing to write on a non-blocking pipe, change
22671         errno from ENOSPC to EAGAIN.
22672         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
22673         putchar, puts, vfprintf, vprintf): Enable replacement also if
22674         GNULIB_STDIO_H_NONBLOCKING is 1.
22675         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
22676         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
22677         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
22678         CALL_WITH_SIGPIPE_EMULATION.
22679         (CALL_WITH_SIGPIPE_EMULATION): Use them.
22680         * m4/nonblocking.m4: New file.
22681         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
22682         for non-blocking I/O support.
22683         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22684         GNULIB_UNISTD_H_NONBLOCKING.
22685         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
22686         required for non-blocking I/O support.
22687         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
22688         * modules/nonblocking (Files): Add m4/nonblocking.m4,
22689         lib/stdio-write.c, m4/asm-underscore.m4.
22690         (Depends-on): Add stdio, unistd.
22691         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
22692         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
22693         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
22694         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
22695         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
22696         problem with non-blocking pipes.
22697         * doc/posix-functions/fputc.texi: Likewise.
22698         * doc/posix-functions/fputs.texi: Likewise.
22699         * doc/posix-functions/fwrite.texi: Likewise.
22700         * doc/posix-functions/printf.texi: Likewise.
22701         * doc/posix-functions/putc.texi: Likewise.
22702         * doc/posix-functions/putchar.texi: Likewise.
22703         * doc/posix-functions/puts.texi: Likewise.
22704         * doc/posix-functions/vfprintf.texi: Likewise.
22705         * doc/posix-functions/vprintf.texi: Likewise.
22706         * doc/posix-functions/write.texi: Likewise.
22707
22708 2011-04-10  Jim Meyering  <meyering@redhat.com>
22709
22710         maint.mk: prohibit doubled words
22711         Detect them also when they're separated by a newline.
22712         There are 3 ways to customize it:
22713           - disable the test on a per file basis, as usual with rules using
22714             $(VC_LIST_EXCEPT)
22715           - replace the default doubled-word-selecting regexp (affects all files)
22716           - ignore a particular file-vs-doubled-word match
22717         I nearly used that last one to ignore the "is is" match in
22718         coreutils' NEWS file, since the text was "ls -is is ..."
22719         To do that, I would have added this line to cfg.mk:
22720           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
22721         but it would have ignored any "is is" match in NEWS.
22722         Low probability, but still...
22723         Instead, I changed the text, slightly:
22724           -  ls -is is now consistent with ls -lis in ignoring values returned
22725           +  "ls -is" is now consistent with ls -lis in ignoring values returned
22726         * top/maint.mk (prohibit_double_word_RE_): Provide default.
22727         (prohibit_doubled_word_): Define.
22728         (sc_prohibit_doubled_word): New rule.
22729         (sc_prohibit_the_the): Remove.  Subsumed by the above.
22730
22731 2011-04-10  Jim Meyering  <meyering@redhat.com>
22732
22733         maint: fix doubled-word typo in comment
22734         * m4/gethostname.m4: s/is is/it is/
22735         * m4/getdomainname.m4: Likewise.
22736
22737 2011-04-10  Jim Meyering  <meyering@redhat.com>
22738
22739         maint: remove doubled word: s/it it/it/
22740         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
22741
22742 2011-04-10  Jim Meyering  <meyering@redhat.com>
22743
22744         maint.mk: remove useless semicolon and backslash
22745         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
22746         semicolon and backslash.
22747
22748 2011-04-10  Bruno Haible  <bruno@clisp.org>
22749
22750         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
22751         * modules/stdint-tests (Depends-on): Add wchar.
22752
22753 2011-04-10  Jim Meyering  <meyering@redhat.com>
22754
22755         maint: remove doubled words in comments, e.g., s/a a/a/
22756         * lib/strptime.c (day_of_the_week): s/the the/the/
22757         * tests/test-chown.h (test_chown): s/a a/a/
22758
22759         test-chown.h: correct a cast
22760         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
22761         when the destination is a stat.st_gid.
22762
22763 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
22764
22765         getaddrinfo: Fix test for sa_len member.
22766         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
22767         include <sys/types.h> before <sys/socket.h>.
22768
22769 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
22770
22771         maint: change "can not" to "cannot"
22772         * doc/posix-functions/iconv.texi (iconv): This one crossed line
22773         boundaries.
22774
22775 2011-04-09  Jim Meyering  <meyering@redhat.com>
22776
22777         maint: change "a a" to "a"
22778         * tests/test-lchown.h (test_lchown): s/a a/a/
22779
22780         maint.mk: prohibit \<the the\>
22781         * top/maint.mk (sc_prohibit_the_the): New rule.
22782
22783         maint: fix "the the" in comment
22784         * lib/count-one-bits.h: s/the the/the/
22785
22786         maint: change "can not" to "cannot"
22787         But do not change the occurrences in maintain.texi or in
22788         build-aux/po/Makefile.in.in, which I presume comes from gettext.
22789         * doc/gnulib-tool.texi: s/can not/cannot/
22790         * doc/posix-functions/accept.texi (accept): Likewise.
22791         * doc/posix-functions/socket.texi (socket): Likewise.
22792         * lib/mbrtowc.c: Likewise.
22793
22794         maint.mk: prohibit use of "can not"
22795         * top/maint.mk (sc_prohibit_can_not): New rule.
22796         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
22797
22798 2011-04-09  Bruno Haible  <bruno@clisp.org>
22799
22800         careadlinkat: Guard against misuse of careadlinkatcwd.
22801         * lib/careadlinkat.c: Include <stdlib.h>.
22802         (careadlinkatcwd): Check that the fd argument is as expected.
22803
22804 2011-04-09  Bruno Haible  <bruno@clisp.org>
22805
22806         careadlinkat: Use common coding style.
22807         * lib/careadlinkat.c: Move gnulib includes after system includes.
22808
22809 2011-04-09  Bruno Haible  <bruno@clisp.org>
22810
22811         careadlinkat: Clarify specification.
22812         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
22813         (careadlinkatcwd): Add comment.
22814         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
22815
22816 2011-04-09  Bruno Haible  <bruno@clisp.org>
22817
22818         areadlinkat: Avoid link error on many platforms.
22819         * modules/areadlinkat (Depends-on): Add areadlink.
22820
22821 2011-04-09  Bruno Haible  <bruno@clisp.org>
22822
22823         allocator, careadlinkat: Fix double-inclusion guard.
22824         * lib/allocator.h: Fix double-inclusion guard.
22825         * lib/careadlinkat.h: Likewise.
22826
22827 2011-04-09  Bruno Haible  <bruno@clisp.org>
22828
22829         relocatable-prog-wrapper: Update after module 'areadlink' changed.
22830         * lib/relocwrapper.c: Update dependencies hierarchy.
22831         * build-aux/install-reloc: Update list of files to be compiled.
22832         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
22833         lib/allocator.[hc].
22834
22835 2011-04-08  Eric Blake  <eblake@redhat.com>
22836
22837         strftime: silence gnulib-tool warning
22838         * modules/strftime-tests (Depends-on): Drop automatic dependency.
22839
22840 2011-04-08  Bruno Haible  <bruno@clisp.org>
22841
22842         verify: Fix syntax error with GCC 4.6 in C++ mode.
22843         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
22844         (HAVE_STATIC_ASSERT): New macro.
22845         (verify_true, verify): Use 'static_assert' if it is supported and
22846         '_Static_assert' is not supported.
22847
22848 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
22849
22850         allocator: New module.
22851         * modules/allocator, lib/allocator.c: New files.
22852         * lib/allocator.h (stdlib_allocator): New decl.
22853         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
22854         Remove.  Do not include <stdlib.h>.
22855         (careadlinkat): Use stdlib_allocator instead of rolling our own.
22856         * modules/careadlinkat (Files): Remove lib/allocator.h.
22857         (Depends-on): Add allocator.
22858
22859         stdlib: let modules use system malloc, realloc
22860         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
22861         if !_GL_USE_STDLIB_ALLOC.
22862         (malloc, realloc): Limit this change to a smaller scope.
22863
22864         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
22865         (malloc, realloc): Don't #undef; no longer needed.
22866         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22867         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22868         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22869         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22870         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22871         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22872         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22873         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22874
22875         careadlinkat: rename members to avoid problem
22876         * lib/allocator.h (struct allocator): Rename members from
22877         malloc/realloc to allocate/reallocate, to avoid problems if malloc
22878         and realloc are #define'd.  Reported by Eric Blake in
22879         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
22880         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
22881
22882 2011-04-08  Eric Blake  <eblake@redhat.com>
22883
22884         nonblocking: reduce dependency
22885         * tests/test-nonblocking.c: Only test sockets when in use.
22886         * modules/nonblocking-tests (Depends-on): Drop socket.
22887         (Makefile.am): Link even if sockets are not present.
22888         * modules/pipe2-tests (Makefile.am): Likewise.
22889         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
22890
22891         pipe2: fix O_NONBLOCK support on mingw
22892         * modules/pipe2 (Depends-on): Add nonblocking.
22893         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
22894         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
22895         * tests/test-nonblocking.c (main): Likewise.
22896         * modules/pipe2-tests (Makefile.am): Avoid link failure.
22897
22898         fcntl-h: fix O_ACCMODE on cygwin
22899         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
22900         * lib/fcntl.in.h (O_ACCMODE): Fix it.
22901
22902         pipe-filter: drop O_NONBLOCK workarounds
22903         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
22904         * modules/pipe-filter-ii (Depends-on): Likewise.
22905         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
22906
22907         nonblocking: provide O_NONBLOCK for mingw
22908         * modules/nonblocking (Depends-on): Add open.
22909         (configure.ac): Set new witness macro.
22910         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
22911         * modules/fcntl-h (Makefile.am): Substitute it.
22912         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
22913         nonblocking module is in use.
22914         * lib/nonblocking.c: Adjust portability test.
22915         * lib/open.c (open): Don't let native open see gnulib flag.
22916         * tests/test-fcntl-h.c (main): Enhance test.
22917         * tests/test-open.h (test_open): Likewise.
22918         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
22919
22920         careadlinkat: fix compilation error on mingw
22921         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
22922         within struct allocator.
22923
22924 2011-04-06  Eric Blake  <eblake@redhat.com>
22925
22926         binary-io: relicense under LGPLv2+
22927         * modules/binary-io (License): Relax to LGPLv2+.
22928         Requested for libvirt, and required by pipe2.
22929
22930 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
22931
22932         verify: use _Static_assert if available
22933         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
22934         (verify_true, verify): Use it if available.  This generates better
22935         diagnostics with GCC 4.6.0 and later.
22936
22937 2011-04-05  Bruno Haible  <bruno@clisp.org>
22938
22939         Remove leftover generated .h files after config.status changed.
22940
22941         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
22942         GL_GENERATE_ALLOCA_H.
22943         * modules/alloca-opt (Makefile.am): Remove alloca.h if
22944         GL_GENERATE_ALLOCA_H evaluates to false.
22945
22946         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
22947         GL_GENERATE_ARGZ_H.
22948         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
22949         evaluates to false.
22950
22951         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
22952         GL_GENERATE_BYTESWAP_H.
22953         * modules/byteswap (Makefile.am): Remove byteswap.h if
22954         GL_GENERATE_BYTESWAP_H evaluates to false.
22955
22956         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
22957         GL_GENERATE_ERRNO_H.
22958         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
22959         evaluates to false.
22960
22961         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
22962         GL_GENERATE_FLOAT_H.
22963         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
22964         evaluates to false.
22965
22966         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
22967         GL_GENERATE_FNMATCH_H.
22968         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
22969         GL_GENERATE_FNMATCH_H evaluates to false.
22970
22971         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
22972         GL_GENERATE_GLOB_H.
22973         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
22974         evaluates to false.
22975
22976         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
22977         automake conditional GL_GENERATE_ICONV_H.
22978         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
22979         evaluates to false.
22980
22981         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
22982         GL_GENERATE_NETINET_IN_H.
22983         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
22984         GL_GENERATE_NETINET_IN_H evaluates to false.
22985
22986         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
22987         conditional GL_GENERATE_PTHREAD_H.
22988         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
22989         * modules/pthread (Makefile.am): Remove pthread.h if
22990         GL_GENERATE_PTHREAD_H evaluates to false.
22991
22992         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
22993         GL_GENERATE_SCHED_H.
22994         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
22995         evaluates to false.
22996
22997         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
22998         conditional GL_GENERATE_SELINUX_CONTEXT_H.
22999         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
23000         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
23001
23002         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
23003         GL_GENERATE_STDARG_H.
23004         * modules/stdarg (Makefile.am): Remove stdarg.h if
23005         GL_GENERATE_STDARG_H evaluates to false.
23006
23007         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
23008         GL_GENERATE_STDBOOL_H.
23009         * modules/stdbool (Makefile.am): Remove stdbool.h if
23010         GL_GENERATE_STDBOOL_H evaluates to false.
23011
23012         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
23013         conditional GL_GENERATE_STDDEF_H.
23014         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
23015         * modules/stddef (Makefile.am): Remove stddef.h if
23016         GL_GENERATE_STDDEF_H evaluates to false.
23017
23018         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
23019         GL_GENERATE_STDINT_H.
23020         * modules/stdint (Makefile.am): Remove stdint.h if
23021         GL_GENERATE_STDINT_H evaluates to false.
23022
23023         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
23024         GL_GENERATE_SYSEXITS_H.
23025         * modules/sysexits (Makefile.am): Remove sysexits.h if
23026         GL_GENERATE_SYSEXITS_H evaluates to false.
23027
23028         Reported by Karl Berry and Ralf Wildenhues.
23029
23030 2011-04-05  Bruno Haible  <bruno@clisp.org>
23031
23032         Ensure to rebuild generated .h files when config.status has changed.
23033         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
23034         config.status.
23035         * modules/ctype (Makefile.am): Likewise.
23036         * modules/dirent (Makefile.am): Likewise.
23037         * modules/errno (Makefile.am): Likewise.
23038         * modules/fcntl-h (Makefile.am): Likewise.
23039         * modules/float (Makefile.am): Likewise.
23040         * modules/getopt-posix (Makefile.am): Likewise.
23041         * modules/glob (Makefile.am): Likewise.
23042         * modules/iconv-h (Makefile.am): Likewise.
23043         * modules/inttypes (Makefile.am): Likewise.
23044         * modules/langinfo (Makefile.am): Likewise.
23045         * modules/locale (Makefile.am): Likewise.
23046         * modules/math (Makefile.am): Likewise.
23047         * modules/netdb (Makefile.am): Likewise.
23048         * modules/netinet_in (Makefile.am): Likewise.
23049         * modules/poll-h (Makefile.am): Likewise.
23050         * modules/pthread (Makefile.am): Likewise.
23051         * modules/pty (Makefile.am): Likewise.
23052         * modules/sched (Makefile.am): Likewise.
23053         * modules/search (Makefile.am): Likewise.
23054         * modules/selinux-h (Makefile.am): Likewise.
23055         * modules/signal (Makefile.am): Likewise.
23056         * modules/spawn (Makefile.am): Likewise.
23057         * modules/stdarg (Makefile.am): Likewise.
23058         * modules/stdbool (Makefile.am): Likewise.
23059         * modules/stddef (Makefile.am): Likewise.
23060         * modules/stdint (Makefile.am): Likewise.
23061         * modules/stdio (Makefile.am): Likewise.
23062         * modules/stdlib (Makefile.am): Likewise.
23063         * modules/string (Makefile.am): Likewise.
23064         * modules/strings (Makefile.am): Likewise.
23065         * modules/sys_file (Makefile.am): Likewise.
23066         * modules/sys_ioctl (Makefile.am): Likewise.
23067         * modules/sys_select (Makefile.am): Likewise.
23068         * modules/sys_socket (Makefile.am): Likewise.
23069         * modules/sys_stat (Makefile.am): Likewise.
23070         * modules/sys_time (Makefile.am): Likewise.
23071         * modules/sys_times (Makefile.am): Likewise.
23072         * modules/sys_utsname (Makefile.am): Likewise.
23073         * modules/sys_wait (Makefile.am): Likewise.
23074         * modules/sysexits (Makefile.am): Likewise.
23075         * modules/termios (Makefile.am): Likewise.
23076         * modules/time (Makefile.am): Likewise.
23077         * modules/unistd (Makefile.am): Likewise.
23078         * modules/wchar (Makefile.am): Likewise.
23079         * modules/wctype-h (Makefile.am): Likewise.
23080         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
23081
23082 2011-04-05  Bruno Haible  <bruno@clisp.org>
23083
23084         pipe2: Relicense under LGPLv2+.
23085         * modules/pipe2 (License): Change to LGPLv2+.
23086         Requested by Eric Blake, for libvirt.
23087
23088 2011-04-05  Bruce Korb  <bkorb@gnu.org>
23089
23090         bootstrap: compute gnulib_extra_files after updating build_aux
23091         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
23092         change build_aux or also supply gnulib_extra_files.  Handle correctly.
23093
23094 2011-04-05  Eric Blake  <eblake@redhat.com>
23095
23096         bootstrap: preserve git whitelist item sorting
23097         * build-aux/bootstrap (sort_patterns): New function.
23098         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
23099
23100 2011-04-05  Simon Josefsson  <simon@josefsson.org>
23101
23102         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
23103         sc_space_tab check.
23104
23105 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
23106
23107         areadlink, areadlinkat: rewrite in terms of careadlinkat
23108         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
23109         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
23110         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
23111         (malloc, realloc): Remove #undefs.
23112         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
23113         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
23114         readlink, ssize_t, stdint, unistd.
23115         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
23116         areadlink, stdint.
23117
23118         careadlinkat: new module
23119         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
23120         * modules/careadlinkat: New files, written by me with
23121         a review and feedback from Ben Pfaff in
23122         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
23123
23124 2011-04-01  Bruno Haible  <bruno@clisp.org>
23125
23126         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
23127         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
23128         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
23129         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
23130         Reported by Bruce Korb <bruce.korb@gmail.com>.
23131
23132 2011-04-01  Bruno Haible  <bruno@clisp.org>
23133
23134         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
23135         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
23136         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
23137         * modules/wcpcpy (Depends-on): Add extensions.
23138         * modules/wcpncpy (Depends-on): Likewise.
23139         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
23140         systems.
23141         * doc/posix-functions/wcpncpy.texi: Likewise.
23142         * doc/posix-functions/wcwidth.texi: Likewise.
23143
23144 2011-03-31  Eric Blake  <eblake@redhat.com>
23145
23146         nonblocking: fix mingw test failures
23147         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
23148         non-blocking flag on regular file.
23149         (get_nonblocking_flag): Set errno on invalid fd.
23150         * tests/test-nonblocking.c (main): Avoid test failure on
23151         directories if fchdir is not active.
23152         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
23153
23154 2011-03-31  Bruno Haible  <bruno@clisp.org>
23155
23156         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
23157         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
23158         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
23159         Reported by Simon Josefsson <simon@josefsson.org>.
23160
23161 2011-03-31  Bruno Haible  <bruno@clisp.org>
23162         and Eric Blake  <eblake@redhat.com>
23163
23164         nonblocking: new module
23165         * modules/nonblocking: New module.
23166         * modules/nonblocking-tests: Likewise.
23167         * lib/nonblocking.h: New file.
23168         * lib/nonblocking.c: Likewise.
23169         * tests/test-nonblocking.c: New test.
23170         * lib/ioctl.c (ioctl) [mingw]: Update comment.
23171
23172 2011-03-30  Bruno Haible  <bruno@clisp.org>
23173
23174         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
23175         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
23176         instead of 'printf' format for GCC >= 4.4.
23177         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
23178         (fprintf, printf, vfprintf, vprintf): Declare with
23179         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
23180         the system's vfprintf() function.
23181         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
23182
23183 2011-03-30  Eric Blake  <eblake@redhat.com>
23184
23185         passfd: fix scoping bug
23186         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
23187         before sendmsg/recvmsg.
23188
23189         passfd: standardize coding conventions
23190         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
23191         can be learned at compile time.
23192         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
23193         ifdefs.
23194         (sendfd, recvfd): Follow gnulib code conventions.
23195
23196         passfd: fix incorrect sendmsg arguments
23197         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
23198         incorrect msg_controllen value.
23199         * modules/passfd-tests (Depends-on): Check for alarm.
23200         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
23201         Reported by Bastien ROUCARIES.
23202
23203 2011-03-30  Bruno Haible  <bruno@clisp.org>
23204
23205         c-strcasestr: Relicense under LGPLv2+.
23206         * modules/c-strcasestr (License): Change to LGPLv2+.
23207         Requested by Eric Blake, for libvirt.
23208
23209 2011-03-30  Simon Josefsson  <simon@josefsson.org>
23210
23211         * users.txt: Add libidn2.  Fix libtasn1 link.
23212
23213 2011-03-30  Jim Meyering  <meyering@redhat.com>
23214
23215         tests: readlink* ("",... fails with EINVAL on newer kernels
23216         readlink and readlinkat have typically failed with ENOENT for
23217         the invalid, empty file name,  "".  However, with the advent
23218         of linux-2.6.39, they fail with EINVAL.
23219         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
23220         when operating on the empty file name.
23221         * tests/test-readlink.h (test_readlink): Likewise.
23222
23223 2011-03-29  Bruno Haible  <bruno@clisp.org>
23224
23225         Relicense some modules under LGPLv2+, for libidn2.
23226         * modules/array-mergesort (License): Change to LGPLv2+.
23227         * modules/c-strcaseeq (License): Likewise.
23228         * modules/striconveh (License): Likewise.
23229         * modules/striconveha (License): Likewise.
23230         * modules/uniconv/base (License): Likewise.
23231         * modules/uniconv/u8-conv-from-enc (License): Likewise.
23232         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
23233         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
23234         * modules/unictype/base (License): Likewise.
23235         * modules/unictype/bidiclass-of (License): Likewise.
23236         * modules/unictype/category-M (License): Likewise.
23237         * modules/unictype/category-none (License): Likewise.
23238         * modules/unictype/category-of (License): Likewise.
23239         * modules/unictype/category-test (License): Likewise.
23240         * modules/unictype/category-test-withtable (License): Likewise.
23241         * modules/unictype/combining-class (License): Likewise.
23242         * modules/unictype/joiningtype-of (License): Likewise.
23243         * modules/unictype/scripts (License): Likewise.
23244         * modules/uninorm/base (License): Likewise.
23245         * modules/uninorm/canonical-decomposition (License): Likewise.
23246         * modules/uninorm/composition (License): Likewise.
23247         * modules/uninorm/decompose-internal (License): Likewise.
23248         * modules/uninorm/decomposition-table (License): Likewise.
23249         * modules/uninorm/nfc (License): Likewise.
23250         * modules/uninorm/nfd (License): Likewise.
23251         * modules/uninorm/u32-normalize (License): Likewise.
23252         * modules/unistr/base (License): Likewise.
23253         * modules/unistr/u32-cpy (License): Likewise.
23254         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
23255         * modules/unistr/u32-to-u8 (License): Likewise.
23256         * modules/unistr/u32-uctomb (License): Likewise.
23257         * modules/unistr/u8-check (License): Likewise.
23258         * modules/unistr/u8-mblen (License): Likewise.
23259         * modules/unistr/u8-mbtouc (License): Likewise.
23260         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
23261         * modules/unistr/u8-mbtoucr (License): Likewise.
23262         * modules/unistr/u8-prev (License): Likewise.
23263         * modules/unistr/u8-strlen (License): Likewise.
23264         * modules/unistr/u8-to-u32 (License): Likewise.
23265         * modules/unistr/u8-uctomb (License): Likewise.
23266         * modules/unitypes (License): Likewise.
23267         Requested by Simon Josefsson.
23268
23269 2011-03-29  Simon Josefsson  <simon@josefsson.org>
23270
23271         lib-symbol-visibility: Add a notice.
23272         * modules/lib-symbol-visibility (Notice): New field.
23273
23274 2011-03-29  Bruno Haible  <bruno@clisp.org>
23275
23276         getaddrinfo: Doc fix.
23277         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
23278         section "fixed in Gnulib".
23279
23280 2011-03-28  Simon Josefsson  <simon@josefsson.org>
23281
23282         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
23283         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
23284
23285 2011-03-26  Bruno Haible  <bruno@clisp.org>
23286
23287         unictype/property-byname: Reduce the number of load-time relocations.
23288         * lib/unictype/pr_byname.c: Include <stdlib.h>.
23289         (UC_PROPERTY_INDEX_*): New enumeration values.
23290         (uc_property_byname): Convert an index from the lookup table to an
23291         uc_property_t.
23292         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
23293         values.
23294
23295 2011-03-26  Bruno Haible  <bruno@clisp.org>
23296
23297         unictype/property-byname: Allow omitted word separators and aliases.
23298         * lib/unictype/pr_byname.gperf: Add property names without word
23299         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
23300         for 'space'.
23301
23302 2011-03-26  Bruno Haible  <bruno@clisp.org>
23303
23304         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
23305         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
23306         also hyphens to space.
23307         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
23308         without spaces.
23309         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
23310
23311 2011-03-26  Bruno Haible  <bruno@clisp.org>
23312
23313         unictype/joiningtype-byname: Recognize long names as well.
23314         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
23315         a long name.
23316         * lib/unictype/joiningtype_byname.c: Include <string.h>,
23317         unictype/joiningtype_byname.h.
23318         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
23319         * lib/unictype/joiningtype_byname.gperf: New file.
23320         * modules/unictype/joiningtype-byname (Files): Add
23321         lib/unictype/joiningtype_byname.gperf.
23322         (Depends-on): Add gperf.
23323         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
23324         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
23325         long names.
23326
23327         Tests for module 'unictype/joiningtype-longname'.
23328         * modules/unictype/joiningtype-longname-tests: New file.
23329         * tests/unictype/test-joiningtype_longname.c: New file.
23330
23331         New module 'unictype/joiningtype-longname'.
23332         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
23333         * lib/unictype/joiningtype_longname.c: New file.
23334         * modules/unictype/joiningtype-longname: New file.
23335         * modules/unictype/joiningtype-all (Depends-on): Add
23336         unictype/joiningtype-longname.
23337
23338 2011-03-26  Bruno Haible  <bruno@clisp.org>
23339
23340         unictype/bidiclass-byname: Recognize long names as well.
23341         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
23342         name.
23343         * lib/unictype/bidi_byname.c: Include <string.h>,
23344         unictype/bidi_byname.h.
23345         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
23346         * lib/unictype/bidi_byname.gperf: New file.
23347         * modules/unictype/bidiclass-byname (Files): Add
23348         lib/unictype/bidi_byname.gperf.
23349         (Depends-on): Add gperf.
23350         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
23351         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
23352         long names.
23353
23354         Tests for module 'unictype/bidiclass-longname'.
23355         * modules/unictype/bidiclass-longname-tests: New file.
23356         * tests/unictype/test-bidi_longname.c: New file.
23357
23358         New module 'unictype/bidiclass-longname'.
23359         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
23360         * lib/unictype/bidi_longname.c: New file.
23361         * modules/unictype/bidiclass-longname: New file.
23362         * modules/unictype/bidiclass-all (Depends-on): Add
23363         unictype/bidiclass-longname.
23364
23365 2011-03-26  Bruno Haible  <bruno@clisp.org>
23366
23367         unictype/bidi*: Rename modules.
23368         * modules/unictype/bidiclass-all: Renamed from
23369         modules/unictype/bidicategory-all.
23370         * modules/unictype/bidiclass-name: Renamed from
23371         modules/unictype/bidiclass-name.
23372         (Description): Update.
23373         * modules/unictype/bidiclass-name-tests: Renamed from
23374         modules/unictype/bidicategory-name-tests.
23375         * modules/unictype/bidiclass-byname: Renamed from
23376         modules/unictype/bidicategory-byname.
23377         (Description): Update.
23378         * modules/unictype/bidiclass-byname-tests: Renamed from
23379         modules/unictype/bidicategory-byname-tests.
23380         * modules/unictype/bidiclass-of: Renamed from
23381         modules/unictype/bidicategory-of.
23382         (Description): Update.
23383         * modules/unictype/bidiclass-of-tests: Renamed from
23384         modules/unictype/bidicategory-of-tests.
23385         * modules/unictype/bidiclass-test: Renamed from
23386         modules/unictype/bidicategory-test.
23387         (Description): Update.
23388         * modules/unictype/bidiclass-test-tests: Renamed from
23389         modules/unictype/bidicategory-test-tests.
23390         * modules/unictype/bidicategory-all: New file, a simple redirection.
23391         * modules/unictype/bidicategory-name: Likewise.
23392         * modules/unictype/bidicategory-byname: Likewise.
23393         * modules/unictype/bidicategory-of: Likewise.
23394         * modules/unictype/bidicategory-test: Likewise.
23395         * modules/unictype/property-bidi-* (Dependencies): Update.
23396         * lib/unictype/bidi_*.c: Update comment.
23397
23398 2011-03-26  Bruno Haible  <bruno@clisp.org>
23399
23400         unictype/bidi*: Rename functions, part 2.
23401         * modules/unictype/bidicategory-name (configure.ac): Update required
23402         libunistring version.
23403         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
23404
23405 2011-03-25  Bruno Haible  <bruno@clisp.org>
23406
23407         New module 'unictype/combining-class-all'.
23408         * modules/unictype/combining-class-all: New file.
23409
23410         Tests for module 'unictype/combining-class-byname'.
23411         * modules/unictype/combining-class-byname-tests: New file.
23412         * tests/unictype/test-combiningclass_byname.c: New file.
23413
23414         New module 'unictype/combining-class-byname'.
23415         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
23416         * lib/unictype/combiningclass_byname.c: New file.
23417         * lib/unictype/combiningclass_byname.gperf: New file.
23418         * modules/unictype/combining-class-byname: New file.
23419
23420         Tests for module 'unictype/combining-class-longname'.
23421         * modules/unictype/combining-class-longname-tests: New file.
23422         * tests/unictype/test-combiningclass_longname.c: New file.
23423
23424         New module 'unictype/combining-class-longname'.
23425         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
23426         * lib/unictype/combiningclass_longname.c: New file.
23427         * modules/unictype/combining-class-longname: New file.
23428
23429         Tests for module 'unictype/combining-class-name'.
23430         * modules/unictype/combining-class-name-tests: New file.
23431         * tests/unictype/test-combiningclass_name.c: New file.
23432
23433         New module 'unictype/combining-class-name'.
23434         * lib/unictype.in.h (uc_combining_class_name): New declaration.
23435         * lib/unictype/combiningclass_name.c: New file.
23436         * modules/unictype/combining-class-name: New file.
23437
23438 2011-03-25  Bruno Haible  <bruno@clisp.org>
23439
23440         unictype/combining-class: Rename source files.
23441         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
23442         of unictype/combining.h.
23443         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
23444         Update.
23445         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
23446         * modules/unictype/combining-class (Description): Fix.
23447         (Files, Makefile.am): Update.
23448         * tests/unictype/test-combiningclass.c: Renamed from
23449         tests/unictype/test-combining.c.
23450         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
23451
23452 2011-03-25  Bruno Haible  <bruno@clisp.org>
23453
23454         unictype: Update list of canonical combining classes.
23455         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
23456
23457 2011-03-25  Bruno Haible  <bruno@clisp.org>
23458
23459         unictype/category-byname: Recognize long names as well.
23460         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
23461         a long name.
23462         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
23463         unictype/categ_byname.h.
23464         (UC_CATEGORY_INDEX_*): New enumeration values.
23465         (uc_general_category_byname): Use uc_general_category_lookup and
23466         convert from index to value.
23467         * lib/unictype/categ_byname.gperf: New file.
23468         * modules/unictype/category-byname (Files): Add
23469         lib/unictype/categ_byname.gperf.
23470         (Depends-on): Add gperf.
23471         (Makefile.am): Add rule for generating unictype/categ_byname.h.
23472         * tests/unictype/test-categ_byname.c (main): Test the recognition of
23473         long names.
23474
23475         Tests for module 'unictype/category-longname'.
23476         * modules/unictype/category-longname-tests: New file.
23477         * tests/unictype/test-categ_longname.c: New file.
23478
23479         New module 'unictype/category-longname'.
23480         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
23481         * lib/unictype/categ_longname.c: New file.
23482         * modules/unictype/category-longname: New file.
23483         * modules/unictype/category-all (Depends-on): Add it.
23484
23485 2011-03-25  Bruno Haible  <bruno@clisp.org>
23486
23487         Tests for module 'unictype/category-LC'.
23488         * modules/unictype/category-LC-tests: New file.
23489         * tests/unictype/test-categ_LC.c: New file, automatically generated.
23490
23491         New module 'unictype/category-LC'.
23492         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
23493         (UC_CATEGORY_LC): New declaration.
23494         (UC_CASED_LETTER): New macro.
23495         * lib/gen-uni-tables.c (is_category_LC): New function.
23496         (output_categories): Also handle category LC.
23497         (UC_CATEGORY_MASK_LC): New enumeration value.
23498         (general_category_byname): Also handle category LC.
23499         * lib/unictype/categ_LC.c: New file.
23500         * lib/unictype/categ_LC.h: New file, automatically generated.
23501         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
23502         category LC.
23503         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
23504         * modules/unictype/category-LC: New file.
23505         * modules/unictype/category-byname (Depends-on): Add
23506         unictype/category-LC.
23507         * modules/unictype/category-all (Depends-on): Likewise.
23508
23509 2011-03-25  Eric Blake  <eblake@redhat.com>
23510
23511         xmalloc: revert yesterday's regression
23512         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
23513         realloc's underlying behavior (allowing allocation of zero-size
23514         objects, especially if malloc-gnu is also in use).
23515
23516 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
23517
23518         maint.mk: add missing version to VC-tag
23519         * top/maint.mk: git tag was missing actual tag name; add it.
23520
23521         valgrind: do leak checking, and exit with code 1 on error (not 0)
23522         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
23523         to VALGRIND.
23524
23525 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
23526
23527         posix-modules: say what it does.
23528         * posix-modules: Add a line to the --help output saying what it does.
23529
23530 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
23531
23532         xmalloc: Do not leak if underlying realloc is C99 compatible.
23533         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
23534         This avoids a leak on C99-based systems.  See
23535         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
23536
23537 2011-03-24  Eric Blake  <eblake@redhat.com>
23538
23539         realloc: document portability problem
23540         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
23541         passing 0 size to realloc.
23542
23543 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
23544
23545         doc: update users.txt
23546         * users.txt: Add cvsps, tmpwatch
23547
23548 2011-03-23  Matt Rice  <ratmice@gmail.com>
23549
23550         doc: update users.txt
23551         * users.txt: Add gdb.
23552
23553 2011-03-23  Jim Meyering  <meyering@redhat.com>
23554
23555         doc: update users.txt
23556         Looking through matches up to the following URL (there are still
23557         several more pages), I found several projects that use gnulib:
23558         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
23559         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
23560         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
23561
23562 2011-03-22  Bruno Haible  <bruno@clisp.org>
23563
23564         unictype/bidi*: Rename functions.
23565         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
23566         uc_bidi_class, uc_is_bidi_class): New declarations.
23567         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
23568         uc_bidi_category_byname.
23569         (uc_bidi_category_byname): New function.
23570         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
23571         u_bidi_category_name.
23572         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
23573         (uc_bidi_category_name): New function.
23574         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
23575         uc_bidi_category.
23576         (uc_bidi_category): New function.
23577         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
23578         uc_is_bidi_category. Invoke uc_bidi_class.
23579         (uc_is_bidi_category): New function.
23580         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
23581         instead of uc_bidi_category_byname.
23582         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
23583         instead of uc_bidi_category_name.
23584         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
23585         uc_bidi_category.
23586         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
23587         instead of uc_is_bidi_category.
23588
23589 2011-03-21  Bruno Haible  <bruno@clisp.org>
23590
23591         New module 'unictype/joininggroup-all'.
23592         * modules/unictype/joininggroup-all: New file.
23593
23594         Tests for module 'unictype/joininggroup-of'.
23595         * modules/unictype/joininggroup-of-tests: New file.
23596         * tests/unictype/test-joininggroup_of.c: New file.
23597         * tests/unictype/test-joininggroup_of.h: New file, automatically
23598         generated by gen-uni-tables.
23599
23600         New module 'unictype/joininggroup-of'.
23601         * modules/unictype/joininggroup-of: New file.
23602         * lib/unictype/joininggroup_of.c: New file.
23603         * lib/unictype/joininggroup_of.h: New file, automatically generated by
23604         gen-uni-tables.
23605
23606         Tests for module 'unictype/joininggroup-byname'.
23607         * modules/unictype/joininggroup-byname-tests: New file.
23608         * tests/unictype/test-joininggroup_byname.c: New file.
23609
23610         New module 'unictype/joininggroup-byname'.
23611         * modules/unictype/joininggroup-byname: New file.
23612         * lib/unictype/joininggroup_byname.c: New file.
23613         * lib/unictype/joininggroup_byname.gperf: New file.
23614
23615         Tests for module 'unictype/joininggroup-name'.
23616         * modules/unictype/joininggroup-name-tests: New file.
23617         * tests/unictype/test-joininggroup_name.c: New file.
23618
23619         New module 'unictype/joininggroup-name'.
23620         * modules/unictype/joininggroup-name: New file.
23621         * lib/unictype/joininggroup_name.c: New file.
23622         * lib/unictype/joininggroup_name.h: New file.
23623
23624         New module 'unictype/joiningtype-all'.
23625         * modules/unictype/joiningtype-all: New file.
23626
23627         Tests for module 'unictype/joiningtype-of'.
23628         * modules/unictype/joiningtype-of-tests: New file.
23629         * tests/unictype/test-joiningtype_of.c: New file.
23630         * tests/unictype/test-joiningtype_of.h: New file, automatically
23631         generated by gen-uni-tables.
23632
23633         New module 'unictype/joiningtype-of'.
23634         * modules/unictype/joiningtype-of: New file.
23635         * lib/unictype/joiningtype_of.c: New file.
23636         * lib/unictype/joiningtype_of.h: New file, automatically generated by
23637         gen-uni-tables.
23638
23639         Tests for module 'unictype/joiningtype-byname'.
23640         * modules/unictype/joiningtype-byname-tests: New file.
23641         * tests/unictype/test-joiningtype_byname.c: New file.
23642
23643         New module 'unictype/joiningtype-byname'.
23644         * modules/unictype/joiningtype-byname: New file.
23645         * lib/unictype/joiningtype_byname.c: New file.
23646
23647         Tests for module 'unictype/joiningtype-name'.
23648         * modules/unictype/joiningtype-name-tests: New file.
23649         * tests/unictype/test-joiningtype_name.c: New file.
23650
23651         New module 'unictype/joiningtype-name'.
23652         * modules/unictype/joiningtype-name: New file.
23653         * lib/unictype/joiningtype_name.c: New file.
23654
23655         unictype: Add support for Arabic shaping properties.
23656         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
23657         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
23658         declarations.
23659         (UC_JOINING_GROUP_*): New enumeration values.
23660         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
23661         declarations.
23662         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
23663         (unicode_joining_type): New variable.
23664         (UC_JOINING_GROUP_*): New enumeration values.
23665         (unicode_joining_group): New variable.
23666         (fill_arabicshaping, joining_type_as_c_identifier,
23667         output_joining_type_test, output_joining_type,
23668         joining_group_as_c_identifier, output_joining_group_test,
23669         output_joining_group): New functions.
23670         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
23671         fill_arabicshaping and output_joining_type_test, output_joining_type,
23672         output_joining_group_test, output_joining_group.
23673         Reported by Simon Josefsson.
23674
23675 2011-03-21  Jim Meyering  <meyering@redhat.com>
23676
23677         strftime: fix a bug in yesterday's change
23678         * lib/strftime.c (add): Accommodate width's initial value of -1.
23679         Otherwise, nstrftime would copy uninitialized data into
23680         the result buffer.
23681
23682 2011-03-21  Jim Meyering  <meyering@redhat.com>
23683
23684         tests: add strftime-tests module
23685         * tests/test-strftime.c: New file.
23686         * modules/strftime-tests: New module.
23687
23688 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23689
23690         strftime: don't assume a byte count fits in 'int'
23691         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
23692         found this problem by static analysis, using gcc -Wstrict-overflow
23693         (GCC 4.5.2, x86-64).  This reported an optimization that depended
23694         on an integer overflow having undefined behavior, but it turns out
23695         that the argument is a size, which might not fit in 'int' anyway,
23696
23697 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23698
23699         stdio: don't require ignore_value around fwrite
23700
23701         This patch works around libc bug 11959
23702         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
23703         Without this patch, applications must often write
23704         ignore_value (fwrite (...)) even though the ignore_value is
23705         not helpful here.  It's common to write many objects, using
23706         fwrite/printf/etc., and then use ferror to detect output error.
23707
23708         I considered making this patch optional, but decided against it,
23709         because libc is obviously being inconsistent here: there is no
23710         reason libc should insist that user code must inspect fwrite
23711         return's value without also insisting that it inspect printf's,
23712         putchar's, etc.  If user code wants to have a strict style where
23713         all these functions' values are checked (so that ferror need not
23714         be checked), we could add support for that style in a new gnulib
23715         module, but in the meantime it's better to be consistent and to
23716         support common usage.
23717
23718         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
23719         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
23720         that we are compiling in checking mode, and if not C++, and
23721         if not already wrapping fwrite for some other reason.
23722         (fwrite): #define to rpl_fwrite if the latter is defined.
23723
23724 2011-03-20  Bruno Haible  <bruno@clisp.org>
23725
23726         verror: Fix compilation error introduced on 2011-02-13.
23727         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
23728         instead of __attribute__.
23729         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23730
23731 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23732             Bruno Haible  <bruno@clisp.org>
23733
23734         socklen: do not depend on sys_socket
23735         While trying to modify Emacs to use gnulib's socklen module,
23736         I discovered a circular dependency: socklen depends on sys_socket
23737         and vice versa.  Emacs can use socklen, but it does not need
23738         sys_socket because it has its own substitute for sys/socket.h.
23739         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
23740         gl_TYPE_SOCKLEN_T.
23741         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
23742         gl_PREREQ_SYS_H_SOCKET.
23743         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
23744         gl_PREREQ_SYS_H_SOCKET.
23745         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
23746         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
23747         * modules/socklen (Depends-on): Do not depend on sys_socket.
23748         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
23749
23750 2011-03-20  Jim Meyering  <meyering@redhat.com>
23751
23752         maint.mk: sort file names *after* new transformation
23753         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
23754         prefix would have led to an unwarranted failure in GNU parted.
23755         Sort after that transformation.
23756
23757 2011-03-19  Jim Meyering  <meyering@redhat.com>
23758
23759         maint.mk: fix po-file syntax-check rule
23760         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
23761         Patch by Bruno Haible.
23762
23763 2011-03-19  Bruno Haible  <bruno@clisp.org>
23764
23765         socklen: Update comment.
23766         * m4/socklen.m4: Update comment about platforms.
23767
23768 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23769             Bruno Haible  <bruno@clisp.org>
23770
23771         inet_ntop, inet_pton: Simplify.
23772         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
23773         documented to provide socklen_t and we already depend on sys_socket.
23774         * modules/inet_pton (Depends-on): Likewise.
23775         * lib/arpa_inet.in.h: Adjust comment.
23776
23777 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23778             Bruno Haible  <bruno@clisp.org>
23779
23780         netdb: Simplify.
23781         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
23782         documented to provide socklen_t and we already depend on sys_socket.
23783         * lib/netdb.in.h: Adjust comment.
23784
23785 2011-03-19  Bruno Haible  <bruno@clisp.org>
23786
23787         sys_socket, netdb: Document problem with socklen_t.
23788         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
23789         platforms.
23790         * doc/posix-headers/netdb.texi: Likewise.
23791
23792 2011-03-18  Eric Blake  <eblake@redhat.com>
23793
23794         maint.mk: let po check work in VPATH build
23795         * top/maint.mk (po_file): Allow cfg.mk override.
23796         (sc_po_check): Allow VPATH use.
23797         Reported by Jiri Denemark.
23798
23799 2011-03-16  Jim Meyering  <meyering@redhat.com>
23800
23801         maint.mk: allow fine-grained syntax-check exclusion via Make variables
23802         Before, you would have had to create one .x-sc_ file per rule in order
23803         to exempt offending files.  Now, you may instead use a Make variable --
23804         usually defined in cfg.mk -- whose name identifies the affected rule.
23805         * top/maint.mk (_sc_excl): Define.
23806         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
23807         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
23808
23809 2011-03-13  Bruno Haible  <bruno@clisp.org>
23810
23811         ignore-value tests: Avoid warnings.
23812         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
23813         empty for gcc < 3.4.
23814
23815 2011-03-13  Bruno Haible  <bruno@clisp.org>
23816
23817         passfd: Fix link error on Solaris.
23818         * modules/passfd (Description): Correct.
23819         (Depends-on): Add socketlib.
23820         (Link): New section.
23821         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
23822
23823 2011-03-13  Bruno Haible  <bruno@clisp.org>
23824
23825         passfd: Fix link error on AIX 5.2.
23826         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
23827
23828 2011-03-13  Bruno Haible  <bruno@clisp.org>
23829
23830         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
23831         * lib/sys_socket.in.h: Include <stddef.h>.
23832         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
23833         CMSG_FIRSTHDR. Remove unused variable.
23834
23835 2011-03-13  Bruno Haible  <bruno@clisp.org>
23836
23837         passfd: Fix compilation error on OpenBSD.
23838         * lib/passfd.c: Include <sys/uio.h>.
23839
23840 2011-03-13  Bruno Haible  <bruno@clisp.org>
23841
23842         passfd test: Fix warnings.
23843         * tests/test-passfd.c: Include <sys/wait.h>.
23844         (main): Fix typo.
23845
23846 2011-03-13  Bruno Haible  <bruno@clisp.org>
23847
23848         passfd module, part 4, tweaks.
23849         * tests/test-passfd.c: Reorder includes.
23850         (main): Fix perror and printf calls.
23851
23852 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23853
23854         passfd module, part 4.
23855         * modules/passfd-tests: New file.
23856         * tests/test-passfd.c: New file.
23857
23858 2011-03-13  Jim Meyering  <meyering@redhat.com>
23859
23860         Makefile: rely on GNU make; derive syntax-check rule names
23861         Rather than requiring that each sc_ rule be listed as a dependent
23862         of "check", use features of GNU make to derive the list.
23863         * Makefile (syntax-check-rules): Define.
23864         (check): Depend on the new variable, not the hard-coded list.
23865
23866 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
23867             Bruno Haible  <bruno@clisp.org>
23868
23869         passfd module, part 3.
23870         * lib/passfd.h (recvfd): Add a flags argument.
23871         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
23872         (recvfd): Add a flags argument.
23873         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
23874         exists.
23875         * modules/passfd (Depends-on): Add cloexec.
23876         Suggested by Eric Blake.
23877
23878 2011-03-13  Bruno Haible  <bruno@clisp.org>
23879
23880         passfd module, part 2, tweaks.
23881         * modules/passfd (Files): Reorder.
23882         (Depends-on): Remove errno.
23883         (Include): Remove <sys/socket.h>, <sys/un.h>.
23884         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
23885         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
23886         specification header. Include <sys/socket.h> always. Don't include
23887         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
23888         (sendfd): Clarify that it sets errno when it fails.
23889         (recvfd): Fix specification.
23890
23891 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23892
23893         passfd module, part 2.
23894         * modules/passfd: New file.
23895         * lib/passfd.h: New file.
23896         * lib/passfd.c: New file.
23897
23898 2011-03-12  Bruno Haible  <bruno@clisp.org>
23899
23900         wcswidth, mbswidth: Avoid integer overflow.
23901         * lib/wcswidth.c: Include <limits.h>.
23902         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
23903         * lib/mbswidth.c: Include <limits.h>.
23904         (mbsnwidth): Avoid 'int' overflow.
23905         Reported by Jim Meyering.
23906
23907 2011-03-12  Bruno Haible  <bruno@clisp.org>
23908
23909         futimens, utimensat: Avoid endless recursion on Solaris 10.
23910         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
23911         Solaris.
23912         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
23913         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
23914
23915 2011-03-11  Jim Meyering  <meyering@redhat.com>
23916
23917         maint.mk: relax a regexp to accommodate other formatting styles
23918         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
23919         between "ngettext" and the following "(".
23920
23921 2011-03-11  Pádraig Brady <P@draigBrady.com>
23922
23923         maint.mk: suppress a false positive warning
23924         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
23925         diagnostics are marked with ngettext.
23926
23927 2011-03-10  Eric Blake  <eblake@redhat.com>
23928
23929         wchar: add explicit dependencies, for Tru64
23930         * modules/mbmemcasecoll (Depends-on): Add wchar.
23931         * modules/mbtowc (Depends-on): Likewise.
23932         * modules/vasnprintf (Depends-on): Likewise.
23933         * modules/unistdio/u-printf-args (Depends-on): Likewise.
23934         * modules/wctomb (Depends-on): Likewise.
23935         Reported by Peter O'Gorman.
23936
23937 2011-03-08  Bruno Haible  <bruno@clisp.org>
23938
23939         passfd module, part 1, tweaks.
23940         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
23941         Improve indentation. Improve AC_MSG_CHECKING messages.
23942         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
23943         gl_SOCKET_FAMILIES.
23944
23945 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23946
23947         passfd module, part 1.
23948         * m4/afunix.m4: New file.
23949         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
23950         sockets.
23951
23952 2011-03-08  Bruno Haible  <bruno@clisp.org>
23953
23954         regex-quote: New API.
23955         * lib/regex-quote.h: Include <stdbool.h>.
23956         (struct regex_quote_spec): New type.
23957         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23958         New declarations.
23959         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23960         'const struct regex_quote_spec *' argument.
23961         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
23962         (pcre_special): New constant.
23963         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23964         New functions.
23965         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23966         'const struct regex_quote_spec *' argument.
23967         * modules/regex-quote (Depends-on): Add stdbool.
23968         * tests/test-regex-quote.c (check): Update for new API. Add test for
23969         anchored results.
23970         * NEWS: Mention the API change.
23971         Reported by Reuben Thomas and Eric Blake.
23972
23973 2011-03-06  Bruno Haible  <bruno@clisp.org>
23974
23975         regex-quote: Fix creation of POSIX extended regular expressions.
23976         * lib/regex-quote.c (ere_special): Add grouping and alternation
23977         operators.
23978
23979 2011-03-05  Bruno Haible  <bruno@clisp.org>
23980
23981         doc: Improve doc regarding autopoint vs. gnulib.
23982         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
23983         disable autopoint while running autoreconf.
23984         Suggested by Ralf Wildenhues.
23985
23986 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23987
23988         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
23989         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
23990
23991 2011-03-03  Bruce Korb  <bkorb@gnu.org>
23992
23993         parse-duration: remove xalloc.h dependency
23994         * lib/parse-duration.c (parse_period): handle NULL return from
23995         strdup instead of calling xstrdup().
23996         * modules/parse-duration: remove "xalloc" dependency
23997
23998 2011-03-03  Matthew Booth  <mbooth@redhat.com>
23999
24000         bootstrap: honor m4_base when running aclocal
24001         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
24002
24003 2011-03-02  Jim Meyering  <meyering@redhat.com>
24004
24005         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
24006         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
24007         on request from Matt Booth.
24008
24009 2011-03-01  Eric Blake  <eblake@redhat.com>
24010
24011         test-link: work on Hurd
24012         * tests/test-link.h (test_link): Hurd rejects linking directories
24013         with EISDIR instead of the POSIX-mandated EPERM.
24014
24015 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
24016
24017         stdio: simplify by moving files to printf-posix, sigpipe
24018         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
24019         since this symbol is needed only if printf is replaced.
24020         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
24021         Require gl_ASM_SYMBOL_PREFIX.
24022         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
24023         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
24024         (Depends-on): Add 'raise'.
24025         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
24026         * modules/stdio (Files): Remove lib/stdio-write.c,
24027         m4/asm-underscore.m4.
24028         (Depends-on): Remove 'raise'.
24029
24030         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
24031         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
24032         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
24033         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
24034
24035 2011-02-28  Bruno Haible  <bruno@clisp.org>
24036
24037         localcharset: Assume ANSI C behaviour of free().
24038         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
24039         calling free().
24040         Suggested by Simon Josefsson <simon@josefsson.org>.
24041
24042 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
24043             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
24044             Bruno Haible  <bruno@clisp.org>  (tiny change)
24045
24046         On Cygwin, use /proc file system instead of win32 API.
24047         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
24048         Win32 file names.
24049         (DllMain): Simplify by removing Cygwin specific code.
24050         (find_shared_library_fullname): Use Linux specific implementation also
24051         for Cygwin.
24052         (get_shared_library_fullname): Update accordingly.
24053         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
24054         Win32 file names.
24055         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
24056         Cygwin specific code.
24057
24058 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
24059             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
24060
24061         Fix OpenMP flag detection for various Fortran compilers.
24062         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
24063         OpenMP-conditional compilation construct, to force compile
24064         failure with missing OpenMP flag.
24065         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
24066
24067 2011-02-25  Eric Blake  <eblake@redhat.com>
24068
24069         strstr: expand test coverage
24070         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
24071         compilation.
24072         * tests/test-memmem.c (main): Duplicate tests.
24073         * tests/test-strcasestr.c (main): Likewise.
24074         * tests/test-c-strcasestr.c (main): Likewise.
24075
24076 2011-02-25  Jim Meyering  <meyering@redhat.com>
24077
24078         maint.mk: detect missing-NL-at-EOF, too
24079         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
24080         it also detects when a file lacks a newline at EOF.
24081         (require_exactly_one_NL_at_EOF_): Renamed from
24082         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
24083         since people may well have .x-sc_... file names tied to the
24084         existing name.  Suggested by Eric Blake.
24085
24086 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
24087
24088         dirname: move m4/dos.m4 functionality into lib/dosname.h
24089
24090         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
24091         extracts symbols from it, puts them into config.h; but it's much
24092         easier to use the symbols directly.  filename.h already does this,
24093         but it disagrees with dos.m4 in some respects.  This patch
24094         introduces a different include file dosname.h that packages up
24095         dos.m4, and then later we can work on merging filename.h and
24096         dosname.h.  Applications that need only the easy-to-configure
24097         symbols should consider including dosname.h rather than dirname.h.
24098         * NEWS: Mention incompatible changes.
24099         * m4/dos.m4: Remove.
24100         * lib/dosname.h, modules/dosname: New files.
24101         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
24102         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
24103         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
24104         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
24105         Include dosname.h, not dirname.h.
24106         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
24107         Include dosname.h, for definitions of symbols like ISSLASH
24108         that used to be in config.h.
24109         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
24110         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
24111         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
24112         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
24113         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
24114         * modules/rmdir (Files): Likewise.
24115         * modules/stat (Files): Likewise.
24116         * modules/unlink (Files): Likewise.
24117         * modules/dirname-lgpl (Depends-on): Add dosname.
24118         * modules/lstat (Depends-on): Likewise.
24119         * modules/openat (Depends-on): Likewise.
24120         * modules/rmdir (Depends-on): Likewise.
24121         * modules/savewd (Depends-on): Likewise.
24122         * modules/stat (Depends-on): Likewise.
24123         * modules/unlink (Depends-on): Likewise.
24124         * modules/openat (Depends-on): Remove dirname-lgpl.
24125         * modules/savewd (Depends-on): Likewise.
24126         * tests/test-dirname.c: Do not use removed symbols like
24127         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
24128         the remaining symbols, e.g., ISSLASH ('\\').
24129
24130 2011-02-25  Eric Blake  <eblake@redhat.com>
24131
24132         strstr: revert patches that introduced bug and pessimization
24133         * lib/str-two-way.h: Add another reference.
24134         (two_way_short_needle, two_way_long_needle): Revert changes from
24135         2011-02-24; they pessimize search speed.
24136         (critical_factorization): Partially revert changes from
24137         2010-06-22; they violate the requirement that the left half of the
24138         needle be smaller than the period of the needle.
24139
24140 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
24141
24142         filenamecat: remove unnecessary dependency on dirname-lgpl
24143         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
24144         is no direct dependency, just an indirect one via filenamecat-lgpl.
24145
24146         remove: remove unnecessary use of m4/dos.m4
24147         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
24148         * modules/remove (FILES): Remove m4/dos.m4.
24149
24150         * lib/openat-proc.c: Don't include dirname.h; not needed.
24151
24152         backupfile: remove unnecessary use of m4/dos.m4
24153         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
24154         of its symbols are used by the backupfile code.  backupfile.c does
24155         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
24156         for the rare case of programs that want all their backup file
24157         names to live within 8+3 limits, and dos.m4 doesn't address that.
24158         * modules/backupfile (Files): Remove m4/dos.m4.
24159
24160 2011-02-24  Jim Meyering  <meyering@redhat.com>
24161
24162         strstr: fix a bug whereby strstr would mistakenly return NULL
24163         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
24164         in period calculation.
24165         (two_way_long_needle): Likewise.
24166         The original problem was reported by Mike Stump in
24167         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
24168         Ralf Wildenhues provided the short needle and haystack.
24169         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
24170         Add a more involved test to trigger the bug in two_way_long_needle.
24171
24172 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
24173
24174         gnulib-tool: remove use of bold display in help screen
24175         * gnulib-tool (func_usage): Do not use bold display anymore in the
24176         help screen.  That was just meant to be a temporary emphasis for a
24177         backward-incompatible change.
24178
24179 2011-02-23  Bruno Haible  <bruno@clisp.org>
24180
24181         Fix misindentation of preprocessor directives.
24182         * lib/argp-namefrob.h: Reindent preprocessor directives.
24183         * lib/getopt_int.h (struct _getopt_data): Likewise.
24184         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
24185         * lib/vasnprintf.c (decode_long_double): Likewise.
24186         * tests/test-argmatch.c: Insert blank lines, for clarity.
24187         * tests/test-exclude.c: Likewise.
24188
24189 2011-02-22  Bruno Haible  <bruno@clisp.org>
24190
24191         ioctl: Fix for MacOS X in 64-bit mode.
24192         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
24193         value.
24194         Suggested by Eric Blake.
24195         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
24196
24197 2011-02-22  Jim Meyering  <meyering@redhat.com>
24198
24199         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
24200         * Makefile (sc_cpp_indent_check): Don't limit the check to files
24201         in lib/.
24202
24203 2011-02-22  Eric Blake  <eblake@redhat.com>
24204
24205         maint: avoid any CDPATH issue
24206         * Makefile (sc_cpp_indent_check): Anchor cd argument.
24207
24208         maint: adjust cpp indentation for my modules, as well
24209         * Makefile (sc_cpp_indent_check): Add my name.
24210         * lib/fbufmode.c: Filter through cppi.
24211         * lib/fpurge.c: Likewise.
24212         * lib/freadable.c: Likewise.
24213         * lib/freading.c: Likewise.
24214         * lib/fwritable.c: Likewise.
24215         * lib/fwriting.c: Likewise.
24216         * lib/sigaction.c: Likewise.
24217
24218 2011-02-22  Jim Meyering  <meyering@redhat.com>
24219
24220         maint: adjust cpp indentation to reflect nesting depth
24221         I.e., in a block of code that begins with an unnested "#if",
24222         put one space between the "#" in column 1 and following token.
24223         For example,
24224         -#include <sys/vfs.h>
24225         +# include <sys/vfs.h>
24226         Do this only in .c files that are part of a module I maintain.
24227         * lib/linkat.c: Filter through cppi.
24228         * lib/nanosleep.c: Likewise.
24229         * lib/openat.c: Likewise.
24230         * lib/openat-die.c: Likewise.
24231         * lib/dup3.c: Likewise.
24232         * lib/fchownat.c: Likewise.
24233         * lib/flock.c: Likewise.
24234         * lib/fsync.c: Likewise.
24235         * lib/fts.c: Likewise.
24236         * lib/getpass.c: Likewise.
24237         * lib/gettimeofday.c: Likewise.
24238         * lib/userspec.c: Likewise.
24239         * Makefile (sc_cpp_indent_check): New rule, to check this.
24240
24241 2011-02-22  Bruno Haible  <bruno@clisp.org>
24242
24243         New module 'wctomb'.
24244         * lib/stdlib.in.h (wctomb): New declaration.
24245         * lib/wctomb.c: New file.
24246         * lib/wctomb-impl.h: New file.
24247         * m4/wctomb.m4: New file.
24248         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
24249         REPLACE_WCTOMB.
24250         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
24251         REPLACE_WCTOMB.
24252         * modules/wctomb: New file.
24253         * tests/test-stdlib-c++.cc: Test signature of wctomb.
24254         * doc/posix-functions/wctomb.texi: Mention the new module.
24255         * modules/wctob (Depends-on): Add wctomb.
24256
24257 2011-02-22  Bruno Haible  <bruno@clisp.org>
24258
24259         New module 'mbtowc'.
24260         * lib/stdlib.in.h (mbtowc): New declaration.
24261         * lib/mbtowc.c: New file.
24262         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
24263         * m4/mbtowc.m4: New file.
24264         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
24265         REPLACE_MBTOWC.
24266         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
24267         REPLACE_MBTOWC.
24268         * modules/mbtowc: New file.
24269         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
24270         * doc/posix-functions/mbtowc.texi: Mention the new module.
24271         * modules/btowc (Depends-on): Add mbtowc.
24272
24273 2011-02-22  Bruno Haible  <bruno@clisp.org>
24274
24275         wcrtomb: Add more tests for native Windows platforms.
24276         * tests/test-wcrtomb-w32-1.sh: New file.
24277         * tests/test-wcrtomb-w32-2.sh: New file.
24278         * tests/test-wcrtomb-w32-3.sh: New file.
24279         * tests/test-wcrtomb-w32-4.sh: New file.
24280         * tests/test-wcrtomb-w32-5.sh: New file.
24281         * tests/test-wcrtomb-w32.c: New file.
24282         * modules/wcrtomb-tests (Files): Add them.
24283         (Makefile.am): Arrange to run these tests.
24284         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
24285         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
24286
24287 2011-02-20  Bruno Haible  <bruno@clisp.org>
24288
24289         wcrtomb: Enhance test.
24290         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
24291
24292 2011-02-20  Bruno Haible  <bruno@clisp.org>
24293
24294         mbrtowc: Tiny optimization.
24295         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
24296
24297 2011-02-20  Jim Meyering  <meyering@redhat.com>
24298
24299         test-exclude.c: remove unmatched #endif
24300         * tests/test-exclude.c: Remove stray #endif, left over from
24301         the change of a week ago.
24302
24303 2011-02-19  Jim Meyering  <meyering@redhat.com>
24304
24305         git-version-gen: skip "-dirty" check when appropriate
24306         * build-aux/git-version-gen: Don't run any git commands when the
24307         version string comes from .tarball-version.  Prior to this, we
24308         would run git update-index --refresh even from a just-unpacked
24309         tarball directory, and that could affect a .git/ directory in a
24310         parent of the build directory.  Reported by Mike Frysinger.
24311
24312 2011-02-19  Bruno Haible  <bruno@clisp.org>
24313
24314         unictype/property-byname: Reduce the size of the 'data' segment.
24315         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
24316
24317 2011-02-19  Bruno Haible  <bruno@clisp.org>
24318
24319         unictype/scripts: Reduce the size of the 'data' segment.
24320         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
24321         '%pic'.
24322         * lib/unictype/scripts_byname.gperf: Regenerated.
24323
24324 2011-02-19  Bruno Haible  <bruno@clisp.org>
24325
24326         stdint: Update documentation.
24327         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
24328
24329 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
24330
24331         stdint: omit redundant check for wchar.h
24332         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
24333         always tests whether wchar.h exists, so remove the now-redundant test.
24334
24335 2011-02-18  Bruno Haible  <bruno@clisp.org>
24336
24337         stdint: Cut dependency to module 'wchar'.
24338         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
24339         include the necessary prerequisites.
24340         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
24341         * modules/stdint (Depends-on): Remove wchar.
24342         (Makefile.am): Substitute HAVE_WCHAR_H.
24343         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
24344
24345 2011-02-18  Eric Blake  <eblake@redhat.com>
24346
24347         longlong: skip, rather than fail, on cross-compilation
24348         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
24349         when cross-compiling; regression from 2011-02-16.
24350
24351 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
24352
24353         * NEWS: Mention 2011-02-08 change to stdlib.
24354
24355 2011-02-17  Bruno Haible  <bruno@clisp.org>
24356
24357         getloadavg: Add comments about platforms.
24358         * m4/getloadavg.m4: Add comment.
24359         * lib/getloadavg.c: Likewise.
24360
24361 2011-02-17  Bruno Haible  <bruno@clisp.org>
24362
24363         getloadavg: Fix link error on Solaris 2.6.
24364         * modules/getloadavg (Link): New section.
24365         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
24366         linking test-getloadavg.
24367         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
24368         getloadavg.
24369
24370 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
24371
24372         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
24373         It was 'int', but this doesn't match the IRIX 6.5 manual.
24374         Suggested by Bruno Haible in
24375         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
24376
24377 2011-02-17  Bruno Haible  <bruno@clisp.org>
24378
24379         havelib: Fix comments.
24380         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
24381         change.
24382
24383 2011-02-17  Bruno Haible  <bruno@clisp.org>
24384
24385         havelib: Update config.rpath.
24386         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
24387
24388 2011-02-17  Bruno Haible  <bruno@clisp.org>
24389
24390         getloadavg test: Add some plausibility checks.
24391         * tests/test-getloadavg.c (check_avg): Print a warning when the value
24392         is improbable.
24393
24394 2011-02-16  Eric Blake  <eblake@redhat.com>
24395
24396         maintainer-makefile: make syntax-check a no-op from tarballs
24397         * top/maint.mk (no-vc-detected): New rule.
24398         (local-checks-available): Use it to avoid hanging if someone tries
24399         'make syntax-check' from a tarball.  Also append to any non-syntax
24400         checks already defined in cfg.mk.
24401
24402 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
24403
24404         longlong: tune, particularly for common case of c99
24405
24406         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
24407         or running anything if c99, or if unsigned long long int does not
24408         work.  In either case, we know the answer without further tests.
24409         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
24410         it at most once, and use its results for both long long int and
24411         unsigned long long int.  This is more likely to be efficient in
24412         the common case where the program wants to check for both long
24413         long int and unsigned long long int.
24414         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
24415         since the answer is already known.
24416
24417 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
24418
24419         getloadavg: set errno
24420         * lib/getloadavg.c: Set errno when returning -1.  If no other
24421         error number looks appropriate, set it to ENOSYS if the getloadavg
24422         looks like it can't possibly ever work, ENOTSUP otherwise.
24423         Suggested by Bruno Haible in
24424         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
24425
24426         getloadavg: trim unused parts and speed up 'configure'
24427         * NEWS: Document this.
24428         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
24429         always compiled if getloadavg is absent.
24430         Move test code to ...
24431         * tests/test-getloadavg.c: New file, containing previous
24432         contents of test from lib/getloadavg.c.  It also contains
24433         suggestions by Bruno Haible in
24434         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
24435         * modules/getloadavg-tests: New file.
24436         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
24437         Do tests in the same order as they're needed for getloadavg.c.
24438         Omit setgid-related tests that generate symbols KMEM_GROUP,
24439         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
24440         Do only the tests that are needed to see whether the system has
24441         getloadavg, moving the other tests into ...
24442         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
24443         NLIST_NAME_UNION; nobody should be using it.  Do not define
24444         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
24445         relevant, as the user of this module shouldn't care how getloadavg
24446         is implemented.
24447
24448         getloadavg: omit unused var
24449         * lib/getloadavg.c (getloadavg): Omit unused local variable.
24450
24451 2011-02-15  Jim Meyering  <meyering@redhat.com>
24452
24453         doc: update users.txt
24454         * users.txt: Update iwhd's URL.
24455
24456 2011-02-13  Bruno Haible  <bruno@clisp.org>
24457
24458         Consistent macro naming for macros that use GCC __attribute__.
24459         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
24460         _ATTRIBUTE_NONNULL_.
24461         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
24462         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
24463         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
24464         ATTRIBUTE_DEPRECATED.
24465         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
24466         ATTRIBUTE_NORETURN.
24467         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24468         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24469         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24470         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24471         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
24472         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
24473         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
24474         ATTRIBUTE_SENTINEL.
24475         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
24476         ATTRIBUTE_RETURN_CHECK.
24477         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
24478         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
24479         ATTRIBUTE_NORETURN.
24480         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
24481         Reported by Paul Eggert.
24482
24483 2011-02-13  Bruno Haible  <bruno@clisp.org>
24484
24485         Don't interfere with a program's definition of __attribute__.
24486         * lib/argp.h (__attribute__): Remove definition.
24487         (_GL_ATTRIBUTE_FORMAT): New macro.
24488         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
24489         * lib/argp-fmtstream.h (__attribute__): Remove definition.
24490         (_GL_ATTRIBUTE_FORMAT): New macro.
24491         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
24492         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
24493         GCC 3 or newer.
24494         * lib/error.h (__attribute__): Remove definition.
24495         (_GL_ATTRIBUTE_FORMAT): New macro.
24496         (error, error_at_line): Use it.
24497         * lib/hash.h (__attribute__): Remove definition.
24498         (ATTRIBUTE_WUR): Update definition. Define always.
24499         * lib/openat.h (__attribute__): Remove definition.
24500         (ATTRIBUTE_NORETURN): Update definition. Define always.
24501         * lib/sigpipe-die.h (__attribute__): Remove definition.
24502         (ATTRIBUTE_NORETURN): Update definition. Define always.
24503         * lib/vasnprintf.h (__attribute__): Remove definition.
24504         (_GL_ATTRIBUTE_FORMAT): New macro.
24505         (asnprintf, vasnprintf): Use it.
24506         * lib/xalloc.h (__attribute__): Remove definition.
24507         (ATTRIBUTE_NORETURN): Update definition. Define always.
24508         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
24509         * lib/xmemdup0.h (__attribute__): Remove definition.
24510         (ATTRIBUTE_NORETURN): Update definition. Define always.
24511         * lib/xprintf.h (__attribute__): Remove definition.
24512         (_GL_ATTRIBUTE_FORMAT): New macro.
24513         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
24514         * lib/xstrtol.h (__attribute__): Remove definition.
24515         (ATTRIBUTE_NORETURN): Update definition. Define always.
24516         * lib/xvasprintf.h (__attribute__): Remove definition.
24517         (_GL_ATTRIBUTE_FORMAT): New macro.
24518         (xasprintf, xvasprintf): Use it.
24519         * tests/test-argmatch.c (__attribute__): Remove definition.
24520         (ATTRIBUTE_NORETURN): Update definition. Define always.
24521         * tests/test-exclude.c (__attribute__): Remove definition.
24522         (ATTRIBUTE_NORETURN): Update definition. Define always.
24523         Reported by Paul Eggert.
24524
24525 2011-02-13  Bruno Haible  <bruno@clisp.org>
24526
24527         mbrtowc: Add more tests for native Windows platforms.
24528         * tests/test-mbrtowc-w32-1.sh: New file.
24529         * tests/test-mbrtowc-w32-2.sh: New file.
24530         * tests/test-mbrtowc-w32-3.sh: New file.
24531         * tests/test-mbrtowc-w32-4.sh: New file.
24532         * tests/test-mbrtowc-w32-5.sh: New file.
24533         * tests/test-mbrtowc-w32.c: New file.
24534         * modules/mbrtowc-tests (Files): Add them.
24535         (Makefile.am): Arrange to run these tests.
24536         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
24537         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
24538
24539 2011-02-13  Bruno Haible  <bruno@clisp.org>
24540
24541         mbrtowc: Work around native Windows bug.
24542         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
24543         guess when no suitable locale for testing was found.
24544         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
24545
24546 2011-02-13  Bruno Haible  <bruno@clisp.org>
24547
24548         mbsinit: Work around mingw bug.
24549         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
24550         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
24551         Windows.
24552         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
24553
24554 2011-02-13  Bruno Haible  <bruno@clisp.org>
24555
24556         mbsinit: Don't crash for a NULL argument.
24557         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
24558         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
24559
24560 2011-02-13  Bruno Haible  <bruno@clisp.org>
24561
24562         Don't interfere with a program's definition of __attribute__.
24563         * lib/stdio.in.h (__attribute__): Remove definition.
24564         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
24565         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
24566         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
24567         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
24568         * lib/string.in.h (__attribute__): Remove definition.
24569         Reported by Paul Eggert.
24570
24571 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
24572
24573         stdlib: don't get in the way of non-GCC __attribute__
24574         See thread starting at
24575         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
24576         Revert previous stdlib change, installing the following instead:
24577         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
24578         to get in the way of a non-GCC compiler that supports __attribute__.
24579         (_GL_ATTRIBUTE_RETURN): New macro.
24580         (_Exit): Use it instead of __attribute__.
24581
24582 2011-02-12  Bruno Haible  <bruno@clisp.org>
24583
24584         quotearg test: Avoid test failure on mingw.
24585         * tests/test-quotearg.sh: Convert the locale identifier from native
24586         Windows syntax to Unix syntax.
24587
24588 2011-02-12  Bruno Haible  <bruno@clisp.org>
24589
24590         setlocale: Prefer gnulib's override over libintl's override.
24591         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
24592         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
24593         GNULIB_defined_setlocale is set.
24594
24595 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
24596
24597         stdlib: support non-GCC __attribute__
24598
24599         Fix a serious and tricky problem encountered when attempting to
24600         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
24601         5.5, but it crashed due to memory corruption on Solaris 10 with
24602         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
24603         bits that are otherwise zero.  This tagging is optional inside
24604         Emacs but is preferred and is used when __attribute__ ((__aligned
24605         (8))) works, as it does with both recent-enough GCC and with Sun C
24606         5.11.  However, Sun C 5.11 is not GCC and does not #define
24607         __GNUC__ and __GNUC_MINOR__.
24608
24609         When I added the getloadavg module to Emacs, it brought in
24610         stdlib.in.h, which contained this fragment:
24611
24612            #ifndef __attribute__
24613            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
24614            #  define __attribute__(Spec)   /* empty */
24615            # endif
24616            #endif
24617
24618         When files that include <stdlib.h> were compiled with Sun C 5.11,
24619         the above code disabled __attribute__ ((__aligned (8))), which
24620         caused variables to not be properly aligned, which eventually led
24621         to the pointer corruption mentioned above.  (This was a bit hard
24622         to diagnose, unfortunately.)
24623
24624         Several "#define __attribute__(X) /* empty */" code snippets need
24625         to be eradicated from Gnulib to work with non-GCC compilers that
24626         support __attribute__.  The Autoconf way to do this is to test for
24627         each kind of attribute that we want support for, and selectively
24628         enable that in source code.
24629
24630         Fix this problem just for stdlib.h, by adding a test for the
24631         __noreturn__ attribute, and change stdlib.in.h to use that test
24632         when needed.  This technique can be easily generalized to the
24633         other *.in.h files and attributes, and a similar technique can be
24634         used for *.h and *.c files.  This patch is enough to solve the
24635         problem for Emacs + getloadavg, and I thought I'd publish it for
24636         feedback before undertaking further, similar fixes in other
24637         modules.
24638
24639         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
24640         because it's not needed for stdlib.h.  It merely substitutes the
24641         value directly into stdlib.h.  We may well need to #define it, or
24642         similar symbols, for other modules, but it's nice to also have an
24643         option to not #define it for applications like Emacs that do not
24644         need it.
24645
24646         * lib/stdlib.in.h (__attribute__): Do not #define.
24647         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
24648         be defined only if the _Exit module is also used.
24649         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
24650         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
24651         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
24652         platforms.
24653         * modules/_Exit (Files): Add m4/attribute.m4.
24654         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
24655         * m4/attribute.m4: New file.
24656
24657 2011-02-12  Bruno Haible  <bruno@clisp.org>
24658
24659         wcsrtombs: Work around bug on native Windows.
24660         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
24661         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
24662         instead of len.
24663         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
24664
24665 2011-02-12  Bruno Haible  <bruno@clisp.org>
24666
24667         mbsrtowcs: Work around bug on native Windows.
24668         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
24669         against mingw bug.
24670         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
24671
24672 2011-02-12  Bruno Haible  <bruno@clisp.org>
24673
24674         Avoid setlocale bugs in tests.
24675         * modules/btowc (Dependencies): Add setlocale.
24676         * modules/c-strcase (Dependencies): Likewise.
24677         * modules/mbmemcasecmp (Dependencies): Likewise.
24678         * modules/mbmemcasecoll (Dependencies): Likewise.
24679         * modules/mbrtowc (Dependencies): Likewise.
24680         * modules/mbscasecmp (Dependencies): Likewise.
24681         * modules/mbscasestr (Dependencies): Likewise.
24682         * modules/mbschr (Dependencies): Likewise.
24683         * modules/mbscspn (Dependencies): Likewise.
24684         * modules/mbsinit (Dependencies): Likewise.
24685         * modules/mbsncasecmp (Dependencies): Likewise.
24686         * modules/mbsnrtowcs (Dependencies): Likewise.
24687         * modules/mbspbrk (Dependencies): Likewise.
24688         * modules/mbspcasecmp (Dependencies): Likewise.
24689         * modules/mbsrchr (Dependencies): Likewise.
24690         * modules/mbsrtowcs (Dependencies): Likewise.
24691         * modules/mbsspn (Dependencies): Likewise.
24692         * modules/mbsstr (Dependencies): Likewise.
24693         * modules/nl_langinfo (Dependencies): Likewise.
24694         * modules/quotearg (Dependencies): Likewise.
24695         * modules/unicase/locale-language (Dependencies): Likewise.
24696         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
24697         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
24698         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
24699         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
24700         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
24701         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
24702         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
24703         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
24704         * modules/vasnprintf-posix (Dependencies): Likewise.
24705         * modules/wcrtomb (Dependencies): Likewise.
24706         * modules/wcsnrtombs (Dependencies): Likewise.
24707         * modules/wcsrtombs (Dependencies): Likewise.
24708
24709 2011-02-12  Bruno Haible  <bruno@clisp.org>
24710
24711         setlocale: Workaround native Windows bug.
24712         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
24713         succeeds but sets LC_CTYPE to "C", report a failure.
24714         * tests/test-setlocale2.sh: New file.
24715         * tests/test-setlocale2.c: New file.
24716         * modules/setlocale-tests (Files): Add the new files.
24717         (Makefile.am): Enable test-setlocale2.sh test.
24718         * doc/posix-functions/setlocale.texi: Mention workaround.
24719
24720 2011-02-11  Bruno Haible  <bruno@clisp.org>
24721
24722         Tests for module 'setlocale'.
24723         * modules/setlocale-tests: New file.
24724         * tests/test-setlocale1.sh: New file.
24725         * tests/test-setlocale1.c: New file.
24726
24727         New module 'setlocale'.
24728         * lib/locale.in.h (setlocale): New declaration.
24729         * lib/setlocale.c: New file, based on
24730         gettext/gettext-runtime/intl/setlocale.c.
24731         * m4/setlocale.m4: New file.
24732         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
24733         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
24734         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
24735         REPLACE_SETLOCALE.
24736         * modules/setlocale: New file.
24737         * tests/test-locale-c++.cc: Test the declaration of setlocale.
24738         * doc/posix-functions/setlocale.texi: Mention the new module.
24739
24740 2011-02-11  Bruno Haible  <bruno@clisp.org>
24741
24742         Prepare for locale dependent tests on mingw.
24743         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
24744         because it has the wrong locale encoding.
24745         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
24746         French_France.1252 instead of "fr".
24747         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
24748         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
24749         because it has the wrong locale encoding.
24750         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
24751         native Windows, try Turkish_Turkey.65001.
24752         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
24753         Chinese_China.54936.
24754
24755         Prepare for locale dependent tests on mingw.
24756         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
24757         differently.
24758         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
24759         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
24760         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
24761         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
24762
24763 2011-02-11  Eric Blake  <eblake@redhat.com>
24764
24765         strptime: avoid compiler warnings
24766         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
24767         compiler warnings about dead code.
24768         Reported by Daniel P. Berrange.
24769
24770 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
24771
24772         doc: update users.txt
24773         * users.txt: Add rcs.
24774
24775 2011-02-10  John W. Eaton  <jwe@gnu.org>
24776
24777         doc: update users.txt
24778         * users.txt: Add octave.
24779
24780 2011-02-10  Jim Meyering  <meyering@redhat.com>
24781
24782         doc: update users.txt
24783         * users.txt: Add iwhd.
24784
24785 2011-02-09  Bruno Haible  <bruno@clisp.org>
24786
24787         gnulib-tool: Make copyright notice adjustment more robust.
24788         * gnulib-tool (func_import): In sed_transform_main_lib_file,
24789         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
24790         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
24791         License".
24792         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
24793
24794 2011-02-06  Bruno Haible  <bruno@clisp.org>
24795
24796         New module 'towctrans'.
24797         * modules/towctrans: New file.
24798         * lib/wctype.in.h (towctrans): New declaration.
24799         * lib/towctrans.c: New file.
24800         * lib/towctrans-impl.h: New file.
24801         * m4/towctrans.m4: New file.
24802         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
24803         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
24804         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
24805         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
24806         * doc/posix-functions/towctrans.texi: Mention the new module.
24807
24808 2011-02-06  Bruno Haible  <bruno@clisp.org>
24809
24810         New module 'wctrans'.
24811         * modules/wctrans: New file.
24812         * lib/wctype.in.h (wctrans): New declaration.
24813         * lib/wctrans.c: New file.
24814         * lib/wctrans-impl.h: New file.
24815         * m4/wctrans.m4: New file.
24816         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
24817         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
24818         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
24819         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
24820         * doc/posix-functions/wctrans.texi: Mention the new module.
24821
24822 2011-02-06  Bruno Haible  <bruno@clisp.org>
24823
24824         New module 'iswctype'.
24825         * modules/iswctype: New file.
24826         * lib/wctype.in.h (iswctype): New declaration.
24827         * lib/iswctype.c: New file.
24828         * lib/iswctype-impl.h: New file.
24829         * m4/iswctype.m4: New file.
24830         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
24831         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
24832         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
24833         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
24834         * doc/posix-functions/iswctype.texi: Mention the new module and the
24835         HP-UX 11.00 problem.
24836
24837 2011-02-06  Bruno Haible  <bruno@clisp.org>
24838
24839         New module 'wctype'.
24840         * modules/wctype: Change to represent the wctype() substitute.
24841         * lib/wctype.in.h (wctype): New declaration.
24842         * lib/wctype.c: New file.
24843         * lib/wctype-impl.h: New file.
24844         * m4/wctype.m4: New file.
24845         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
24846         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
24847         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
24848         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
24849         * doc/posix-functions/wctype.texi: Mention the new module and the
24850         HP-UX 11.00 problem.
24851
24852 2011-02-06  Bruno Haible  <bruno@clisp.org>
24853
24854         wctype-h: Ensure wctype_t and wctrans_t are defined.
24855         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
24856         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24857         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24858         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
24859         HAVE_WCTRANS_T.
24860         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
24861
24862 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
24863
24864         flock: fix license typo
24865
24866         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
24867         omitted.
24868
24869 2011-02-08  Bruno Haible  <bruno@clisp.org>
24870
24871         Split large sed scripts, for HP-UX sed.
24872         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
24873         to avoid HP-UX limit of 99 commands, in the near future.
24874         * modules/stdlib (Makefile.am): Likewise.
24875         * modules/unistd (Makefile.am): Likewise.
24876         * modules/wchar (Makefile.am): Likewise.
24877         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24878         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
24879         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
24880
24881 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24882             Bruno Haible  <bruno@clisp.org>
24883
24884         stdlib: improve random_r modularization
24885         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
24886         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
24887         you also need the random_r module to get this material right.
24888         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
24889         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
24890         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
24891
24892 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24893
24894         stdlib: don't depend on stdint
24895         * lib/stdlib.in.h: Don't include <stdint.h> merely because
24896         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
24897         be independent of whether stdint.h is needed.
24898         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
24899         here, instead of ...
24900         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
24901         struct random_data should be using the random_r module, not just
24902         the stdlib module (which wouldn't make sense: what package needs
24903         just struct random_data without also needing random_r?).
24904         * modules/stdlib (Depends-on): Remove stdint.
24905
24906         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
24907         See the thread rooted at
24908         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
24909         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
24910         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
24911         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
24912         __VMS)); previously it was always included (via fcntl--.h).
24913         (getloadavg): Do not use c_strtod.  Instead, approximate it by
24914         hand; this is good enough for load averages.  Also, do not use
24915         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
24916         flags directly if available and don't bother otherwise.  (Packages
24917         that need the extra reliability should use the modules that define
24918         these flags on older platforms that lack them.)
24919         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
24920         fcntl-safer.
24921
24922 2011-02-08  Jim Meyering  <meyering@redhat.com>
24923
24924         di-set.h, ino-map.h: add multiple-inclusion guard
24925         Technically, the guard is required only for ino-map.h, due to its
24926         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
24927         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
24928         * lib/ino-map.h: Likewise.
24929
24930 2011-02-06  Bruno Haible  <bruno@clisp.org>
24931
24932         iswblank: Ensure declaration on glibc systems.
24933         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
24934         * modules/iswblank (Dependencies): Add 'extensions'.
24935         * doc/posix-functions/iswblank.texi: Document the glibc problem.
24936
24937 2011-02-06  Bruno Haible  <bruno@clisp.org>
24938
24939         New module 'iswblank'.
24940         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
24941         * modules/iswblank: New file.
24942         * modules/wctype-h (Files): Remove lib/iswblank.c.
24943         (Makefile.am): Substitute GNULIB_ISWBLANK.
24944         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
24945         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
24946         (gl_WCTYPE_H_DEFAULTS): New macro.
24947         (gl_WCTYPE_H): Require it. Remove iswblank related code.
24948         * modules/iswblank-tests: New file.
24949         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
24950         * tests/test-wctype-h.c (main): Remove iswblank tests.
24951         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
24952         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
24953         of 'wctype-h'.
24954         * NEWS: Mention the change.
24955         * modules/mbchar (Depends-on): Add iswblank.
24956
24957 2011-02-08  Bruno Haible  <bruno@clisp.org>
24958
24959         di-set tests: Refactor.
24960         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
24961         unnecessary includes.
24962         (ASSERT): Remove macro.
24963         (main): Make C90 compliant by avoiding variable declaration after
24964         statement.
24965         * modules/di-set-tests (Files): Add tests/macros.h.
24966
24967 2011-02-08  Bruno Haible  <bruno@clisp.org>
24968
24969         ino-map tests: Refactor.
24970         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
24971         unnecessary includes.
24972         (ASSERT): Remove macro.
24973         (main): Make C90 compliant by avoiding variable declaration after
24974         statement.
24975         * modules/ino-map-tests (Files): Add tests/macros.h.
24976
24977 2011-02-08  Jim Meyering  <meyering@redhat.com>
24978
24979         di-set: add "const" to a cast
24980         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
24981         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
24982
24983 2011-02-06  Bruno Haible  <bruno@clisp.org>
24984
24985         Rename module 'wctype' to 'wctype-h'.
24986         * modules/wctype-h: Renamed from modules/wctype.
24987         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
24988         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
24989         (Files, Depends-on, Makefile.am): Update.
24990         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
24991         (Files, Makefile.am): Update.
24992         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
24993         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
24994         * doc/posix-headers/wctype.texi: Update.
24995         * doc/posix-functions/iswalnum.texi: Update.
24996         * doc/posix-functions/iswalpha.texi: Update.
24997         * doc/posix-functions/iswblank.texi: Update.
24998         * doc/posix-functions/iswcntrl.texi: Update.
24999         * doc/posix-functions/iswdigit.texi: Update.
25000         * doc/posix-functions/iswgraph.texi: Update.
25001         * doc/posix-functions/iswlower.texi: Update.
25002         * doc/posix-functions/iswprint.texi: Update.
25003         * doc/posix-functions/iswpunct.texi: Update.
25004         * doc/posix-functions/iswspace.texi: Update.
25005         * doc/posix-functions/iswupper.texi: Update.
25006         * doc/posix-functions/iswxdigit.texi: Update.
25007         * doc/posix-functions/towlower.texi: Update.
25008         * doc/posix-functions/towupper.texi: Update.
25009         * NEWS: Mention the change.
25010         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
25011         * modules/mbchar (Dependencies): Likewise.
25012         * modules/mbswidth (Dependencies): Likewise.
25013         * modules/quotearg (Dependencies): Likewise.
25014         * modules/regex (Dependencies): Likewise.
25015         * modules/wcscasecmp (Dependencies): Likewise.
25016         * modules/wcsncasecmp (Dependencies): Likewise.
25017         * modules/wcwidth (Dependencies): Likewise.
25018
25019 2011-02-06  Bruno Haible  <bruno@clisp.org>
25020
25021         New module 'wcswidth'.
25022         * modules/wcswidth: New file.
25023         * lib/wchar.in.h (wcswidth): New declaration.
25024         * lib/wcswidth.c: New file.
25025         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
25026         * m4/wcswidth.m4: New file.
25027         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
25028         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
25029         REPLACE_WCSWIDTH.
25030         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
25031         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
25032         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
25033         * doc/posix-functions/wcswidth.texi: Mention the new module.
25034
25035 2011-02-06  Bruno Haible  <bruno@clisp.org>
25036
25037         New module 'wcstok'.
25038         * modules/wcstok: New file.
25039         * lib/wchar.in.h (wcstok): New declaration.
25040         * lib/wcstok.c: New file.
25041         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
25042         * m4/wcstok.m4: New file.
25043         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
25044         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
25045         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
25046         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
25047         * doc/posix-functions/wcstok.texi: Mention the new module.
25048
25049 2011-02-06  Bruno Haible  <bruno@clisp.org>
25050
25051         New module 'wcsstr'.
25052         * modules/wcsstr: New file.
25053         * lib/wchar.in.h (wcsstr): New declaration.
25054         * lib/wcsstr.c: New file.
25055         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
25056         * m4/wcsstr.m4: New file.
25057         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
25058         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
25059         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
25060         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
25061         * doc/posix-functions/wcsstr.texi: Mention the new module.
25062
25063 2011-02-06  Bruno Haible  <bruno@clisp.org>
25064
25065         New module 'wcspbrk'.
25066         * modules/wcspbrk: New file.
25067         * lib/wchar.in.h (wcspbrk): New declaration.
25068         * lib/wcspbrk.c: New file.
25069         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
25070         * m4/wcspbrk.m4: New file.
25071         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
25072         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
25073         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
25074         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
25075         * doc/posix-functions/wcspbrk.texi: Mention the new module.
25076
25077 2011-02-06  Bruno Haible  <bruno@clisp.org>
25078
25079         New module 'wcsspn'.
25080         * modules/wcsspn: New file.
25081         * lib/wchar.in.h (wcsspn): New declaration.
25082         * lib/wcsspn.c: New file.
25083         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
25084         * m4/wcsspn.m4: New file.
25085         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
25086         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
25087         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
25088         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
25089         * doc/posix-functions/wcsspn.texi: Mention the new module.
25090
25091 2011-02-06  Bruno Haible  <bruno@clisp.org>
25092
25093         New module 'wcscspn'.
25094         * modules/wcscspn: New file.
25095         * lib/wchar.in.h (wcscspn): New declaration.
25096         * lib/wcscspn.c: New file.
25097         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
25098         * m4/wcscspn.m4: New file.
25099         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
25100         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
25101         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
25102         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
25103         * doc/posix-functions/wcscspn.texi: Mention the new module.
25104
25105 2011-02-06  Bruno Haible  <bruno@clisp.org>
25106
25107         New module 'wcsrchr'.
25108         * modules/wcsrchr: New file.
25109         * lib/wchar.in.h (wcsrchr): New declaration.
25110         * lib/wcsrchr.c: New file.
25111         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
25112         * m4/wcsrchr.m4: New file.
25113         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
25114         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
25115         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
25116         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
25117         * doc/posix-functions/wcsrchr.texi: Mention the new module.
25118
25119 2011-02-06  Bruno Haible  <bruno@clisp.org>
25120
25121         New module 'wcschr'.
25122         * modules/wcschr: New file.
25123         * lib/wchar.in.h (wcschr): New declaration.
25124         * lib/wcschr.c: New file.
25125         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
25126         * m4/wcschr.m4: New file.
25127         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
25128         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
25129         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
25130         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
25131         * doc/posix-functions/wcschr.texi: Mention the new module.
25132
25133 2011-02-06  Bruno Haible  <bruno@clisp.org>
25134
25135         New module 'wcsdup'.
25136         * modules/wcsdup: New file.
25137         * lib/wchar.in.h (wcsdup): New declaration.
25138         * lib/wcsdup.c: New file.
25139         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
25140         * m4/wcsdup.m4: New file.
25141         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
25142         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
25143         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
25144         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
25145         * doc/posix-functions/wcsdup.texi: Mention the new module.
25146
25147 2011-02-06  Bruno Haible  <bruno@clisp.org>
25148
25149         New module 'wcsxfrm'.
25150         * modules/wcsxfrm: New file.
25151         * lib/wchar.in.h (wcsxfrm): New declaration.
25152         * lib/wcsxfrm.c: New file.
25153         * lib/wcsxfrm-impl.h: New file.
25154         * m4/wcsxfrm.m4: New file.
25155         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
25156         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
25157         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
25158         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
25159         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
25160
25161 2011-02-06  Bruno Haible  <bruno@clisp.org>
25162
25163         New module 'wcscoll'.
25164         * modules/wcscoll: New file.
25165         * lib/wchar.in.h (wcscoll): New declaration.
25166         * lib/wcscoll.c: New file.
25167         * lib/wcscoll-impl.h: New file.
25168         * m4/wcscoll.m4: New file.
25169         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
25170         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
25171         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
25172         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
25173         * doc/posix-functions/wcscoll.texi: Mention the new module.
25174
25175 2011-02-06  Bruno Haible  <bruno@clisp.org>
25176
25177         New module 'wcsncasecmp'.
25178         * modules/wcsncasecmp: New file.
25179         * lib/wchar.in.h (wcsncasecmp): New declaration.
25180         * lib/wcsncasecmp.c: New file.
25181         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
25182         * m4/wcsncasecmp.m4: New file.
25183         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
25184         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
25185         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
25186         HAVE_WCSNCASECMP.
25187         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
25188         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
25189
25190 2011-02-06  Bruno Haible  <bruno@clisp.org>
25191
25192         New module 'wcscasecmp'.
25193         * modules/wcscasecmp: New file.
25194         * lib/wchar.in.h (wcscasecmp): New declaration.
25195         * lib/wcscasecmp.c: New file.
25196         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
25197         * m4/wcscasecmp.m4: New file.
25198         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
25199         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
25200         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
25201         HAVE_WCSCASECMP.
25202         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
25203         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
25204
25205 2011-02-05  Bruno Haible  <bruno@clisp.org>
25206
25207         New module 'wcsncmp'.
25208         * modules/wcsncmp: New file.
25209         * lib/wchar.in.h (wcsncmp): New declaration.
25210         * lib/wcsncmp.c: New file.
25211         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
25212         * m4/wcsncmp.m4: New file.
25213         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
25214         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
25215         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
25216         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
25217         * doc/posix-functions/wcsncmp.texi: Mention the new module.
25218
25219 2011-02-05  Bruno Haible  <bruno@clisp.org>
25220
25221         New module 'wcscmp'.
25222         * modules/wcscmp: New file.
25223         * lib/wchar.in.h (wcscmp): New declaration.
25224         * lib/wcscmp.c: New file.
25225         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
25226         * m4/wcscmp.m4: New file.
25227         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
25228         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
25229         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
25230         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
25231         * doc/posix-functions/wcscmp.texi: Mention the new module.
25232
25233 2011-02-05  Bruno Haible  <bruno@clisp.org>
25234
25235         New module 'wcsncat'.
25236         * modules/wcsncat: New file.
25237         * lib/wchar.in.h (wcsncat): New declaration.
25238         * lib/wcsncat.c: New file.
25239         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
25240         * m4/wcsncat.m4: New file.
25241         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
25242         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
25243         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
25244         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
25245         * doc/posix-functions/wcsncat.texi: Mention the new module.
25246
25247 2011-02-05  Bruno Haible  <bruno@clisp.org>
25248
25249         New module 'wcscat'.
25250         * modules/wcscat: New file.
25251         * lib/wchar.in.h (wcscat): New declaration.
25252         * lib/wcscat.c: New file.
25253         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
25254         * m4/wcscat.m4: New file.
25255         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
25256         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
25257         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
25258         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
25259         * doc/posix-functions/wcscat.texi: Mention the new module.
25260
25261 2011-02-05  Bruno Haible  <bruno@clisp.org>
25262
25263         New module 'wcpncpy'.
25264         * modules/wcpncpy: New file.
25265         * lib/wchar.in.h (wcpncpy): New declaration.
25266         * lib/wcpncpy.c: New file.
25267         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
25268         * m4/wcpncpy.m4: New file.
25269         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
25270         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
25271         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
25272         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
25273         * doc/posix-functions/wcpncpy.texi: Mention the new module.
25274
25275 2011-02-05  Bruno Haible  <bruno@clisp.org>
25276
25277         New module 'wcsncpy'.
25278         * modules/wcsncpy: New file.
25279         * lib/wchar.in.h (wcsncpy): New declaration.
25280         * lib/wcsncpy.c: New file.
25281         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
25282         * m4/wcsncpy.m4: New file.
25283         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
25284         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
25285         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
25286         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
25287         * doc/posix-functions/wcsncpy.texi: Mention the new module.
25288
25289 2011-02-05  Bruno Haible  <bruno@clisp.org>
25290
25291         New module 'wcpcpy'.
25292         * modules/wcpcpy: New file.
25293         * lib/wchar.in.h (wcpcpy): New declaration.
25294         * lib/wcpcpy.c: New file.
25295         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
25296         * m4/wcpcpy.m4: New file.
25297         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
25298         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
25299         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
25300         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
25301         * doc/posix-functions/wcpcpy.texi: Mention the new module.
25302
25303 2011-02-05  Bruno Haible  <bruno@clisp.org>
25304
25305         New module 'wcscpy'.
25306         * modules/wcscpy: New file.
25307         * lib/wchar.in.h (wcscpy): New declaration.
25308         * lib/wcscpy.c: New file.
25309         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
25310         * m4/wcscpy.m4: New file.
25311         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
25312         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
25313         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
25314         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
25315         * doc/posix-functions/wcscpy.texi: Mention the new module.
25316
25317 2011-02-05  Bruno Haible  <bruno@clisp.org>
25318
25319         New module 'wcsnlen'.
25320         * modules/wcsnlen: New file.
25321         * lib/wchar.in.h (wcsnlen): New declaration.
25322         * lib/wcsnlen.c: New file.
25323         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
25324         * m4/wcsnlen.m4: New file.
25325         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
25326         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
25327         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
25328         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
25329         * doc/posix-functions/wcsnlen.texi: Mention the new module.
25330
25331 2011-02-05  Bruno Haible  <bruno@clisp.org>
25332
25333         New module 'wcslen'.
25334         * modules/wcslen: New file.
25335         * lib/wchar.in.h (wcslen): New declaration.
25336         * lib/wcslen.c: New file.
25337         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
25338         * m4/wcslen.m4: New file.
25339         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
25340         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
25341         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
25342         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
25343         * doc/posix-functions/wcslen.texi: Mention the new module.
25344
25345 2011-02-05  Bruno Haible  <bruno@clisp.org>
25346
25347         New module 'wmemset'.
25348         * modules/wmemset: New file.
25349         * lib/wchar.in.h (wmemset): New declaration.
25350         * lib/wmemset.c: New file.
25351         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
25352         * m4/wmemset.m4: New file.
25353         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
25354         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
25355         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
25356         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
25357         * doc/posix-functions/wmemset.texi: Mention the new module.
25358
25359 2011-02-05  Bruno Haible  <bruno@clisp.org>
25360
25361         New module 'wmemmove'.
25362         * modules/wmemmove: New file.
25363         * lib/wchar.in.h (wmemmove): New declaration.
25364         * lib/wmemmove.c: New file.
25365         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
25366         * m4/wmemmove.m4: New file.
25367         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
25368         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
25369         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
25370         HAVE_WMEMMOVE.
25371         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
25372         * doc/posix-functions/wmemmove.texi: Mention the new module.
25373
25374 2011-02-05  Bruno Haible  <bruno@clisp.org>
25375
25376         New module 'wmemcpy'.
25377         * modules/wmemcpy: New file.
25378         * lib/wchar.in.h (wmemcpy): New declaration.
25379         * lib/wmemcpy.c: New file.
25380         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
25381         * m4/wmemcpy.m4: New file.
25382         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
25383         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
25384         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
25385         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
25386         * doc/posix-functions/wmemcpy.texi: Mention the new module.
25387
25388 2011-02-05  Bruno Haible  <bruno@clisp.org>
25389
25390         New module 'wmemcmp'.
25391         * modules/wmemcmp: New file.
25392         * lib/wchar.in.h (wmemcmp): New declaration.
25393         * lib/wmemcmp.c: New file.
25394         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
25395         * m4/wmemcmp.m4: New file.
25396         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
25397         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
25398         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
25399         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
25400         * doc/posix-functions/wmemcmp.texi: Mention the new module.
25401
25402 2011-02-07  Jim Meyering  <meyering@redhat.com>
25403
25404         di-set, ino-map: new modules, from coreutils
25405         * lib/di-set.c: New file.
25406         * lib/di-set.h: Likewise.
25407         * lib/ino-map.c: Likewise.
25408         * lib/ino-map.h: Likewise.
25409         * modules/di-set: Likewise.
25410         * modules/di-set-tests: Likewise.
25411         * modules/ino-map: Likewise.
25412         * modules/ino-map-tests: Likewise.
25413         * tests/test-di-set.c: Likewise.
25414         * tests/test-ino-map.c: Likewise.
25415
25416 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
25417
25418         getloadavg: merge minor changes from Emacs
25419
25420         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
25421         (getloadavg): Use memset, not bzero.
25422
25423         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
25424         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
25425         clash (bug#86).
25426
25427 2010-11-14  Bruno Haible  <bruno@clisp.org>
25428
25429         Allow multiple gnulib generated replacements to coexist.
25430         * lib/getopt.in.h (struct option): Avoid identical redefinition.
25431         * lib/inttypes.in.h (imaxdiv_t): Likewise.
25432         * lib/langinfo.in.h (nl_item): Likewise.
25433         * lib/math.in.h (_NaN, NAN): Likewise.
25434         * lib/netdb.in.h (struct addrinfo): Likewise.
25435         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
25436         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
25437         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
25438         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
25439         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
25440         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
25441         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
25442         pthread_mutexattr_init, pthread_mutexattr_settype,
25443         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
25444         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
25445         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
25446         pthread_spin_trylock, pthread_spin_unlock): Likewise.
25447         * lib/sched.in.h (struct sched_param): Likewise.
25448         * lib/se-selinux.in.h (security_class_t, security_context_t,
25449         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
25450         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
25451         lsetfilecon, fsetfilecon, security_check_context,
25452         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
25453         Likewise.
25454         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
25455         Likewise.
25456         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
25457         _gl_function_taking_int_returning_void_t, union sigval,
25458         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
25459         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
25460         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
25461         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
25462         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
25463         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
25464         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
25465         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
25466         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
25467         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
25468         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
25469         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
25470         socklen_t, rpl_fd_isset): Likewise.
25471         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
25472         * lib/sys_time.in.h (struct timeval): Likewise.
25473         * lib/sys_times.in.h (struct tms): Likewise.
25474         * lib/sys_utsname.in.h (struct utsname):
25475         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
25476         * lib/unistd.in.h (getpagesize): Likewise.
25477         * lib/wchar.in.h (mbstate_t): Likewise.
25478         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
25479         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
25480         towlower, towupper): Likewise.
25481         Reported by Sam Steingold <sds@gnu.org>.
25482
25483 2011-02-05  Eric Blake  <eblake@redhat.com>
25484
25485         unsetenv: work around Haiku issues
25486         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
25487         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
25488
25489 2010-12-30  Bruce Korb  <bkorb@gnu.org>
25490
25491         libposix: avoid calling error() within libposix
25492         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
25493         is defined.
25494
25495 2011-02-05  Eric Blake  <eblake@redhat.com>
25496
25497         strerror_r-posix: port to cygwin
25498         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
25499         implementation.
25500         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
25501         * tests/test-strerror_r.c (main): Fix test.
25502         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
25503         issue.
25504
25505 2011-02-05  Bruno Haible  <bruno@clisp.org>
25506
25507         New module 'wmemchr'.
25508         * modules/wmemchr: New file.
25509         * lib/wchar.in.h (wmemchr): New declaration.
25510         * lib/wmemchr.c: New file.
25511         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
25512         * m4/wmemchr.m4: New file.
25513         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
25514         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
25515         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
25516         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
25517         * doc/posix-functions/wmemchr.texi: Mention the new module.
25518
25519 2011-02-04  Eric Blake  <eblake@redhat.com>
25520
25521         fdopendir: detect FreeBSD bug
25522         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
25523         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
25524
25525 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
25526
25527         stdbool: do not define HAVE_STDBOOL_H
25528         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
25529         AC_HEADER_STDBOOL.  All uses changed.  Do not define
25530         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
25531         imported from the latest Autoconf git.  It was motivated by Emacs,
25532         which uses gnulib but does not need HAVE_STDBOOL_H.
25533
25534 2011-02-04  Bruno Haible  <bruno@clisp.org>
25535
25536         wcsnrtombs: Prepare for new module wwcsnrtombs.
25537         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
25538         * lib/wcsnrtombs.c: Include it.
25539         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
25540
25541         wcsrtombs: Prepare for new module wwcsrtombs.
25542         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
25543         * lib/wcsrtombs.c: Include it.
25544         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
25545
25546         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
25547         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
25548         * lib/mbsnrtowcs.c: Include it.
25549         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
25550
25551         mbsrtowcs: Prepare for new module mbsrtowwcs.
25552         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
25553         * lib/mbsrtowcs.c: Include it.
25554         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
25555
25556 2011-02-04  Bruno Haible  <bruno@clisp.org>
25557
25558         vasnprintf: Reduce use of malloc for small format strings.
25559         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
25560         (arguments): Add room for the first 7 arguments.
25561         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
25562         (char_directives, u8_directives, u16_directives, u32_directives): Add
25563         room for the first 7 directives.
25564         * lib/printf-parse.c: Include <string.h>.
25565         (PRINTF_PARSE): Change memory handling code so that it uses the first
25566         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
25567         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
25568         Reported by Pádraig Brady <P@draigbrady.com>.
25569
25570 2011-01-31  Eric Blake  <eblake@redhat.com>
25571
25572         dup2: work around Haiku bug
25573         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
25574         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
25575         * doc/posix-functions/dup2.texi (dup2): Document the bug.
25576         * tests/test-dup2.c (main): Enhance test.
25577
25578 2011-01-31  Simon Josefsson  <simon@josefsson.org>
25579
25580         doc: off_t is not available in eglibc 2.11.2 stdio.h.
25581         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
25582         declared by eglibc 2.11.2.
25583         * lib/stdio.in.h: Likewise.
25584
25585 2011-01-31  Eric Blake  <eblake@redhat.com>
25586
25587         ignore-value: add missing test dependency
25588         * tests/test-ignore-value.c: Revert previous change; stdio.h
25589         provides off_t.
25590         * modules/ignore-value-tests (Depends-on): Add missing dependency.
25591
25592 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
25593
25594         mktime: clarify long_int width checking
25595         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
25596         the top level, to make it clearer that the assumption about
25597         long_int width is being checked.  See
25598         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
25599
25600 2011-01-30  Simon Josefsson  <simon@josefsson.org>
25601
25602         ignore-value: Fix self-test.
25603         * tests/test-ignore-value.c: Include sys/types.h for off_t.
25604
25605 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
25606
25607         TYPE_MAXIMUM: avoid theoretically undefined behavior
25608         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
25609         negative number, which the C Standard says has undefined behavior.
25610         In practice this is not a problem, but might as well do it by the book.
25611         Reported by Rich Felker and Eric Blake; see
25612         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
25613         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
25614         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
25615         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
25616         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
25617         * m4/stdint.m4 (gl_STDINT_H): Likewise.
25618         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
25619
25620         mktime: #undef mktime before #defining it
25621         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
25622
25623         mktime: systematically normalize tm_isdst comparisons
25624         * lib/mktime.c (isdst_differ): New function.
25625         (__mktime_internal): Use it systematically for all isdst comparisons.
25626         This completes the fix for libc BZ #6723, and removes the need for
25627         normalizing tm_isdst.  See
25628         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
25629         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
25630
25631         mktime: fix some integer overflow issues and sidestep the rest
25632
25633         This was prompted by a bug report by Benjamin Lindner for MinGW
25634         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
25635         His bug is due to signed integer overflow (0 - INT_MIN), and I
25636         I scanned through mktime.c looking for other integer overflow
25637         problems, fixing all the bugs I found.
25638
25639         Although the C Standard says the resulting code is still not safe
25640         in the presence of integer overflow, in practice it should be good
25641         enough for all real-world two's-complement implementations, except
25642         for debugging environments that deliberately trap on integer
25643         overflow (e.g., gcc -ftrapv).
25644
25645         * lib/mktime.c (WRAPV): New macro.
25646         (SHR): Also check that long_int and time_t shift right in the
25647         usual way, before using the fast-but-unportable method.
25648         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
25649         used.  The code already assumed two's complement, so there's
25650         no need to test for alternatives.  All uses removed.
25651         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
25652         the C standard.  Problem reported by Rich Felker in
25653         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
25654         (twos_complement_arithmetic): Also check long_int and time_t.
25655         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
25656         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
25657         (__mktime_internal): Avoid integer overflow with unary subtraction
25658         in two instances where -1 - X is an adequate replacement for -X,
25659         since the calculations are approximate.
25660
25661 2011-01-29  Eric Blake  <eblake@redhat.com>
25662
25663         mktime: avoid infinite loop
25664         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
25665         type; behavior is still undefined but portable to all known targets.
25666         Reported by Rich Felker.
25667
25668 2011-01-29  Simon Josefsson  <simon@josefsson.org>
25669
25670         rename, unlink, same-inode: Relicense.
25671         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
25672         * modules/unlink (License): Likewise.
25673         * modules/same-inode (License): Likewise.
25674
25675 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
25676
25677         mktime: avoid problems on NetBSD 5 / i386
25678         * lib/mktime.c (long_int): New type.  This works around a problem
25679         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
25680         but time_t is 64 bits, and where I expect the existing code is
25681         wrong in some cases.
25682         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
25683         (ydhms_diff): Bring back the compile-time check for wide-enough
25684         year and yday.
25685
25686         mktime: fix misspelling in comment
25687         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
25688         This merges all recent glibc changes of importance.
25689
25690 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25691
25692         move-if-change: cope with concurrent mv of identical file.
25693         * build-aux/move-if-change (CMPPROG): Accept environment
25694         variable as an override for `cmp'.
25695         (usage): Document CMPPROG.
25696         Adjust comparison to drop stdout.  Cope with failure of mv if
25697         the target file exists and is identical to the source, for
25698         parallel builds.
25699         Report from H.J. Lu against binutils in PR binutils/12283.
25700
25701 2011-01-28  Bruce Korb  <bkorb@gnu.org>
25702
25703         * users.txt: Mention sharutils.
25704
25705 2011-01-28  Simon Josefsson  <simon@josefsson.org>
25706
25707         * users.txt: Mention OATH Toolkit.
25708
25709 2011-01-27  Bruno Haible  <bruno@clisp.org>
25710
25711         Prepare for supporting FreeBSD 10.
25712         * build-aux/config.libpath: Remove handling of freebsd1*.
25713
25714 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
25715
25716         Prepare for supporting FreeBSD 10.
25717         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
25718         match FreeBSD 10.0.
25719
25720 2011-01-27  Bruno Haible  <bruno@clisp.org>
25721
25722         vma-iter, get-rusage-as: Add OpenBSD support.
25723         * modules/vma-iter (configure.ac): Test for mquery.
25724         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
25725         * lib/vma-iter.c: Include <sys/mman.h>.
25726         (vma_iterate): Add an implementation based on mquery().
25727         * lib/resource-ext.h (get_rusage_as): Update comments.
25728         * lib/get-rusage-as.c: Likewise.
25729         * lib/get-rusage-data.c: Likewise.
25730
25731 2011-01-26  Karl Berry  <karl@gnu.org>
25732
25733         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
25734         variables to make it easier to override the makeinfo program used.
25735
25736 2011-01-26  Eric Blake  <eblake@redhat.com>
25737
25738         fcntl: work around Haiku F_DUPFD bugs
25739         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
25740         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
25741         cloexec bit on duplication.
25742         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
25743
25744 2011-01-26  Bruno Haible  <bruno@clisp.org>
25745
25746         Enable memory leak tests on AIX.
25747         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
25748         * tests/test-fprintf-posix3.c (main): Likewise.
25749
25750 2011-01-26  Bruno Haible  <bruno@clisp.org>
25751
25752         Tests for module 'get-rusage-data'.
25753         * modules/get-rusage-data-tests: New file.
25754         * tests/test-get-rusage-data.c: New file.
25755
25756         New module 'get-rusage-data'.
25757         * lib/resource-ext.h (get_rusage_data): New declaration.
25758         * lib/get-rusage-data.c: New file.
25759         * modules/get-rusage-data: New file.
25760
25761 2011-01-25  Bruno Haible  <bruno@clisp.org>
25762
25763         get-rusage-as: Allow for easier testing.
25764         * lib/resource-ext.h (get_rusage_as): Add comment.
25765         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
25766         (main): New function for interactive testing.
25767
25768 2011-01-25  Bruno Haible  <bruno@clisp.org>
25769
25770         vma-iter: Treat Haiku like BeOS.
25771         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
25772         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
25773
25774 2011-01-25  Eric Blake  <eblake@redhat.com>
25775
25776         c-stack: fix regression on cygwin when libsigsegv is present
25777         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
25778
25779 2011-01-24  Bruno Haible  <bruno@clisp.org>
25780
25781         vma-iter: Avoid empty intervals.
25782         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
25783         on an empty interval.
25784
25785 2011-01-24  Jim Meyering  <meyering@redhat.com>
25786
25787         u64: remove unnecessary #include
25788         * lib/u64.h: Don't include <stddef.h>.  It was not used.
25789
25790 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
25791
25792         Allow the user to avoid the HAVE_RAW_DECL_* macros.
25793         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
25794
25795 2011-01-23  Bruno Haible  <bruno@clisp.org>
25796
25797         New module 'vma-iter'.
25798         * lib/vma-iter.h: New file.
25799         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
25800         * modules/vma-iter: New file.
25801         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
25802         for get_rusage_as_via_iterator.
25803         (vma_iterate_callback): New function.
25804         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
25805         * modules/get-rusage-as (Depends-on): Add vma-iter.
25806
25807 2011-01-23  Bruno Haible  <bruno@clisp.org>
25808
25809         uninorm: Tweak includes.
25810         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
25811         Reported by Jim Meyering.
25812
25813 2011-01-23  Bruno Haible  <bruno@clisp.org>
25814
25815         get-rusage-as: Improve on NetBSD.
25816         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
25817         /proc, like on FreeBSD.
25818
25819 2011-01-23  Jim Meyering  <meyering@redhat.com>
25820
25821         xreadlink.h: remove unnecessary #include
25822         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
25823
25824         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
25825         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
25826
25827 2011-01-23  Bruno Haible  <bruno@clisp.org>
25828
25829         get-rusage-as: Fix bug.
25830         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
25831         original limit when aborting the first loop.
25832
25833 2011-01-23  Bruno Haible  <bruno@clisp.org>
25834
25835         wctype: Ensure valid C syntax.
25836         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
25837         unconditionally, instead of gl_NEXT_HEADERS conditionally.
25838
25839 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
25840
25841         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
25842         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
25843         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
25844         as they are needed only for configure's test case.
25845         This removes two unnecessary symbols from config.h.
25846
25847         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
25848         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
25849         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
25850         AC_CHECK_HEADERS_ONCE on a header that we also invoke
25851         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
25852         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
25853         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
25854         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
25855         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
25856         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
25857         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
25858         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25859         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25860         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25861         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
25862         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25863         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
25864         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
25865
25866 2011-01-21  Eric Blake  <eblake@redhat.com>
25867
25868         maintainer-makefile: work with older git for submodule check
25869         * top/maint.mk (public-submodule-commit): Rewrite to avoid
25870         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
25871         Reported by Matthias Bolte.
25872
25873         bootstrap: minor portability fixes
25874         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
25875         (usage): Omit leading capital and trailing . on help phrases, per
25876         GNU Coding Standards.
25877         (check_versions, top level): Prefix messages with script name.
25878
25879 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
25880
25881         bootstrap: support --no-git option
25882         * build-aux/bootstrap: Add --no-git option, to be used when
25883         --gnulib-srcdir points to the exact desired checkout.
25884
25885 2011-01-21  Eric Blake  <eblake@redhat.com>
25886
25887         strerror_r-posix: work with glibc 2.13
25888         * lib/strerror_r.c (strerror_r): Fix return type.
25889
25890 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25891             Bruno Haible  <bruno@clisp.org>
25892
25893         uN_strstr: New unit tests.
25894         * modules/unistr/u8-strstr-tests: New file.
25895         * modules/unistr/u16-strstr-tests: New file.
25896         * modules/unistr/u32-strstr-tests: New file.
25897         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
25898         * tests/unistr/test-u8-strstr.c: New file.
25899         * tests/unistr/test-u16-strstr.c: New file.
25900         * tests/unistr/test-u32-strstr.c: New file.
25901
25902 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25903             Bruno Haible  <bruno@clisp.org>
25904
25905         Make uN_strstr functions O(n) worst-case.
25906         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
25907         16-bit and 32-bit unit cases, use the unibyte algorithm from
25908         lib/mbsstr.c.
25909         * lib/unistr/u8-strstr.c: Include <string.h>.
25910         (UNIT_IS_UINT8_T): New macro.
25911         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
25912         (U_STRLEN, U_STRNLEN): New macros.
25913         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
25914         (U_STRLEN, U_STRNLEN): New macros.
25915         * modules/unistr/u8-strstr (Depends-on): Add strstr.
25916         (configure.ac): Update required libunistring version.
25917         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
25918         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
25919         malloca.
25920         (configure.ac): Update required libunistring version.
25921         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
25922         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
25923         malloca.
25924         (configure.ac): Update required libunistring version.
25925
25926 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25927             Bruno Haible  <bruno@clisp.org>
25928
25929         Prepare for faster uN_strstr functions.
25930         * lib/str-kmp.h: Support definable UNITs.
25931         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
25932         needle_len argument.
25933         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
25934         * lib/mbscasestr.c (mbscasestr): Likewise.
25935
25936 2011-01-21  Pádraig Brady <P@draigBrady.com>
25937
25938         malloca-tests: make faster by unsetting MALLOC_PERTURB_
25939         * tests/test-malloca.c (main): Unset the environment variable
25940         to greatly speed up the test.
25941         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
25942         * modules/malloca-tests: Depend on unsetenv.
25943
25944 2011-01-21  Pádraig Brady <P@draigBrady.com>
25945
25946         ignore-value: remove stdint dependency
25947         * lib/ignore-value.h: Remove <stdint.h>
25948         * modules/ignore-value: Remove stdint dependency.
25949
25950 2011-01-21  Jim Meyering  <meyering@redhat.com>
25951
25952         maint.mk: adjust variable name to be consistent with other gl_ vars
25953         * top/maint.mk (gl_public_submodule_commit): Rename the variable
25954         to be lower case.
25955
25956 2011-01-20  Jim Meyering  <meyering@redhat.com>
25957
25958         maint.mk: make "check" depend on public-submodule-commit by default
25959         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
25960
25961 2011-01-20  Bruno Haible  <bruno@clisp.org>
25962
25963         mbfile, mbiter: Complete change from 2008-12-21.
25964         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
25965         * m4/mbiter.m4 (gl_MBITER): Likewise.
25966
25967 2011-01-20  Jim Meyering  <meyering@redhat.com>
25968
25969         init.sh: insert space between each function name and "()"
25970         * tests/init.sh: Make it a little easier to see that a function's
25971         name is "warn_", and not "warn" when looking at the first part of
25972         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
25973
25974 2011-01-20  Jim Meyering  <meyering@redhat.com>
25975
25976         mountlist: clean up code formatting
25977         * lib/mountlist.c (read_file_system_list): Split a long line,
25978         correct bracing style, use NULL in place of "(struct statfs *)0",
25979         don't parenthesize return value, add spaces around "=" and after
25980         ";-in-for-stmt".
25981
25982 2011-01-14  Markus Duft <mduft@gentoo.org>
25983
25984         mountlist: add support for Interix
25985         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
25986         Apply statvfs to all entries of /dev/fs.
25987         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
25988         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
25989
25990 2011-01-20  Jim Meyering  <meyering@redhat.com>
25991
25992         maint.mk: improve the public-submodule-commit rule
25993         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
25994         to suppress printing of its commands... unless V=1.
25995         Add git submodule's --quiet option to suppress printing of e.g.,
25996         "Entering gnulib" output.
25997         "cd" into $(srcdir) before running git submodule.
25998
25999 2011-01-20  Bruno Haible  <bruno@clisp.org>
26000
26001         include_next: Fix bug introduced on 2011-01-18.
26002         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
26003         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
26004         ac_cv_header_... variable if the second argument is not 'check'.
26005         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
26006         gl_NEXT_HEADERS_INTERNAL.
26007
26008 2011-01-20  Bruno Haible  <bruno@clisp.org>
26009
26010         Allow the user to avoid the GNULIB_TEST_* macros.
26011         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
26012         Suggested by Paul Eggert.
26013
26014 2011-01-14  Jim Meyering  <meyering@redhat.com>
26015
26016         bootstrap: avoid failure when there is no .gitmodules file
26017         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
26018         has been assigned to, even when its value is the empty string.
26019         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
26020         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
26021         Reported by John W. Eaton <jwe@gnu.org>.
26022
26023 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
26024
26025         assume <ctype.h>, ..., <time.h> exist
26026         For years gnulib has been assuming the existence of the headers
26027         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
26028         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
26029         them, since they don't appear to be needed.
26030         * README (Portability guidelines): Document this.
26031         * lib/flock.c: Assume <fcntl.h> exists.
26032         * lib/regex_internal.h: Assume <locale.h> exists.
26033         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
26034         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
26035         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
26036         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
26037         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
26038         * m4/regex.m4 (gl_REGEX): Likewise.
26039         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
26040         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
26041         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
26042         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
26043         * tests/test-argp.c: Likewise.
26044         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
26045
26046         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
26047         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
26048         AA_APPLE_UNIVERSAL_BUILD.  See
26049         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
26050         * NEWS: Document this.
26051
26052 2011-01-19  Eric Blake  <eblake@redhat.com>
26053
26054         c-stack: assume stack overflow if SA_SIGINFO unsupported
26055         * lib/c-stack.c (SIGACTION_WORKS): Rename...
26056         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
26057         sigaction will work.
26058         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
26059         behavior match Linux.
26060         * tests/test-c-stack.c (main): Prefer NULL for pointers.
26061
26062         stdbool-tests: accommodate Haiku
26063         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
26064
26065         binary-io: fix O_TEXT on Haiku
26066         * modules/binary-io (Depends-on): Add fcntl-h.
26067         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
26068         than blindly undefining O_TEXT.
26069         Reported by Scott McCreary.
26070
26071 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
26072
26073         include_next: do not check for standard headers like stddef.h
26074
26075         I found this problem when modifying Emacs to use gnulib.
26076         I noticed that it added HAVE_STDDEF_H to config.h, even though
26077         gnulib always assumes <stddef.h> exists as per README and this
26078         symbol is unnecessary.
26079         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
26080         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
26081         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
26082         faster for headers like stddef.h that are known to exist.
26083         (gl_CHECK_NEXT_HEADERS): Use it.
26084         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
26085         rather than gl_CHECK_NEXT_HEADERS.
26086         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
26087         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
26088
26089 2011-01-18  Eric Blake  <eblake@redhat.com>
26090
26091         ansi-c++-opt: skip C++ dependency style if C++ is unused
26092         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
26093         tests when we know C++ compilation is not desired.
26094         Reported by Scott McCreary.
26095
26096 2011-01-18  Bruno Haible  <bruno@clisp.org>
26097
26098         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
26099         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
26100         (main): Perform test also when getrlimit and setrlimit don't exist or
26101         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
26102         limiting the address space size using setrlimit, compare the address
26103         space size before and after the the test.
26104         * tests/test-dprintf-posix2.c: Likewise.
26105         * tests/test-fprintf-posix3.sh: Update skip messages.
26106         * tests/test-dprintf-posix2.sh: Likewise.
26107         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
26108         * modules/dprintf-posix-tests (Depends-on): Likewise.
26109         Reported by Bruce Korb <bkorb@gnu.org> and
26110         Gary V. Vaughan <gary@gnu.org>.
26111
26112 2011-01-18  Bruno Haible  <bruno@clisp.org>
26113
26114         get-rusage-as: Improvement for Cygwin.
26115         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
26116         areas that are merely reserved.
26117
26118 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
26119
26120         strftime: remove dependencies on multibyte modules
26121
26122         strftime depended on mbrlen, mbsinit, and wchar, but these modules
26123         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
26124         only if __osf__ is defined, and I suspect OSF doesn't need these
26125         other modules.  If my guess is wrong, we'll need to come up with a
26126         variant of strftime that doesn't need the multibyte modules.
26127
26128         I discovered this problem when attempting modify Emacs to use the
26129         strftime module.  With the previous gnulib, this caused Emacs to
26130         need 31 new files, ranging from lib/config.charset to
26131         m4/wint_t.m4.  This was overkill and I expect would be offputting
26132         to the Emacs maintainers.  After this change, only 6 new files are
26133         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
26134         stdbool.m4, and tm_gmtoff.m4.
26135
26136         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
26137         Suggested by Bruno Haible in
26138         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
26139         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
26140         and do not check for wchar.h.
26141         * modules/strftime (Files): Remove m4/mbstate_t.m4.
26142         (Depends-on): Remove mbrlen, mbsinit, wchar.
26143
26144 2011-01-18  Bruno Haible  <bruno@clisp.org>
26145
26146         Tests for module 'get-rusage-as'.
26147         * modules/get-rusage-as-tests: New file.
26148         * tests/test-get-rusage-as.c: New file.
26149
26150         New module 'get-rusage-as'.
26151         * modules/get-rusage-as: New file.
26152         * lib/resource-ext.h: New file.
26153         * lib/get-rusage-as.c: New file.
26154
26155 2011-01-17  Eric Blake  <eblake@redhat.com>
26156
26157         sigaction: relax license from LGPLv3+ to LGPLv2+
26158         * modules/sigaction (License): Relax to LGPLv2+.
26159
26160 2011-01-14  Bruno Haible  <bruno@clisp.org>
26161
26162         filemode: Make function declarations usable in C++ mode.
26163         * lib/filemode.h: Enclose function declarations in extern "C" block.
26164         Reported by John W. Eaton <jwe@gnu.org>.
26165
26166 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
26167
26168         save-cwd: no longer include "xgetcwd.h"
26169         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
26170         This avoids a compilation failure in projects that use save-cwd
26171         without also using the xgetcwd module.
26172
26173 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
26174
26175         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
26176         This is so that a program like Emacs, which needs only dtoastr,
26177         does not have to bother with distributing and compiling ftoastr
26178         and ldtoastr.
26179         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
26180         * modules/dtoastr, modules/ldtoastr: New files.
26181         * modules/ftoastr: Now works just for 'float'.
26182         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
26183         (Makefile.am): Remove ftoastr.h (not needed and no effect),
26184         dtoastr.c, ldtoastr.c.
26185
26186 2011-01-11  Jim Meyering  <meyering@redhat.com>
26187
26188         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
26189         There is no need to work around the lack of the fchdir function,
26190         since gnulib can now provide a replacement when required.
26191         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
26192         * modules/save-cwd (Depends-on): Add fchdir.
26193
26194 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
26195
26196         openat, save-cwd: avoid xmalloc
26197
26198         This removes a direct (but undocumented) dependency of openat on
26199         xalloc, along with an indirect dependency via save-cwd.  It also
26200         removes a dependency of save-cwd on xgetcwd, and thereby
26201         indirectly on xalloc.  This change causes the openat substitute
26202         to fall back on save_cwd when memory is tight, and for save_cwd to
26203         fail instead of dying when memory is tight, but that's good enough.
26204         Problem and initial idea for fix reported by Bastien Roucaries in
26205         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
26206
26207         * lib/openat-proc.c: Include stdlib.h (for malloc), not
26208         xalloc.h (for xmalloc).
26209         (openat_proc_name): Use malloc, not xmalloc.
26210         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
26211         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
26212
26213         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
26214         This avoids heap allocation for file names whose lengths are in
26215         the range 512..1023, with the upper bound increasing to at most
26216         4031 depending on the platform's PATH_MAX.  (We do not want
26217         pathmax.h here as it might supply a non-constant PATH_MAX.)
26218         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
26219         Perhaps they should be moved to malloca.h?
26220         (OPENAT_BUFFER_SIZE): Use them.
26221
26222 2011-01-10  Bruno Haible  <bruno@clisp.org>
26223
26224         doc: Update users.txt.
26225         * users.txt: Add recutils.
26226
26227 2011-01-09  Karl Berry  <karl@gnu.org>
26228
26229         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
26230
26231         * doc/configmake.texi: New file.
26232         * doc/gnulib.texi: Include it.
26233         * modules/configmake: Move documentation from here.
26234
26235 2011-01-09  Bruno Haible  <bruno@clisp.org>
26236
26237         Update to Unicode 6.0.0.
26238         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
26239         (get_lbp): Update for Unicode 6.0.0.
26240         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
26241         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
26242         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
26243         U+11001, U+11038..U+11046. Remove U+06DE.
26244         (uc_width): Fix bounds of planes.
26245         * tests/uniwidth/test-uc_width2.sh: Same updates as in
26246         lib/uniwidth/width.c.
26247         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
26248         trailing whitespace removed.
26249         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
26250         without comments, but with the original copyright notice.
26251         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
26252         * lib/unicase/ignorable.h: Likewise.
26253         * lib/unicase/tocasefold.h: Likewise.
26254         * lib/unicase/tolower.h: Likewise.
26255         * lib/unicase/totitle.h: Likewise.
26256         * lib/unicase/toupper.h: Likewise.
26257         * lib/unictype/bidi_of.h: Likewise.
26258         * lib/unictype/blocks.h: Likewise.
26259         * lib/unictype/categ_C.h: Likewise.
26260         * lib/unictype/categ_Cn.h: Likewise.
26261         * lib/unictype/categ_L.h: Likewise.
26262         * lib/unictype/categ_Ll.h: Likewise.
26263         * lib/unictype/categ_Lm.h: Likewise.
26264         * lib/unictype/categ_Lo.h: Likewise.
26265         * lib/unictype/categ_Lu.h: Likewise.
26266         * lib/unictype/categ_M.h: Likewise.
26267         * lib/unictype/categ_Mc.h: Likewise.
26268         * lib/unictype/categ_Me.h: Likewise.
26269         * lib/unictype/categ_Mn.h: Likewise.
26270         * lib/unictype/categ_N.h: Likewise.
26271         * lib/unictype/categ_Nd.h: Likewise.
26272         * lib/unictype/categ_No.h: Likewise.
26273         * lib/unictype/categ_P.h: Likewise.
26274         * lib/unictype/categ_Po.h: Likewise.
26275         * lib/unictype/categ_S.h: Likewise.
26276         * lib/unictype/categ_Sc.h: Likewise.
26277         * lib/unictype/categ_Sk.h: Likewise.
26278         * lib/unictype/categ_Sm.h: Likewise.
26279         * lib/unictype/categ_So.h: Likewise.
26280         * lib/unictype/categ_of.h: Likewise.
26281         * lib/unictype/combining.h: Likewise.
26282         * lib/unictype/ctype_alnum.h: Likewise.
26283         * lib/unictype/ctype_alpha.h: Likewise.
26284         * lib/unictype/ctype_graph.h: Likewise.
26285         * lib/unictype/ctype_lower.h: Likewise.
26286         * lib/unictype/ctype_print.h: Likewise.
26287         * lib/unictype/ctype_punct.h: Likewise.
26288         * lib/unictype/ctype_upper.h: Likewise.
26289         * lib/unictype/decdigit.h: Likewise.
26290         * lib/unictype/digit.h: Likewise.
26291         * lib/unictype/numeric.h: Likewise.
26292         * lib/unictype/pr_alphabetic.h: Likewise.
26293         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
26294         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
26295         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
26296         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
26297         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
26298         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
26299         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
26300         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
26301         * lib/unictype/pr_case_ignorable.h: Likewise.
26302         * lib/unictype/pr_cased.h: Likewise.
26303         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
26304         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
26305         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
26306         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
26307         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
26308         * lib/unictype/pr_combining.h: Likewise.
26309         * lib/unictype/pr_composite.h: Likewise.
26310         * lib/unictype/pr_currency_symbol.h: Likewise.
26311         * lib/unictype/pr_decimal_digit.h: Likewise.
26312         * lib/unictype/pr_deprecated.h: Likewise.
26313         * lib/unictype/pr_format_control.h: Likewise.
26314         * lib/unictype/pr_grapheme_base.h: Likewise.
26315         * lib/unictype/pr_grapheme_extend.h: Likewise.
26316         * lib/unictype/pr_grapheme_link.h: Likewise.
26317         * lib/unictype/pr_id_continue.h: Likewise.
26318         * lib/unictype/pr_id_start.h: Likewise.
26319         * lib/unictype/pr_ideographic.h: Likewise.
26320         * lib/unictype/pr_lowercase.h: Likewise.
26321         * lib/unictype/pr_math.h: Likewise.
26322         * lib/unictype/pr_numeric.h: Likewise.
26323         * lib/unictype/pr_other_alphabetic.h: Likewise.
26324         * lib/unictype/pr_other_id_continue.h: Likewise.
26325         * lib/unictype/pr_other_math.h: Likewise.
26326         * lib/unictype/pr_punctuation.h: Likewise.
26327         * lib/unictype/pr_sentence_terminal.h: Likewise.
26328         * lib/unictype/pr_terminal_punctuation.h: Likewise.
26329         * lib/unictype/pr_unassigned_code_value.h: Likewise.
26330         * lib/unictype/pr_unified_ideograph.h: Likewise.
26331         * lib/unictype/pr_uppercase.h: Likewise.
26332         * lib/unictype/pr_xid_continue.h: Likewise.
26333         * lib/unictype/pr_xid_start.h: Likewise.
26334         * lib/unictype/scripts.h: Likewise.
26335         * lib/unictype/scripts_byname.gperf: Likewise.
26336         * lib/unictype/sy_java_ident.h: Likewise.
26337         * lib/unigbrk/gbrkprop.h: Likewise.
26338         * lib/unilbrk/lbrkprop1.h: Likewise.
26339         * lib/unilbrk/lbrkprop2.h: Likewise.
26340         * lib/uninorm/decomposition-table2.h: Likewise.
26341         * lib/uniwbrk/wbrkprop.h: Likewise.
26342         * tests/unicase/test-cased.c: Likewise.
26343         * tests/unicase/test-ignorable.c: Likewise.
26344         * tests/unicase/test-uc_tolower.c: Likewise.
26345         * tests/unicase/test-uc_totitle.c: Likewise.
26346         * tests/unicase/test-uc_toupper.c: Likewise.
26347         * tests/unictype/test-categ_C.c: Likewise.
26348         * tests/unictype/test-categ_Cn.c: Likewise.
26349         * tests/unictype/test-categ_L.c: Likewise.
26350         * tests/unictype/test-categ_Ll.c: Likewise.
26351         * tests/unictype/test-categ_Lm.c: Likewise.
26352         * tests/unictype/test-categ_Lo.c: Likewise.
26353         * tests/unictype/test-categ_Lu.c: Likewise.
26354         * tests/unictype/test-categ_M.c: Likewise.
26355         * tests/unictype/test-categ_Mc.c: Likewise.
26356         * tests/unictype/test-categ_Me.c: Likewise.
26357         * tests/unictype/test-categ_Mn.c: Likewise.
26358         * tests/unictype/test-categ_N.c: Likewise.
26359         * tests/unictype/test-categ_Nd.c: Likewise.
26360         * tests/unictype/test-categ_No.c: Likewise.
26361         * tests/unictype/test-categ_P.c: Likewise.
26362         * tests/unictype/test-categ_Po.c: Likewise.
26363         * tests/unictype/test-categ_S.c: Likewise.
26364         * tests/unictype/test-categ_Sc.c: Likewise.
26365         * tests/unictype/test-categ_Sk.c: Likewise.
26366         * tests/unictype/test-categ_Sm.c: Likewise.
26367         * tests/unictype/test-categ_So.c: Likewise.
26368         * tests/unictype/test-ctype_alnum.c: Likewise.
26369         * tests/unictype/test-ctype_alpha.c: Likewise.
26370         * tests/unictype/test-ctype_graph.c: Likewise.
26371         * tests/unictype/test-ctype_lower.c: Likewise.
26372         * tests/unictype/test-ctype_print.c: Likewise.
26373         * tests/unictype/test-ctype_punct.c: Likewise.
26374         * tests/unictype/test-ctype_upper.c: Likewise.
26375         * tests/unictype/test-decdigit.h: Likewise.
26376         * tests/unictype/test-digit.h: Likewise.
26377         * tests/unictype/test-numeric.h: Likewise.
26378         * tests/unictype/test-pr_alphabetic.c: Likewise.
26379         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
26380         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
26381         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
26382         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
26383         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
26384         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
26385         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
26386         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
26387         * tests/unictype/test-pr_case_ignorable.c: Likewise.
26388         * tests/unictype/test-pr_cased.c: Likewise.
26389         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
26390         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
26391         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
26392         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
26393         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
26394         * tests/unictype/test-pr_combining.c: Likewise.
26395         * tests/unictype/test-pr_composite.c: Likewise.
26396         * tests/unictype/test-pr_currency_symbol.c: Likewise.
26397         * tests/unictype/test-pr_decimal_digit.c: Likewise.
26398         * tests/unictype/test-pr_deprecated.c: Likewise.
26399         * tests/unictype/test-pr_format_control.c: Likewise.
26400         * tests/unictype/test-pr_grapheme_base.c: Likewise.
26401         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
26402         * tests/unictype/test-pr_grapheme_link.c: Likewise.
26403         * tests/unictype/test-pr_id_continue.c: Likewise.
26404         * tests/unictype/test-pr_id_start.c: Likewise.
26405         * tests/unictype/test-pr_ideographic.c: Likewise.
26406         * tests/unictype/test-pr_lowercase.c: Likewise.
26407         * tests/unictype/test-pr_math.c: Likewise.
26408         * tests/unictype/test-pr_numeric.c: Likewise.
26409         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
26410         * tests/unictype/test-pr_other_id_continue.c: Likewise.
26411         * tests/unictype/test-pr_other_math.c: Likewise.
26412         * tests/unictype/test-pr_punctuation.c: Likewise.
26413         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
26414         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
26415         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
26416         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
26417         * tests/unictype/test-pr_uppercase.c: Likewise.
26418         * tests/unictype/test-pr_xid_continue.c: Likewise.
26419         * tests/unictype/test-pr_xid_start.c: Likewise.
26420         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
26421         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
26422         changes.
26423         * lib/unictype/categ_Cc.h: Likewise.
26424         * lib/unictype/categ_Cf.h: Likewise.
26425         * lib/unictype/categ_Co.h: Likewise.
26426         * lib/unictype/categ_Cs.h: Likewise.
26427         * lib/unictype/categ_Lt.h: Likewise.
26428         * lib/unictype/categ_Nl.h: Likewise.
26429         * lib/unictype/categ_Pc.h: Likewise.
26430         * lib/unictype/categ_Pd.h: Likewise.
26431         * lib/unictype/categ_Pe.h: Likewise.
26432         * lib/unictype/categ_Pf.h: Likewise.
26433         * lib/unictype/categ_Pi.h: Likewise.
26434         * lib/unictype/categ_Ps.h: Likewise.
26435         * lib/unictype/categ_Z.h: Likewise.
26436         * lib/unictype/categ_Zl.h: Likewise.
26437         * lib/unictype/categ_Zp.h: Likewise.
26438         * lib/unictype/categ_Zs.h: Likewise.
26439         * lib/unictype/ctype_blank.h: Likewise.
26440         * lib/unictype/ctype_cntrl.h: Likewise.
26441         * lib/unictype/ctype_digit.h: Likewise.
26442         * lib/unictype/ctype_space.h: Likewise.
26443         * lib/unictype/ctype_xdigit.h: Likewise.
26444         * lib/unictype/mirror.h: Likewise.
26445         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
26446         * lib/unictype/pr_bidi_block_separator.h: Likewise.
26447         * lib/unictype/pr_bidi_common_separator.h: Likewise.
26448         * lib/unictype/pr_bidi_control.h: Likewise.
26449         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
26450         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
26451         * lib/unictype/pr_bidi_european_digit.h: Likewise.
26452         * lib/unictype/pr_bidi_pdf.h: Likewise.
26453         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
26454         * lib/unictype/pr_bidi_whitespace.h: Likewise.
26455         * lib/unictype/pr_dash.h: Likewise.
26456         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
26457         * lib/unictype/pr_diacritic.h: Likewise.
26458         * lib/unictype/pr_extender.h: Likewise.
26459         * lib/unictype/pr_hex_digit.h: Likewise.
26460         * lib/unictype/pr_hyphen.h: Likewise.
26461         * lib/unictype/pr_ids_binary_operator.h: Likewise.
26462         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
26463         * lib/unictype/pr_ignorable_control.h: Likewise.
26464         * lib/unictype/pr_iso_control.h: Likewise.
26465         * lib/unictype/pr_join_control.h: Likewise.
26466         * lib/unictype/pr_left_of_pair.h: Likewise.
26467         * lib/unictype/pr_line_separator.h: Likewise.
26468         * lib/unictype/pr_logical_order_exception.h: Likewise.
26469         * lib/unictype/pr_non_break.h: Likewise.
26470         * lib/unictype/pr_not_a_character.h: Likewise.
26471         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
26472         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
26473         * lib/unictype/pr_other_id_start.h: Likewise.
26474         * lib/unictype/pr_other_lowercase.h: Likewise.
26475         * lib/unictype/pr_other_uppercase.h: Likewise.
26476         * lib/unictype/pr_paired_punctuation.h: Likewise.
26477         * lib/unictype/pr_paragraph_separator.h: Likewise.
26478         * lib/unictype/pr_pattern_syntax.h: Likewise.
26479         * lib/unictype/pr_pattern_white_space.h: Likewise.
26480         * lib/unictype/pr_private_use.h: Likewise.
26481         * lib/unictype/pr_quotation_mark.h: Likewise.
26482         * lib/unictype/pr_radical.h: Likewise.
26483         * lib/unictype/pr_soft_dotted.h: Likewise.
26484         * lib/unictype/pr_space.h: Likewise.
26485         * lib/unictype/pr_titlecase.h: Likewise.
26486         * lib/unictype/pr_variation_selector.h: Likewise.
26487         * lib/unictype/pr_white_space.h: Likewise.
26488         * lib/unictype/pr_zero_width.h: Likewise.
26489         * lib/unictype/sy_c_ident.h: Likewise.
26490         * lib/unictype/sy_c_whitespace.h: Likewise.
26491         * lib/unictype/sy_java_whitespace.h: Likewise.
26492         * lib/uninorm/composition-table.gperf: Likewise.
26493         * lib/uninorm/decomposition-table1.h: Likewise.
26494         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
26495         LB8.
26496         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
26497         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
26498         * modules/unictype/*: Bump version number of expected libunistring
26499         version.
26500
26501 2011-01-09  Bruno Haible  <bruno@clisp.org>
26502
26503         Update to Unicode 5.2.0.
26504         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
26505         trailing whitespace removed.
26506
26507 2011-01-09  Bruno Haible  <bruno@clisp.org>
26508
26509         New Unicode character properties, from Unicode 5.2.0.
26510         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
26511         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
26512         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
26513         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
26514         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
26515         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
26516         uc_is_property_cased, uc_is_property_case_ignorable,
26517         uc_is_property_changes_when_lowercased,
26518         uc_is_property_changes_when_uppercased,
26519         uc_is_property_changes_when_titlecased,
26520         uc_is_property_changes_when_casefolded,
26521         uc_is_property_changes_when_casemapped): New declarations.
26522         * lib/unictype/pr_byname.gperf: Add the new properties.
26523         * modules/unictype/property-byname (Depends-on): Depend on the new
26524         properties modules.
26525         * modules/unictype/property-all (Depends-on): Likewise.
26526         * MODULES.html.sh (Unicode string functions): Add
26527         unictype/property-case-ignorable, unictype/property-cased,
26528         unictype/property-changes-when-casefolded,
26529         unictype/property-changes-when-casemapped,
26530         unictype/property-changes-when-lowercased,
26531         unictype/property-changes-when-titlecased,
26532         unictype/property-changes-when-uppercased.
26533
26534         New module 'unictype/property-changes-when-casemapped'.
26535         * modules/unictype/property-changes-when-casemapped: New file.
26536         * lib/unictype/pr_changes_when_casemapped.c: New file.
26537         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
26538         generated by gen-uni-tables.
26539         * modules/unictype/property-changes-when-casemapped-tests: New file.
26540         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
26541         automatically generated by gen-uni-tables.
26542
26543         New module 'unictype/property-changes-when-casefolded'.
26544         * modules/unictype/property-changes-when-casefolded: New file.
26545         * lib/unictype/pr_changes_when_casefolded.c: New file.
26546         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
26547         generated by gen-uni-tables.
26548         * modules/unictype/property-changes-when-casefolded-tests: New file.
26549         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
26550         automatically generated by gen-uni-tables.
26551
26552         New module 'unictype/property-changes-when-titlecased'.
26553         * modules/unictype/property-changes-when-titlecased: New file.
26554         * lib/unictype/pr_changes_when_titlecased.c: New file.
26555         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
26556         generated by gen-uni-tables.
26557         * modules/unictype/property-changes-when-titlecased-tests: New file.
26558         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
26559         automatically generated by gen-uni-tables.
26560
26561         New module 'unictype/property-changes-when-uppercased'.
26562         * modules/unictype/property-changes-when-uppercased: New file.
26563         * lib/unictype/pr_changes_when_uppercased.c: New file.
26564         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
26565         generated by gen-uni-tables.
26566         * modules/unictype/property-changes-when-uppercased-tests: New file.
26567         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
26568         automatically generated by gen-uni-tables.
26569
26570         New module 'unictype/property-changes-when-lowercased'.
26571         * modules/unictype/property-changes-when-lowercased: New file.
26572         * lib/unictype/pr_changes_when_lowercased.c: New file.
26573         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
26574         generated by gen-uni-tables.
26575         * modules/unictype/property-changes-when-lowercased-tests: New file.
26576         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
26577         automatically generated by gen-uni-tables.
26578
26579         New module 'unictype/property-case-ignorable'.
26580         * modules/unictype/property-case-ignorable: New file.
26581         * lib/unictype/pr_case_ignorable.c: New file.
26582         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
26583         by gen-uni-tables.
26584         * modules/unictype/property-case-ignorable-tests: New file.
26585         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
26586         generated by gen-uni-tables.
26587
26588         New module 'unictype/property-cased'.
26589         * modules/unictype/property-cased: New file.
26590         * lib/unictype/pr_cased.c: New file.
26591         * lib/unictype/pr_cased.h: New file, automatically generated by
26592         gen-uni-tables.
26593         * modules/unictype/property-cased-tests: New file.
26594         * tests/unictype/test-pr_cased.c: New file, automatically generated by
26595         gen-uni-tables.
26596
26597 2011-01-09  Bruno Haible  <bruno@clisp.org>
26598
26599         Update to Unicode 5.2.0.
26600         * lib/gen-uni-tables.c (output_predicate, output_category,
26601         output_combclass, output_bidi_category, output_decimal_digit_test,
26602         output_decimal_digit, output_digit_test, output_digit,
26603         output_numeric_test, output_numeric, output_mirror, output_scripts,
26604         output_scripts_byname, output_blocks, output_ident_category): Fix
26605         comment header.
26606         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
26607         get_wbp.
26608         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
26609         items.
26610         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
26611         Changes_When_Lowercased, Changes_When_Uppercased,
26612         Changes_When_Titlecased, Changes_When_Casefolded,
26613         Changes_When_Casemapped.
26614         (is_property_alphabetic, is_property_default_ignorable_code_point):
26615         Update for Unicode 5.2.0.
26616         (is_property_cased, is_property_case_ignorable,
26617         is_property_changes_when_lowercased,
26618         is_property_changes_when_uppercased,
26619         is_property_changes_when_titlecased,
26620         is_property_changes_when_casefolded,
26621         is_property_changes_when_casemapped): New functions.
26622         (output_properties): Output also the properties cased, case_ignorable,
26623         changes_when_lowercased, changes_when_uppercased,
26624         changes_when_titlecased, changes_when_casefolded,
26625         changes_when_casemapped.
26626         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
26627         Unicode TR#11 revision 17 -> 19.
26628         (LBP_CP): New enumeration value.
26629         (LBP_*): Adjust values accordingly.
26630         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
26631         TR#14 revision 22 -> 24.
26632         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
26633         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
26634         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
26635         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
26636         is_WBP_MIDLETTER.
26637         (output_composition_tables): Allow for 24 bits instead of 16 bits in
26638         the code1 and code2 of each composition rule.
26639         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
26640         * lib/unicase/ignorable.h: Likewise.
26641         * lib/unicase/tocasefold.h: Likewise.
26642         * lib/unicase/tolower.h: Likewise.
26643         * lib/unicase/totitle.h: Likewise.
26644         * lib/unicase/toupper.h: Likewise.
26645         * lib/unictype/bidi_of.h: Likewise.
26646         * lib/unictype/blocks.h: Likewise.
26647         * lib/unictype/categ_C.h: Likewise.
26648         * lib/unictype/categ_Cf.h: Likewise.
26649         * lib/unictype/categ_Cn.h: Likewise.
26650         * lib/unictype/categ_L.h: Likewise.
26651         * lib/unictype/categ_Ll.h: Likewise.
26652         * lib/unictype/categ_Lm.h: Likewise.
26653         * lib/unictype/categ_Lo.h: Likewise.
26654         * lib/unictype/categ_Lu.h: Likewise.
26655         * lib/unictype/categ_M.h: Likewise.
26656         * lib/unictype/categ_Mc.h: Likewise.
26657         * lib/unictype/categ_Mn.h: Likewise.
26658         * lib/unictype/categ_N.h: Likewise.
26659         * lib/unictype/categ_Nd.h: Likewise.
26660         * lib/unictype/categ_Nl.h: Likewise.
26661         * lib/unictype/categ_No.h: Likewise.
26662         * lib/unictype/categ_P.h: Likewise.
26663         * lib/unictype/categ_Pd.h: Likewise.
26664         * lib/unictype/categ_Po.h: Likewise.
26665         * lib/unictype/categ_S.h: Likewise.
26666         * lib/unictype/categ_Sc.h: Likewise.
26667         * lib/unictype/categ_So.h: Likewise.
26668         * lib/unictype/categ_of.h: Likewise.
26669         * lib/unictype/combining.h: Likewise.
26670         * lib/unictype/ctype_alnum.h: Likewise.
26671         * lib/unictype/ctype_alpha.h: Likewise.
26672         * lib/unictype/ctype_graph.h: Likewise.
26673         * lib/unictype/ctype_lower.h: Likewise.
26674         * lib/unictype/ctype_print.h: Likewise.
26675         * lib/unictype/ctype_punct.h: Likewise.
26676         * lib/unictype/ctype_upper.h: Likewise.
26677         * lib/unictype/decdigit.h: Likewise.
26678         * lib/unictype/digit.h: Likewise.
26679         * lib/unictype/numeric.h: Likewise.
26680         * lib/unictype/pr_alphabetic.h: Likewise.
26681         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
26682         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
26683         * lib/unictype/pr_bidi_european_digit.h: Likewise.
26684         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
26685         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
26686         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
26687         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
26688         * lib/unictype/pr_combining.h: Likewise.
26689         * lib/unictype/pr_composite.h: Likewise.
26690         * lib/unictype/pr_currency_symbol.h: Likewise.
26691         * lib/unictype/pr_dash.h: Likewise.
26692         * lib/unictype/pr_decimal_digit.h: Likewise.
26693         * lib/unictype/pr_deprecated.h: Likewise.
26694         * lib/unictype/pr_diacritic.h: Likewise.
26695         * lib/unictype/pr_extender.h: Likewise.
26696         * lib/unictype/pr_grapheme_base.h: Likewise.
26697         * lib/unictype/pr_grapheme_extend.h: Likewise.
26698         * lib/unictype/pr_grapheme_link.h: Likewise.
26699         * lib/unictype/pr_id_continue.h: Likewise.
26700         * lib/unictype/pr_id_start.h: Likewise.
26701         * lib/unictype/pr_ideographic.h: Likewise.
26702         * lib/unictype/pr_ignorable_control.h: Likewise.
26703         * lib/unictype/pr_logical_order_exception.h: Likewise.
26704         * lib/unictype/pr_lowercase.h: Likewise.
26705         * lib/unictype/pr_numeric.h: Likewise.
26706         * lib/unictype/pr_other_alphabetic.h: Likewise.
26707         * lib/unictype/pr_punctuation.h: Likewise.
26708         * lib/unictype/pr_sentence_terminal.h: Likewise.
26709         * lib/unictype/pr_terminal_punctuation.h: Likewise.
26710         * lib/unictype/pr_unassigned_code_value.h: Likewise.
26711         * lib/unictype/pr_unified_ideograph.h: Likewise.
26712         * lib/unictype/pr_uppercase.h: Likewise.
26713         * lib/unictype/pr_xid_continue.h: Likewise.
26714         * lib/unictype/pr_xid_start.h: Likewise.
26715         * lib/unictype/pr_zero_width.h: Likewise.
26716         * lib/unictype/scripts.h: Likewise.
26717         * lib/unictype/scripts_byname.gperf: Likewise.
26718         * lib/unictype/sy_java_ident.h: Likewise.
26719         * lib/unigbrk/gbrkprop.h: Likewise.
26720         * lib/unilbrk/lbrkprop1.h: Likewise.
26721         * lib/unilbrk/lbrkprop2.h: Likewise.
26722         * lib/unilbrk/lbrktables.h: Likewise.
26723         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
26724         LBP_CP. Implement rule LB30.
26725         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
26726         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
26727         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
26728         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
26729         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
26730         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
26731         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
26732         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
26733         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
26734         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
26735         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
26736         bits instead of 16 bits in the code1 and code2 of each composition
26737         rule.
26738         (uc_composition): Update for Unicode 5.2.0.
26739         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
26740         * lib/uninorm/decomposition-table2.h: Likewise.
26741         * lib/uniwbrk/wbrkprop.h: Likewise.
26742         * tests/unicase/test-cased.c: Likewise.
26743         * tests/unicase/test-ignorable.c: Likewise.
26744         * tests/unicase/test-uc_tolower.c: Likewise.
26745         * tests/unicase/test-uc_totitle.c: Likewise.
26746         * tests/unicase/test-uc_toupper.c: Likewise.
26747         * tests/unictype/test-categ_C.c: Likewise.
26748         * tests/unictype/test-categ_Cf.c: Likewise.
26749         * tests/unictype/test-categ_Cn.c: Likewise.
26750         * tests/unictype/test-categ_L.c: Likewise.
26751         * tests/unictype/test-categ_Ll.c: Likewise.
26752         * tests/unictype/test-categ_Lm.c: Likewise.
26753         * tests/unictype/test-categ_Lo.c: Likewise.
26754         * tests/unictype/test-categ_Lu.c: Likewise.
26755         * tests/unictype/test-categ_M.c: Likewise.
26756         * tests/unictype/test-categ_Mc.c: Likewise.
26757         * tests/unictype/test-categ_Mn.c: Likewise.
26758         * tests/unictype/test-categ_N.c: Likewise.
26759         * tests/unictype/test-categ_Nd.c: Likewise.
26760         * tests/unictype/test-categ_Nl.c: Likewise.
26761         * tests/unictype/test-categ_No.c: Likewise.
26762         * tests/unictype/test-categ_P.c: Likewise.
26763         * tests/unictype/test-categ_Pd.c: Likewise.
26764         * tests/unictype/test-categ_Po.c: Likewise.
26765         * tests/unictype/test-categ_S.c: Likewise.
26766         * tests/unictype/test-categ_Sc.c: Likewise.
26767         * tests/unictype/test-categ_So.c: Likewise.
26768         * tests/unictype/test-ctype_alnum.c: Likewise.
26769         * tests/unictype/test-ctype_alpha.c: Likewise.
26770         * tests/unictype/test-ctype_graph.c: Likewise.
26771         * tests/unictype/test-ctype_lower.c: Likewise.
26772         * tests/unictype/test-ctype_print.c: Likewise.
26773         * tests/unictype/test-ctype_punct.c: Likewise.
26774         * tests/unictype/test-ctype_upper.c: Likewise.
26775         * tests/unictype/test-decdigit.h: Likewise.
26776         * tests/unictype/test-digit.h: Likewise.
26777         * tests/unictype/test-numeric.h: Likewise.
26778         * tests/unictype/test-pr_alphabetic.c: Likewise.
26779         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
26780         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
26781         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
26782         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
26783         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
26784         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
26785         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
26786         * tests/unictype/test-pr_combining.c: Likewise.
26787         * tests/unictype/test-pr_composite.c: Likewise.
26788         * tests/unictype/test-pr_currency_symbol.c: Likewise.
26789         * tests/unictype/test-pr_dash.c: Likewise.
26790         * tests/unictype/test-pr_decimal_digit.c: Likewise.
26791         * tests/unictype/test-pr_deprecated.c: Likewise.
26792         * tests/unictype/test-pr_diacritic.c: Likewise.
26793         * tests/unictype/test-pr_extender.c: Likewise.
26794         * tests/unictype/test-pr_grapheme_base.c: Likewise.
26795         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
26796         * tests/unictype/test-pr_grapheme_link.c: Likewise.
26797         * tests/unictype/test-pr_id_continue.c: Likewise.
26798         * tests/unictype/test-pr_id_start.c: Likewise.
26799         * tests/unictype/test-pr_ideographic.c: Likewise.
26800         * tests/unictype/test-pr_ignorable_control.c: Likewise.
26801         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
26802         * tests/unictype/test-pr_lowercase.c: Likewise.
26803         * tests/unictype/test-pr_numeric.c: Likewise.
26804         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
26805         * tests/unictype/test-pr_punctuation.c: Likewise.
26806         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
26807         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
26808         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
26809         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
26810         * tests/unictype/test-pr_uppercase.c: Likewise.
26811         * tests/unictype/test-pr_xid_continue.c: Likewise.
26812         * tests/unictype/test-pr_xid_start.c: Likewise.
26813         * tests/unictype/test-pr_zero_width.c: Likewise.
26814         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
26815         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
26816         changed behaviour: line breaking is now disallowed between a letter
26817         or '=' and '('.
26818         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
26819         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
26820         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
26821         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
26822         * tests/uniwidth/test-uc_width2.sh: Same updates as in
26823         lib/uniwidth/width.c.
26824         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
26825         without comments, but with the original copyright notice.
26826         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
26827         changes.
26828         * lib/unictype/categ_Cc.h: Likewise.
26829         * lib/unictype/categ_Co.h: Likewise.
26830         * lib/unictype/categ_Cs.h: Likewise.
26831         * lib/unictype/categ_Lt.h: Likewise.
26832         * lib/unictype/categ_Me.h: Likewise.
26833         * lib/unictype/categ_Pc.h: Likewise.
26834         * lib/unictype/categ_Pe.h: Likewise.
26835         * lib/unictype/categ_Pf.h: Likewise.
26836         * lib/unictype/categ_Pi.h: Likewise.
26837         * lib/unictype/categ_Ps.h: Likewise.
26838         * lib/unictype/categ_Sk.h: Likewise.
26839         * lib/unictype/categ_Sm.h: Likewise.
26840         * lib/unictype/categ_Z.h: Likewise.
26841         * lib/unictype/categ_Zl.h: Likewise.
26842         * lib/unictype/categ_Zp.h: Likewise.
26843         * lib/unictype/categ_Zs.h: Likewise.
26844         * lib/unictype/ctype_blank.h: Likewise.
26845         * lib/unictype/ctype_cntrl.h: Likewise.
26846         * lib/unictype/ctype_digit.h: Likewise.
26847         * lib/unictype/ctype_space.h: Likewise.
26848         * lib/unictype/ctype_xdigit.h: Likewise.
26849         * lib/unictype/mirror.h: Likewise.
26850         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
26851         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
26852         * lib/unictype/pr_bidi_block_separator.h: Likewise.
26853         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
26854         * lib/unictype/pr_bidi_common_separator.h: Likewise.
26855         * lib/unictype/pr_bidi_control.h: Likewise.
26856         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
26857         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
26858         * lib/unictype/pr_bidi_pdf.h: Likewise.
26859         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
26860         * lib/unictype/pr_bidi_whitespace.h: Likewise.
26861         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
26862         * lib/unictype/pr_format_control.h: Likewise.
26863         * lib/unictype/pr_hex_digit.h: Likewise.
26864         * lib/unictype/pr_hyphen.h: Likewise.
26865         * lib/unictype/pr_ids_binary_operator.h: Likewise.
26866         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
26867         * lib/unictype/pr_iso_control.h: Likewise.
26868         * lib/unictype/pr_join_control.h: Likewise.
26869         * lib/unictype/pr_left_of_pair.h: Likewise.
26870         * lib/unictype/pr_line_separator.h: Likewise.
26871         * lib/unictype/pr_math.h: Likewise.
26872         * lib/unictype/pr_non_break.h: Likewise.
26873         * lib/unictype/pr_not_a_character.h: Likewise.
26874         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
26875         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
26876         * lib/unictype/pr_other_id_continue.h: Likewise.
26877         * lib/unictype/pr_other_id_start.h: Likewise.
26878         * lib/unictype/pr_other_lowercase.h: Likewise.
26879         * lib/unictype/pr_other_math.h: Likewise.
26880         * lib/unictype/pr_other_uppercase.h: Likewise.
26881         * lib/unictype/pr_paired_punctuation.h: Likewise.
26882         * lib/unictype/pr_paragraph_separator.h: Likewise.
26883         * lib/unictype/pr_pattern_syntax.h: Likewise.
26884         * lib/unictype/pr_pattern_white_space.h: Likewise.
26885         * lib/unictype/pr_private_use.h: Likewise.
26886         * lib/unictype/pr_quotation_mark.h: Likewise.
26887         * lib/unictype/pr_radical.h: Likewise.
26888         * lib/unictype/pr_soft_dotted.h: Likewise.
26889         * lib/unictype/pr_space.h: Likewise.
26890         * lib/unictype/pr_titlecase.h: Likewise.
26891         * lib/unictype/pr_variation_selector.h: Likewise.
26892         * lib/unictype/pr_white_space.h: Likewise.
26893         * lib/unictype/sy_c_ident.h: Likewise.
26894         * lib/unictype/sy_c_whitespace.h: Likewise.
26895         * lib/unictype/sy_java_whitespace.h: Likewise.
26896         * modules/uni*/*: Bump version number of expected libunistring version.
26897         Reported by Simon Josefsson.
26898
26899 2011-01-09  Karl Heuer  <kwzh@gnu.org>
26900
26901         useless-if-before-free: fix typo in --help and make the internal,
26902         automatic version date update process work once again.
26903         --help output contained a NUL character instead of the
26904         backslash-zero that was intended.  Also, the "must lie within
26905         the first 8 lines" line is on line 9, and hence not getting
26906         automatically updated.
26907         * build-aux/useless-if-before-free: Fix the former by adding a
26908         backslash, and the latter by condensing the three lines of what-it-does
26909         to a single line, leaving one line of slack for the future.
26910
26911 2011-01-09  Bruno Haible  <bruno@clisp.org>
26912
26913         uniwidth/width: Fix width of U+1D173..U+1D17A.
26914         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
26915         symbolic_width, output_width_property_test): New functions.
26916         (main): Invoke output_nonspacing_property, output_width_property_test.
26917         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
26918         U+1D173..U+1D17A.
26919         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
26920         1.
26921         * modules/uniwidth/*: Bump version number of expected libunistring
26922         version.
26923         * modules/unilbrk/*: Likewise.
26924
26925 2011-01-08  Bruno Haible  <bruno@clisp.org>
26926
26927         uninorm tests: Preserve copyright of Unicode data file.
26928         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
26929         Mention modifications.
26930
26931 2011-01-08  Bruno Haible  <bruno@clisp.org>
26932
26933         gen-uni-tables: Prepare for Unicode 5.2.0.
26934         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
26935         (debug_output_lbp, output_lbp): Update.
26936
26937 2011-01-08  Bruno Haible  <bruno@clisp.org>
26938
26939         unilbrk: Clarify gen-uni-tables.c code.
26940         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
26941         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
26942         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
26943
26944 2011-01-07  Bruno Haible  <bruno@clisp.org>
26945
26946         strtod: Restore errno when successfully parsing Infinity or NaN.
26947         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
26948         restore the original errno.
26949
26950 2011-01-07  Bruno Haible  <bruno@clisp.org>
26951
26952         remove test: Avoid failure on HP-UX 11.
26953         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
26954
26955 2011-01-07  Bruno Haible  <bruno@clisp.org>
26956
26957         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
26958         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
26959         error code.
26960
26961 2011-01-07  Pádraig Brady <P@draigBrady.com>
26962
26963         ignore-value: fixup comments, and add Eric Blake
26964         as an author since he rewrote the macros.
26965         * lib/ignore-value.h (ignore_value):  State that
26966         we now support aggregates.  Also specify exactly
26967         when the GCC warn_unused_result feature was added.
26968
26969 2011-01-06  Eric Blake  <eblake@redhat.com>
26970
26971         ignore-value: support aggregate types
26972         * lib/ignore-value.h (ignore_value): Provide separate gcc
26973         definition.
26974         * modules/ignore-value-tests: New test module.
26975         * tests/test-ignore-value.c: New test.
26976
26977         maint.mk: improve sc_prohibit_strcmp regex
26978         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
26979         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
26980         definition of STRNEQ.
26981
26982         signal: work around Haiku issue with SIGBUS
26983         * lib/siglist.h: Add comment.
26984         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
26985         strsignal's favoring of SIGSEGV.
26986         * tests/test-signal.c (main): Avoid test failure.
26987         * doc/posix-headers/signal.texi (signal.h): Document the issue.
26988         Reported by Scott McCreary.
26989
26990         maint.mk: add pre-release check to ensure submodule commits are public
26991         * top/maint.mk (public-submodule-commit): New rule.
26992         (submodule-checks): New variable.
26993         (alpha beta stable): Depend on the variable.
26994
26995 2011-01-05  Pádraig Brady <P@draigBrady.com>
26996         and Jim Meyering  <meyering@redhat.com>
26997
26998         ignore-value: make ignore_value more generic; deprecate ignore_ptr
26999         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
27000         (ATTRIBUTE_DEPRECATED): Define.
27001         (_ignore_case): New function.
27002         (ignore_value): New macro, to replace the old function.
27003         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
27004         * modules/ignore-value (Depends-on): Add stdint.
27005
27006 2011-01-04  Eric Blake  <eblake@redhat.com>
27007
27008         doc: regenerate INSTALL
27009         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
27010         @firstparagraphindent support, now that autoconf dropped it.
27011         (INSTALL_PRELUDE): Reinstate old macro.
27012         * doc/install.texi: Resync from autoconf.
27013         * doc/INSTALL: Reflect recent autoconf update.
27014         * doc/INSTALL.ISO: Likewise.
27015         * doc/INSTALL.UTF-8: Likewise.
27016         Reported by Karl Berry.
27017
27018 2011-01-04  Bruce Korb  <address@hidden>
27019
27020         git-version-gen: avoid a sub-shell
27021         * build-aux/git-version-gen: Redirect stderr in `...` via
27022         "exec 2>...", rather than via an added sub-shell.
27023
27024 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
27025
27026         git-version-gen: use (...) rather than sh -c '...'
27027         * build-aux/git-version-gen: Rather than hard-coding a shell's name
27028         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
27029
27030 2011-01-03  Jim Meyering  <meyering@redhat.com>
27031
27032         git-version-gen: convert leading TABs to spaces
27033         * build-aux/git-version-gen: Expand leading TABs.
27034
27035         git-version-gen: handle failed "git rev-list"
27036         * build-aux/git-version-gen: Rather than leaking a "fatal" error
27037         from git and proceeding as if it had succeeded but printed no SHA1
27038         checksums, suppress the diagnostic and handle the failure.
27039         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
27040
27041         git-version-gen: include command name in one more diagnostic
27042         * build-aux/git-version-gen: When the required .tarball-version file
27043         was missing or unreadable, you might see the diagnostic from "cat",
27044         but no trace of the name of the invoking script.  Now, you still see
27045         the diagnostic from cat, but also get one from "git-version-gen: ".
27046         Inspired by a patch from Bruce Korb.
27047
27048         update-copyright: adjust test to match changed code
27049         * tests/test-update-copyright.sh: Change test's expected output
27050         to match new actual output.
27051
27052 2011-01-02  Bruno Haible  <bruno@clisp.org>
27053
27054         getlogin_r: Avoid test failure on HP-UX 11.
27055         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
27056         ERANGE when the second argument is zero.
27057         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
27058         portability problem.
27059
27060 2011-01-02  Bruce Korb  <bkorb@gnu.org>
27061
27062         * build-aux/update-copyright: doc Simon's changes
27063
27064 2011-01-02  Simon Josefsson  <simon@josefsson.org>
27065
27066         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
27067         environment variable.
27068
27069 2011-01-02  Bruno Haible  <bruno@clisp.org>
27070
27071         unigbrk: Avoid gcc warnings.
27072         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
27073         unused variable.
27074         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
27075         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
27076         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
27077         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
27078         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
27079         Change type of first argument to 'const char *'.
27080         (main): Remove unused variable.
27081         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
27082         type of first argument to 'const char *'.
27083         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
27084         Likewise.
27085         (main): Change type of variable 's'.
27086         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
27087         to 'int'.
27088
27089 2011-01-02  Bruno Haible  <bruno@clisp.org>
27090
27091         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
27092         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
27093         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
27094         bug.
27095         * lib/pwrite.c: Undo 2010-12-31 patch.
27096         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
27097
27098 2011-01-02  Bruno Haible  <bruno@clisp.org>
27099
27100         pread: Fix test whether it works.
27101         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
27102
27103 2011-01-02  Bruno Haible  <bruno@clisp.org>
27104
27105         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
27106         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
27107         ends in "6". Don't require a specific month name. Try also the locale
27108         names found on HP-UX 11 and Solaris 7.
27109
27110 2011-01-02  Bruno Haible  <bruno@clisp.org>
27111
27112         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
27113         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
27114         C linkage.
27115         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
27116
27117 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
27118
27119         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
27120         for consistency, since the "cluster" term is not used elsewhere.
27121         * lib/unigbrk.in.h: Update name.
27122         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
27123         * lib/unigbrk/u16-grapheme-next.c: Update name.
27124         * lib/unigbrk/u16-grapheme-prev.c: Update name.
27125         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
27126         * lib/unigbrk/u32-grapheme-next.c: Update name.
27127         * lib/unigbrk/u32-grapheme-prev.c: Update name.
27128         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
27129         * lib/unigbrk/u8-grapheme-next.c: Update name.
27130         * lib/unigbrk/u8-grapheme-prev.c: Update name.
27131         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
27132         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
27133         Suggested by Bruno Haible.
27134
27135 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
27136
27137         Remove module 'u8-grapheme-len' as too redundant with
27138         'u8-grapheme-next'.
27139         * modules/unigbrk/u8-grapheme-len: Delete file.
27140         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
27141         * lib/unigbrk.in.h: Remove prototype for deleted function.
27142         * lib/unigbrk/u8-grapheme-len.c: Delete file.
27143         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
27144
27145         Remove module 'u16-grapheme-len' as too redundant with
27146         'u16-grapheme-next'.
27147         * modules/unigbrk/u16-grapheme-len: Delete file.
27148         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
27149         * lib/unigbrk.in.h: Remove prototype for deleted function.
27150         * lib/unigbrk/u16-grapheme-len.c: Delete file.
27151         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
27152
27153         Remove module 'u32-grapheme-len' as too redundant with
27154         'u32-grapheme-next'.
27155         * modules/unigbrk/u32-grapheme-len: Delete file.
27156         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
27157         * lib/unigbrk.in.h: Remove prototype for deleted function.
27158         * lib/unigbrk/u32-grapheme-len.c: Delete file.
27159         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
27160
27161         Suggested by Bruno Haible.
27162
27163 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
27164
27165         * unigbrk.in.h: Fix typo: "ben" => "been".
27166         Reported by Bruno Haible.
27167
27168 2011-01-01  Jim Meyering  <meyering@redhat.com>
27169
27170         maint: update almost all copyright ranges to include 2011
27171         Run the new "make update-copyright" rule.
27172
27173 2011-01-01  Jim Meyering  <meyering@redhat.com>
27174
27175         maint: update-copyright: exempt doc/INSTALL*
27176         * Makefile (update-copyright): Also exclude doc/INSTALL*,
27177         since they are generated.  Suggested by Bruno Haible.
27178
27179 2011-01-01  Jim Meyering  <meyering@redhat.com>
27180
27181         maint: refine the update-copyright rule
27182         * Makefile (update-copyright): Also exclude any file that includes
27183         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
27184         code that merely generates the comment.
27185
27186 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
27187
27188         New module 'u8-grapheme-len'.
27189         * modules/unigbrk/u8-grapheme-len: New file.
27190         * modules/unigbrk/u8-grapheme-len-tests: New file.
27191         * lib/unigbrk.in.h: Add prototype for new function.
27192         * lib/unigbrk/u8-grapheme-len.c: New file.
27193         * tests/unigbrk/test-u8-grapheme-len.c: New file.
27194
27195         New module 'u16-grapheme-len'.
27196         * modules/unigbrk/u16-grapheme-len: New file.
27197         * modules/unigbrk/u16-grapheme-len-tests: New file.
27198         * lib/unigbrk.in.h: Add prototype for new function.
27199         * lib/unigbrk/u16-grapheme-len.c: New file.
27200         * tests/unigbrk/test-u16-grapheme-len.c: New file.
27201
27202         New module 'u32-grapheme-len'.
27203         * modules/unigbrk/u32-grapheme-len: New file.
27204         * modules/unigbrk/u32-grapheme-len-tests: New file.
27205         * lib/unigbrk.in.h: Add prototype for new function.
27206         * lib/unigbrk/u32-grapheme-len.c: New file.
27207         * tests/unigbrk/test-u32-grapheme-len.c: New file.
27208
27209         New module 'u8-grapheme-next'.
27210         * modules/unigbrk/u8-grapheme-next: New file.
27211         * modules/unigbrk/u8-grapheme-next-tests: New file.
27212         * lib/unigbrk.in.h: Add prototype for new function.
27213         * lib/unigbrk/u8-grapheme-next.c: New file.
27214         * tests/unigbrk/test-u8-grapheme-next.c: New file.
27215
27216         New module 'u16-grapheme-next'.
27217         * modules/unigbrk/u16-grapheme-next: New file.
27218         * modules/unigbrk/u16-grapheme-next-tests: New file.
27219         * lib/unigbrk.in.h: Add prototype for new function.
27220         * lib/unigbrk/u16-grapheme-next.c: New file.
27221         * tests/unigbrk/test-u16-grapheme-next.c: New file.
27222
27223         New module 'u32-grapheme-next'.
27224         * modules/unigbrk/u32-grapheme-next: New file.
27225         * modules/unigbrk/u32-grapheme-next-tests: New file.
27226         * lib/unigbrk.in.h: Add prototype for new function.
27227         * lib/unigbrk/u32-grapheme-next.c: New file.
27228         * tests/unigbrk/test-u32-grapheme-next.c: New file.
27229
27230         New module 'u8-grapheme-prev'.
27231         * modules/unigbrk/u8-grapheme-prev: New file.
27232         * modules/unigbrk/u8-grapheme-prev-tests: New file.
27233         * lib/unigbrk.in.h: Add prototype for new function.
27234         * lib/unigbrk/u8-grapheme-prev.c: New file.
27235         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
27236
27237         New module 'u16-grapheme-prev'.
27238         * modules/unigbrk/u16-grapheme-prev: New file.
27239         * modules/unigbrk/u16-grapheme-prev-tests: New file.
27240         * lib/unigbrk.in.h: Add prototype for new function.
27241         * lib/unigbrk/u16-grapheme-prev.c: New file.
27242         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
27243
27244         New module 'u32-grapheme-prev'.
27245         * modules/unigbrk/u32-grapheme-prev: New file.
27246         * modules/unigbrk/u32-grapheme-prev-tests: New file.
27247         * lib/unigbrk.in.h: Add prototype for new function.
27248         * lib/unigbrk/u32-grapheme-prev.c: New file.
27249         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
27250
27251         New module 'u8-grapheme-breaks'.
27252         * modules/unigbrk/u8-grapheme-breaks: New file.
27253         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
27254         * lib/unigbrk.in.h: Add prototype for new function.
27255         * lib/unigbrk/u8-grapheme-breaks.c: New file.
27256         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
27257
27258         New module 'u16-grapheme-breaks'.
27259         * modules/unigbrk/u16-grapheme-breaks: New file.
27260         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
27261         * lib/unigbrk.in.h: Add prototype for new function.
27262         * lib/unigbrk/u16-grapheme-breaks.c: New file.
27263         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
27264
27265         New module 'u32-grapheme-breaks'.
27266         * modules/unigbrk/u32-grapheme-breaks: New file.
27267         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
27268         * lib/unigbrk.in.h: Add prototype for new function.
27269         * lib/unigbrk/u32-grapheme-breaks.c: New file.
27270         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
27271
27272         New module 'ulc-grapheme-breaks'.
27273         * modules/unigbrk/ulc-grapheme-breaks: New file.
27274         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
27275         * m4/locale-ar.m4: New file.
27276         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
27277         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
27278         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
27279
27280 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
27281
27282         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
27283         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
27284         modified how this file was generated before I initially submitted
27285         the module, but failed to regenerate it.  This meant that several
27286         of the level2 entries were wrong.
27287         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
27288         Remove the division-by-2 that is folded into the table now that
27289         gbrkprop.h has been regenerated properly.  Now -1 entries are
27290         handled correctly.
27291
27292         New module 'unigbrk/uc-gbrk-prop-tests'.
27293         * modules/unigbrk/uc-gbrk-prop-tests: New file.
27294         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
27295         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
27296         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
27297
27298 2011-01-01  Bruno Haible  <bruno@clisp.org>
27299
27300         Avoid use of hexadecimal escapes.
27301         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
27302         instead of hexadecimal escapes.
27303
27304 2011-01-01  Jim Meyering  <meyering@redhat.com>
27305
27306         maint: new rule to update copyright year ranges
27307         * Makefile (update-copyright): New rule.
27308
27309         maint: indent with TABs in Makefile
27310         * Makefile: Expand leading sequences of spaces to TABs
27311
27312         version-etc: update the copyright year it reports
27313         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
27314
27315 2010-12-31  Bruno Haible  <bruno@clisp.org>
27316
27317         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
27318         * lib/isfinite.c (zerof, zerod, zerol): New variables.
27319         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
27320         zero.
27321
27322 2010-12-31  Bruno Haible  <bruno@clisp.org>
27323
27324         pwrite: Work around HP-UX 11.11 bug.
27325         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
27326         works and set REPLACE_PWRITE if not.
27327         * lib/pwrite.c (pwrite): Add an implementation that uses the system
27328         function.
27329         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
27330
27331 2010-12-31  Bruno Haible  <bruno@clisp.org>
27332
27333         pread: Work around HP-UX 11 bugs.
27334         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
27335         and set REPLACE_PREAD if not.
27336         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
27337
27338 2010-12-31  Eric Blake  <eblake@redhat.com>
27339
27340         nl_langinfo: fix YESEXPR on Irix 6.5
27341         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
27342         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
27343         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
27344         it.
27345
27346 2010-12-31  Bruno Haible  <bruno@clisp.org>
27347
27348         iconv: Document HP-UX 11 bug.
27349         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
27350
27351 2010-12-31  Bruno Haible  <bruno@clisp.org>
27352
27353         ldexpl: Fix link error on HP-UX 11.
27354         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
27355         LDEXPL_LIBM, using $ISNANL_LIBM.
27356
27357 2010-12-31  Eric Blake  <eblake@redhat.com>
27358
27359         ftello: avoid compilation failure with SunStudio c89
27360         * lib/ftello.c (ftello): Use lseek, not llseek.
27361
27362         tests: avoid failing coreutils tests on cygwin
27363         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
27364         (create_exe_shims_): Return 0 when skipping.
27365
27366 2010-12-31  Bruno Haible  <bruno@clisp.org>
27367
27368         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
27369         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
27370
27371 2010-12-31  Bruno Haible  <bruno@clisp.org>
27372
27373         waitpid: Fix link error in C++ mode.
27374         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
27375
27376 2010-12-31  Bruno Haible  <bruno@clisp.org>
27377
27378         isnan: Use GCC built-ins when possible.
27379         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
27380         __builtin_isnan.
27381         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
27382         (isnan): Define using GCC built-ins for GCC >= 4.0.
27383
27384 2010-12-31  Bruno Haible  <bruno@clisp.org>
27385
27386         isnand: Fix mistake.
27387         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
27388         __builtin_isnand.
27389
27390 2010-12-31  Bruno Haible  <bruno@clisp.org>
27391
27392         open: Avoid C++ error on HP-UX 11.
27393         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
27394
27395 2010-12-31  Bruno Haible  <bruno@clisp.org>
27396
27397         time_r: Add missing declarations on HP-UX 11.
27398         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
27399         instead of HAVE_LOCALTIME_R.
27400         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
27401         HAVE_LOCALTIME_R always.
27402         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
27403         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
27404         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
27405         HAVE_LOCALTIME_R.
27406         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
27407         * doc/posix-functions/localtime_r.texi: Likewise.
27408
27409 2010-12-29  Eric Blake  <eblake@redhat.com>
27410
27411         mountlist: tweak previous commit
27412         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
27413         Reported by Paul Eggert.
27414
27415         mountlist: fix local drive detection on cygwin
27416         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
27417         that works for cygwin.
27418
27419 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
27420
27421         ftoastr, snprintf: ftoastr + snprintf module
27422         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
27423         since the snprintf module now should be good enough here.
27424         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
27425         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
27426         and gl_MODULE_INDICATOR([snprintf]), but the former enables
27427         GNULIB_SNPRINTF only for the test directory, and the latter
27428         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
27429         seems to suffice by itself.
27430
27431 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
27432
27433         alloca: one step towards thread-safety
27434         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
27435         need for a static variable.  All callers changed.  This does not
27436         make the alloca replacement thread-safe, but it's one step.
27437
27438         tests: minor indenting change
27439         * tests/init.sh: Sync from coreutils housekeeping patch
27440         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
27441         to keep lines within 80 columns.
27442
27443 2010-12-28  Jim Meyering  <meyering@redhat.com>
27444
27445         regex: don't infloop on persistent failing calloc
27446         * lib/regexec.c (build_trtable): Return failure indication upon
27447         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
27448         In glibc, this was fixed for version 2.13:
27449         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
27450
27451 2010-12-28  Bruno Haible  <bruno@clisp.org>
27452             Paul Eggert <eggert@cs.ucla.edu>
27453
27454         linkat: Make implementation robust against system behaviour variations.
27455         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
27456         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
27457         way, and to -2 if it needs a generic runtime test.
27458         * lib/linkat.c (solaris_optimized_link_immediate,
27459         solaris_optimized_link_follow): New functions.
27460         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
27461         (check_same_link): Use it.
27462
27463 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
27464
27465         New module 'unigbrk/base'.
27466         * modules/unigbrk/base: New file.
27467         * lib/unigbrk.in.h: New file.
27468
27469         New module 'unigbrk/uc-gbrk-prop'.
27470         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
27471         * modules/unigbrk/uc-gbrk-prop: New file.
27472         * lib/unigbrk/gbrkprop.h: New file.
27473         * lib/unigbrk/uc-gbrk-prop.c: New file.
27474
27475         New module 'unigbrk/uc-is-grapheme-break'.
27476         * modules/unigbrk/uc-is-grapheme-break: New file.
27477         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
27478         * lib/unigbrk/uc-is-grapheme-break.c: New file.
27479         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
27480         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
27481         * tests/unigbrk/GraphemeBreakTest.txt: New file.
27482
27483         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
27484
27485 2010-12-27  Bruno Haible  <bruno@clisp.org>
27486
27487         linkat test: Avoid failure on Solaris 11 2010-11.
27488         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
27489
27490 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
27491
27492         utimens: work around glibc rounding bug on more platforms
27493         * lib/utimens.c (fdutimens): Work around rounding bug even if
27494         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
27495         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
27496
27497 2010-12-27  Bruno Haible  <bruno@clisp.org>
27498
27499         select tests: Improve comments.
27500         * tests/test-select.c (do_select): Add comments.
27501
27502 2010-12-27  Bruno Haible  <bruno@clisp.org>
27503
27504         select tests: Safer way of handling timeout.
27505         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
27506         at every invocation.
27507
27508 2010-12-27  Bruno Haible  <bruno@clisp.org>
27509
27510         select tests: Use 'bool' where appropriate.
27511         * tests/test-select.c (connect_to_socket): Change argument type to
27512         'bool'.
27513
27514 2010-12-27  Bruno Haible  <bruno@clisp.org>
27515
27516         select tests: Use existing modules.
27517         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
27518         (configure.ac): Don't test for unistd.h.
27519         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
27520         declared in <unistd.h>.
27521
27522 2010-12-27  Bruno Haible  <bruno@clisp.org>
27523
27524         mbrtowc: Work around a Solaris 7 bug.
27525         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
27526         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
27527         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
27528         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
27529         MBRTOWC_NULL_ARG1_BUG.
27530         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
27531         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
27532         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
27533         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
27534
27535 2010-12-27  Jim Meyering  <meyering@redhat.com>
27536
27537         read-file.c: tweak syntax
27538         * lib/read-file.c (fread_file): Remove space after "*" in function
27539         definitions.
27540
27541 2010-12-27  Bruno Haible  <bruno@clisp.org>
27542
27543         times test: Avoid gcc warnings on OSF/1.
27544         * tests/test-times.c (main): Cast printf arguments from clock_t to
27545         'long int'.
27546
27547 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
27548
27549         utimens: work around glibc rounding bug on older Linux kernels
27550         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
27551         on Linux with a glibc whose utimes might not work, then work
27552         around a longstanding glibc bug involving rounding rather than
27553         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
27554         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
27555
27556 2010-12-26  Bruno Haible  <bruno@clisp.org>
27557
27558         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
27559         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
27560         _GL_CXXALIAS_SYS.
27561         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27562
27563 2010-12-26  Bruno Haible  <bruno@clisp.org>
27564
27565         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
27566         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
27567         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
27568         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
27569         looking for the declaration.
27570         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
27571         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
27572         problem.
27573         * doc/posix-functions/inet_pton.texi: Likewise.
27574
27575 2010-12-26  Bruno Haible  <bruno@clisp.org>
27576
27577         arpa_inet: Use the common idioms with C++ support.
27578         * lib/arpa_inet.in.h: Include c++defs.h.
27579         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
27580         support.
27581         * modules/arpa_inet (Depends-on): Add c++defs.
27582         (Makefile.am): Substitute the contents of c++defs.h.
27583         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
27584         * modules/arpa_inet-c++-tests: New file.
27585         * tests/test-arpa_inet-c++.cc: New file.
27586
27587 2010-12-25  Bruno Haible  <bruno@clisp.org>
27588
27589         Fix more C++ link errors on Solaris 8.
27590         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
27591         $(LIB_EACCESS).
27592         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
27593         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
27594         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
27595         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
27596         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
27597
27598 2010-12-25  Bruno Haible  <bruno@clisp.org>
27599
27600         printf-posix: Fix link error when a non-GCC compiler is used.
27601         * lib/stdio.in.h (printf): When not using GCC, override printf
27602         correctly.
27603         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27604
27605 2010-12-25  Bruno Haible  <bruno@clisp.org>
27606
27607         strerror_r-posix: Update doc.
27608         * doc/posix-functions/strerror_r.texi: Update doc about the return
27609         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
27610
27611 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
27612
27613         utimens: simplify the logic of the previous change
27614         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
27615         This should not affect whether the test succeeds or fails.
27616
27617         utimens: configure better on hosts with NFS clock skew
27618         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
27619         uses the clock of the local host.  It might use the clock of the
27620         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
27621         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
27622
27623 2010-12-25  Bruno Haible  <bruno@clisp.org>
27624
27625         ptsname test: Avoid failure on Solaris.
27626         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
27627         open a pseudo-terminal; don't use BSD-style ptys.
27628         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
27629
27630 2010-12-25  Bruno Haible  <bruno@clisp.org>
27631
27632         ptsname: Avoid ERANGE failure on some systems.
27633         * lib/ptsname.c (buffer): Increase size.
27634
27635 2010-12-25  Bruno Haible  <bruno@clisp.org>
27636
27637         rename, renameat: Avoid test failures at NFS mounted locations.
27638         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
27639         so that subsequent mkdir calls succeed.
27640
27641 2010-12-25  Bruno Haible  <bruno@clisp.org>
27642
27643         iswblank: Fix C++ link error on Solaris 8.
27644         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
27645         _GL_FUNCDECL_SYS.
27646
27647 2010-12-25  Bruno Haible  <bruno@clisp.org>
27648
27649         unistd: Fix C++ link error on Solaris 8.
27650         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
27651
27652 2010-12-25  Bruno Haible  <bruno@clisp.org>
27653
27654         readlink doc: Mention an old glibc bug.
27655         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
27656
27657 2010-12-25  Bruno Haible  <bruno@clisp.org>
27658
27659         fcntl-h: Fix for use of C++ on glibc systems.
27660         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
27661         also on glibc systems in C++ mode.
27662         Reported by Gary V. Vaughan <gary@gnu.org>.
27663
27664 2010-12-25  Bruno Haible  <bruno@clisp.org>
27665
27666         roundl-ieee: Make it work on OSF/1 5.1 with cc.
27667         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
27668
27669 2010-12-25  Bruno Haible  <bruno@clisp.org>
27670
27671         truncl-ieee: Make it work on OSF/1 5.1 with cc.
27672         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
27673         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
27674         test whether truncl works according to ISO C 99 with IEC 60559.
27675         * m4/truncl-ieee.m4: New file.
27676         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
27677         m4/signbit.m4.
27678         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
27679
27680 2010-12-25  Bruno Haible  <bruno@clisp.org>
27681
27682         ceill-ieee: Make it work on OSF/1 5.1 with cc.
27683         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
27684         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
27685         test whether ceill works according to ISO C 99 with IEC 60559.
27686         * m4/ceill-ieee.m4: New file.
27687         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
27688         m4/signbit.m4.
27689         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
27690
27691 2010-12-25  Bruno Haible  <bruno@clisp.org>
27692
27693         Ensure all prerequisites of <wchar.h> are included.
27694         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
27695         before <wchar.h>.
27696         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
27697         gl_MBRLEN_NUL_RETVAL): Likewise.
27698         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
27699         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
27700         AC_FUNC_MBRTOWC): Likewise.
27701         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27702         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
27703         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27704         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
27705         Likewise.
27706         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
27707         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
27708         (gl_WCHAR_H): Improve comments.
27709         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
27710
27711 2010-12-25  Bruno Haible  <bruno@clisp.org>
27712
27713         strtok_r: Fix C syntax error in autoconf macro.
27714         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
27715         characters in test program.
27716
27717 2010-12-24  Bruno Haible  <bruno@clisp.org>
27718
27719         ceil, trunc, round: Fix gcc warnings.
27720         * lib/ceil.c (MIN): Undefine before redefining.
27721         * lib/trunc.c (MIN): Likewise.
27722         * lib/round.c (MIN): Likewise.
27723         Include <math.h> first.
27724
27725 2010-12-24  Bruno Haible  <bruno@clisp.org>
27726
27727         select tests: Avoid failures on OSF/1 5.1.
27728         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
27729         failure of closing the last socket; it may fail with ECONNRESET.
27730
27731 2010-12-24  Eric Blake  <eblake@redhat.com>
27732
27733         stdint: avoid HP-UX 10.20 preprocessor bug
27734         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
27735         than #if.
27736         * tests/test-floor2.c (main): Likewise.
27737         Reported by Peter O'Gorman.
27738
27739         pipe: make obsoletion transition easier
27740         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
27741         * modules/pipe (Files): Include revived file.
27742         (Include): Drop reference, to mirror getdate's behavior.
27743
27744 2010-12-24  Bruno Haible  <bruno@clisp.org>
27745
27746         sys_socket: Hide mismatch of declarations on NonStop Kernel.
27747         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
27748         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
27749         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27750
27751 2010-12-24  Bruno Haible  <bruno@clisp.org>
27752
27753         gethostname: Ensure declaration on NonStop Kernel.
27754         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
27755         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27756
27757 2010-12-24  Bruno Haible  <bruno@clisp.org>
27758
27759         sys_select: Ensure all necessary types on NonStop Kernel.
27760         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
27761         include <sys/time.h>.
27762         * doc/posix-headers/sys_select.texi: Mention that it's missing on
27763         NonStop Kernel.
27764         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27765
27766 2010-12-24  Bruno Haible  <bruno@clisp.org>
27767
27768         sys_select: Remove unneeded include.
27769         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
27770         have <sys/select.h>.
27771
27772 2010-12-24  Bruno Haible  <bruno@clisp.org>
27773
27774         gethostname: Provide a fallback for HOST_NAME_MAX.
27775         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
27776         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
27777         instead.
27778         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27779
27780 2010-12-24  Bruno Haible  <bruno@clisp.org>
27781
27782         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
27783         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
27784         (SA_RESTART): Likewise.
27785         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27786
27787 2010-12-24  Bruno Haible  <bruno@clisp.org>
27788
27789         signal: Define NSIG.
27790         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
27791         * tests/test-signal.c (nsig): New variable.
27792         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27793
27794 2010-12-24  Bruno Haible  <bruno@clisp.org>
27795
27796         rename, renameat: Avoid test failures on OSF/1 5.1.
27797         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
27798         alternative error codes.
27799         * tests/test-renameat.c (main): Likewise.
27800
27801 2010-12-24  Bruno Haible  <bruno@clisp.org>
27802
27803         *printf: Detect large precisions bug on Solaris 10/SPARC.
27804         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
27805         by Paul Eggert.
27806         * tests/test-snprintf-posix.h (test_function): Add this test code here
27807         too.
27808         * tests/test-sprintf-posix.h (test_function): Likewise.
27809         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27810         * tests/test-vasprintf-posix.c (test_function): Likewise.
27811         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
27812         around by gnulib.
27813         * doc/posix-functions/printf.texi: Likewise.
27814         * doc/posix-functions/snprintf.texi: Likewise.
27815         * doc/posix-functions/sprintf.texi: Likewise.
27816         * doc/posix-functions/vfprintf.texi: Likewise.
27817         * doc/posix-functions/vprintf.texi: Likewise.
27818         * doc/posix-functions/vsnprintf.texi: Likewise.
27819         * doc/posix-functions/vsprintf.texi: Likewise.
27820         * doc/posix-functions/dprintf.texi: Undo last commit.
27821         * doc/posix-functions/vdprintf.texi: Likewise.
27822
27823 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
27824
27825         tests: port test-fdutimensat.c to Solaris 8
27826         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
27827         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
27828         On Solaris 8, it fails with errno == ENOSYS, because there is no
27829         futimens (so it can't use the fd), and there is no lutimens (so it
27830         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
27831
27832         vsnprintf: make more consistent with snprintf; doc fixes
27833
27834         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
27835         the byte count return problem was promoted from the snprintf-posix
27836         to the snprintf module.
27837         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
27838         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
27839         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
27840         * tests/test-snprintf.c (main): Check the byte count returned.
27841         * tests/test-vsnprintf.c (main): Likewise.
27842
27843 2010-12-23  Eric Blake  <eblake@redhat.com>
27844
27845         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
27846         * modules/sigpipe (License): Relax license.
27847
27848 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27849
27850         doc: document Solaris printf bug with large float precisions
27851         * doc/posix-functions/dprintf.texi (dprintf):
27852         * doc/posix-functions/fprintf.texi (fprintf):
27853         * doc/posix-functions/printf.texi (printf):
27854         * doc/posix-functions/snprintf.texi (snprintf):
27855         * doc/posix-functions/sprintf.texi (sprintf):
27856         * doc/posix-functions/vdprintf.texi (vdprintf):
27857         * doc/posix-functions/vfprintf.texi (vfprintf):
27858         * doc/posix-functions/vprintf.texi (vprintf):
27859         * doc/posix-functions/vsnprintf.texi (vsnprintf):
27860         * doc/posix-functions/vsprintf.texi (vsprintf):
27861         Mention that these functions mishandle large floating point
27862         precisions on Solaris 10.  The same bug is also present in Solaris
27863         8, and I assume earlier.  This causes "cd gnulib-tests; make
27864         check" to fail on Solaris 8 (and I assume, later) when building
27865         the latest coreutils, in test-vasprintf-posix's call to
27866         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
27867         the wide flavors (e.g., wprintf) so this patch just updates the
27868         documentation for the narrow ones.
27869
27870         test-posixtm.c: add two tests
27871         * tests/test-posixtm.c: Add two tests, to highlight the
27872         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
27873         around this bug; this is merely to document it.
27874
27875 2010-12-22  Bruno Haible  <bruno@clisp.org>
27876
27877         getlogin_r: Work around portability problem on OSF/1.
27878         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
27879         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
27880         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
27881         test for a truncated result.
27882         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
27883         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
27884         * modules/getlogin_r (Depends-on): Add memchr.
27885         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
27886
27887 2010-12-22  Bruno Haible  <bruno@clisp.org>
27888
27889         ptsname: Avoid test failure on OSF/1 5.1.
27890         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
27891         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
27892         (same_slave): New function.
27893         (main): Use it to compare ptsname's result with the expected file name.
27894
27895 2010-12-22  Bruno Haible  <bruno@clisp.org>
27896
27897         Port extended stdio modules to HP NonStop Kernel.
27898         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
27899         macros.
27900         * lib/fbufmode.c: Update comments.
27901         * lib/fflush.c: Likewise.
27902         * lib/fpurge.c: Likewise.
27903         * lib/freadable.c: Likewise.
27904         * lib/freadahead.c: Likewise.
27905         * lib/freading.c: Likewise.
27906         * lib/freadptr.c: Likewise.
27907         * lib/freadseek.c: Likewise.
27908         * lib/fseeko.c: Likewise.
27909         * lib/fseterr.c: Likewise.
27910         * lib/fwritable.c: Likewise.
27911         * lib/fwriting.c: Likewise.
27912         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27913
27914 2010-12-22  Bruno Haible  <bruno@clisp.org>
27915
27916         ttyname_r: Work around bug on OSF/1 5.1.
27917         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
27918         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
27919         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
27920         present.
27921         * lib/ttyname_r.c (ttyname_r): Update comments.
27922
27923 2010-12-22  Bruno Haible  <bruno@clisp.org>
27924
27925         round: Implement result sign according to IEEE 754.
27926         * lib/round.c (MIN, MINUS_ZERO): New macros.
27927         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
27928         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
27929         * tests/test-round-ieee.c (main): Likewise.
27930         * tests/test-roundl-ieee.c (main): Likewise.
27931
27932         trunc: Implement result sign according to IEEE 754.
27933         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
27934         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
27935         * tests/test-trunc2.c: Include minus-zero.h.
27936         (MINUS_ZERO): New macro.
27937         (trunc_reference): Keep in sync with lib/trunc.c.
27938         * tests/test-truncf2.c: Include minus-zero.h.
27939         (MINUS_ZERO): New macro.
27940         (truncf_reference): Keep in sync with lib/trunc.c.
27941         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
27942         * tests/test-trunc-ieee.c (main): Likewise.
27943         * tests/test-truncl-ieee.c (main): Likewise.
27944
27945         ceil: Implement result sign according to IEEE 754.
27946         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
27947         (FUNC): Return -0.0 for -1 < x < 0.
27948         * tests/test-ceil2.c: Include minus-zero.h.
27949         (MINUS_ZERO): New macro.
27950         (ceil_reference): Keep in sync with lib/ceil.c.
27951         * tests/test-ceilf2.c: Include minus-zero.h.
27952         (MINUS_ZERO): New macro.
27953         (ceilf_reference): Keep in sync with lib/ceil.c.
27954         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
27955         * tests/test-ceil-ieee.c (main): Likewise.
27956         * tests/test-ceill-ieee.c (main): Likewise.
27957
27958         floor: Implement result sign according to IEEE 754.
27959         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
27960         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
27961         * tests/test-floorf2.c (floorf_reference): Likewise.
27962         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
27963         * tests/test-floor-ieee.c (main): Likewise.
27964         * tests/test-floorl-ieee.c (main): Likewise.
27965
27966 2010-12-22  Bruno Haible  <bruno@clisp.org>
27967
27968         getaddrinfo: Update doc.
27969         * doc/posix-functions/gai_strerror.texi: Return type is also different
27970         on AIX and HP-UX.
27971
27972 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27973
27974         getaddrinfo, inet_ntop: Update doc for Solaris.
27975         * doc/posix-functions/gai_strerror.texi: Return type is also an
27976         issue on Solaris 9 and earlier.
27977         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
27978         on Solaris 10 and earlier.
27979
27980 2010-12-21  Bruno Haible  <bruno@clisp.org>
27981
27982         New module 'roundl-ieee'.
27983         * modules/roundl-ieee: New file.
27984         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
27985         test whether roundl works according to ISO C 99 with IEC 60559.
27986         * m4/roundl-ieee.m4: New file.
27987         * modules/roundl-ieee-tests: New file.
27988         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
27989         * tests/test-roundl.c (main): Remove signbit tests.
27990         * modules/roundl-tests (Depends-on): Remove signbit.
27991         * doc/posix-functions/roundl.texi: Mention the new module.
27992
27993 2010-12-21  Bruno Haible  <bruno@clisp.org>
27994
27995         New module 'truncl-ieee'.
27996         * modules/truncl-ieee: New file.
27997         * modules/truncl-ieee-tests: New file.
27998         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
27999         * tests/test-truncl.c (main): Remove signbit tests.
28000         * modules/truncl-tests (Depends-on): Remove signbit.
28001         * doc/posix-functions/truncl.texi: Mention the new module.
28002
28003 2010-12-21  Bruno Haible  <bruno@clisp.org>
28004
28005         New module 'ceill-ieee'.
28006         * modules/ceill-ieee: New file.
28007         * modules/ceill-ieee-tests: New file.
28008         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
28009         * tests/test-ceill.c (main): Remove signbit tests.
28010         * modules/ceill-tests (Depends-on): Remove signbit.
28011         * doc/posix-functions/ceill.texi: Mention the new module.
28012
28013 2010-12-21  Bruno Haible  <bruno@clisp.org>
28014
28015         New module 'floorl-ieee'.
28016         * modules/floorl-ieee: New file.
28017         * modules/floorl-ieee-tests: New file.
28018         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
28019         * tests/test-floorl.c (main): Remove signbit tests.
28020         * modules/floorl-tests (Depends-on): Remove signbit.
28021         * doc/posix-functions/floorl.texi: Mention the new module.
28022
28023 2010-12-21  Bruno Haible  <bruno@clisp.org>
28024
28025         New module 'round-ieee'.
28026         * modules/round-ieee: New file.
28027         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
28028         whether round works according to ISO C 99 with IEC 60559.
28029         * m4/round-ieee.m4: New file.
28030         * modules/round-ieee-tests: New file.
28031         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
28032         * tests/test-round1.c (main): Remove signbit tests.
28033         * modules/round-tests (Depends-on): Remove 'signbit'.
28034         * doc/posix-functions/round.texi: Mention the new module.
28035
28036 2010-12-21  Bruno Haible  <bruno@clisp.org>
28037
28038         New module 'trunc-ieee'.
28039         * modules/trunc-ieee: New file.
28040         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
28041         whether trunc works according to ISO C 99 with IEC 60559.
28042         * m4/trunc-ieee.m4: New file.
28043         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
28044         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
28045         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
28046         * modules/trunc-ieee-tests: New file.
28047         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
28048         * tests/test-trunc1.c (main): Remove signbit tests.
28049         * modules/trunc-tests (Depends-on): Remove 'signbit'.
28050         * doc/posix-functions/trunc.texi: Mention the new module.
28051
28052 2010-12-21  Bruno Haible  <bruno@clisp.org>
28053
28054         New module 'ceil-ieee'.
28055         * modules/ceil-ieee: New file.
28056         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
28057         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
28058         ISO C 99 with IEC 60559.
28059         * m4/ceil-ieee.m4: New file.
28060         * modules/ceil (Files): Add lib/ceil.c.
28061         (Depends-on): Add 'float'.
28062         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
28063         * lib/math.in.h (ceil): New declaration.
28064         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
28065         REPLACE_CEIL.
28066         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
28067         * modules/ceil-ieee-tests: New file.
28068         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
28069         * tests/test-math-c++.cc: Check the signature of 'ceil'.
28070         * doc/posix-functions/ceil.texi: Mention the new module.
28071
28072 2010-12-21  Bruno Haible  <bruno@clisp.org>
28073
28074         New module 'floor-ieee'.
28075         * modules/floor-ieee: New file.
28076         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
28077         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
28078         ISO C 99 with IEC 60559.
28079         * m4/floor-ieee.m4: New file.
28080         * modules/floor (Files): Add lib/floor.c.
28081         (Depends-on): Add 'float'.
28082         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
28083         * lib/math.in.h (floor): New declaration.
28084         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
28085         REPLACE_FLOOR.
28086         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
28087         * modules/floor-ieee-tests: New file.
28088         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
28089         * tests/test-math-c++.cc: Check the signature of 'floor'.
28090         * doc/posix-functions/floor.texi: Mention the new module.
28091
28092 2010-12-21  Bruno Haible  <bruno@clisp.org>
28093
28094         New module 'roundf-ieee'.
28095         * modules/roundf-ieee: New file.
28096         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
28097         test whether roundf works according to ISO C 99 with IEC 60559.
28098         * m4/roundf-ieee.m4: New file.
28099         * modules/roundf-ieee-tests: New file.
28100         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
28101         * tests/test-roundf1.c (main): Remove signbit tests.
28102         * modules/roundf-tests (Depends-on): Remove 'signbit'.
28103         * doc/posix-functions/roundf.texi: Mention the new module.
28104
28105 2010-12-21  Bruno Haible  <bruno@clisp.org>
28106
28107         New module 'truncf-ieee'.
28108         * modules/truncf-ieee: New file.
28109         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
28110         test whether truncf works according to ISO C 99 with IEC 60559.
28111         * m4/truncf-ieee.m4: New file.
28112         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
28113         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
28114         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
28115         * modules/truncf-ieee-tests: New file.
28116         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
28117         * tests/test-truncf1.c (main): Remove signbit tests.
28118         * modules/truncf-tests (Depends-on): Remove 'signbit'.
28119         * doc/posix-functions/truncf.texi: Mention the new module.
28120
28121 2010-12-21  Bruno Haible  <bruno@clisp.org>
28122
28123         New module 'ceilf-ieee'.
28124         * modules/ceilf-ieee: New file.
28125         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
28126         test whether ceilf works according to ISO C 99 with IEC 60559.
28127         * m4/ceilf-ieee.m4: New file.
28128         * modules/ceilf-ieee-tests: New file.
28129         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
28130         * tests/test-ceilf1.c (main): Remove signbit tests.
28131         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
28132         * doc/posix-functions/ceilf.texi: Mention the new module.
28133
28134 2010-12-21  Bruno Haible  <bruno@clisp.org>
28135
28136         New module 'floorf-ieee'.
28137         * modules/floorf-ieee: New file.
28138         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
28139         test whether floorf works according to ISO C 99 with IEC 60559.
28140         * m4/floorf-ieee.m4: New file.
28141         * modules/floorf-ieee-tests: New file.
28142         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
28143         * tests/test-floorf1.c (main): Remove signbit tests.
28144         * modules/floorf-tests (Depends-on): Remove 'signbit'.
28145         * doc/posix-functions/floorf.texi: Mention the new module.
28146
28147 2010-12-21  Bruno Haible  <bruno@clisp.org>
28148
28149         Support for minus zero in autoconf macros.
28150         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
28151         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
28152         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
28153         * tests/minus-zero.h: Update comments.
28154
28155 2010-12-21  Bruno Haible  <bruno@clisp.org>
28156
28157         Tests for module 'ceil'.
28158         * modules/ceil-tests: New file.
28159         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
28160         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
28161
28162 2010-12-21  Bruno Haible  <bruno@clisp.org>
28163
28164         Tests for module 'floor'.
28165         * modules/floor-tests: New file.
28166         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
28167         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
28168
28169 2010-12-21  Bruno Haible  <bruno@clisp.org>
28170
28171         math: Fix indentation.
28172         * lib/math.in.h (floorf): Fix indentation.
28173
28174 2010-12-21  Bruno Haible  <bruno@clisp.org>
28175
28176         Fix cross-compilation guesses on Solaris.
28177         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
28178         not match "solaris2.10".
28179         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
28180         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
28181         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
28182
28183 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
28184
28185         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
28186         This fixes a problem observed with the latest coreutils snapshot
28187         that caused a test to fail on Solaris 8.  src/csplit.c's call
28188         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
28189         earlier, instead of returning the number of bytes that would have
28190         been generated; this causes csplit to incorrectly report memory
28191         exhaustion.
28192         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
28193         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
28194         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
28195         comments to match.
28196         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
28197         Fix typo in matching older versions of Solaris: "solaris2.10"
28198         is matched by the shell pattern "solaris2.[0-9]*".  This matters
28199         only for guessing while cross-compiling.
28200         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
28201
28202 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
28203
28204         ftoastr: fix comment again
28205         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
28206         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
28207         Also, simplify example a bit by using flags = 0.
28208
28209 2010-12-20  Bruno Haible  <bruno@clisp.org>
28210
28211         round*, trunc*: Update documentation regarding glibc.
28212         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
28213         * doc/posix-functions/round.texi: Likewise.
28214         * doc/posix-functions/roundl.texi: Likewise.
28215         * doc/posix-functions/truncf.texi: Likewise.
28216         * doc/posix-functions/trunc.texi: Likewise.
28217         * doc/posix-functions/truncl.texi: Likewise.
28218
28219 2010-12-20  Bruno Haible  <bruno@clisp.org>
28220
28221         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
28222         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
28223         * doc/posix-functions/round.texi: Likewise.
28224         * doc/posix-functions/roundl.texi: Likewise.
28225
28226 2010-12-20  Bruno Haible  <bruno@clisp.org>
28227
28228         ttyname_r: Add missing declaration on HP-UX 11.
28229         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
28230         HAVE_TTYNAME_R.
28231         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
28232         declared. Set HAVE_TTYNAME_R always.
28233         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28234         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
28235         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
28236         HAVE_TTYNAME_R.
28237         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
28238
28239 2010-12-20  Bruno Haible  <bruno@clisp.org>
28240
28241         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
28242         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
28243         * doc/posix-functions/getlogin_r.texi: Likewise.
28244         * tests/test-getlogin.c: Include <errno.h>.
28245         (main): Avoid test failure on HP-UX 11.11.
28246         * tests/test-getlogin_r.c (main): Likewise.
28247
28248 2010-12-20  Bruno Haible  <bruno@clisp.org>
28249
28250         getlogin_r: Add missing declaration on HP-UX 11.
28251         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
28252         declared also when it exists as a function.
28253         * doc/posix-functions/getlogin_r.texi: Document this workaround.
28254
28255 2010-12-20  Bruno Haible  <bruno@clisp.org>
28256
28257         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
28258         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
28259         through wcrtomb.
28260
28261 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
28262
28263         ftoastr: fix comment
28264         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
28265         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
28266
28267 2010-12-19  Bruno Haible  <bruno@clisp.org>
28268
28269         isnan: Ensure it is a macro.
28270         * lib/math.in.h (isnan): Define as a macro if not already a macro.
28271         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
28272         Solaris.
28273
28274 2010-12-19  Bruno Haible  <bruno@clisp.org>
28275
28276         ldexpl test: Fix link error on OSF/1 5.1.
28277         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
28278
28279 2010-12-19  Bruno Haible  <bruno@clisp.org>
28280
28281         wctype: Make it work in C++ mode on OSF/1 5.1.
28282         * lib/wctype.in.h (iswblank): Declare but not define here.
28283         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
28284         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
28285         * modules/wctype (Files): Add lib/iswblank.c.
28286
28287 2010-12-19  Bruno Haible  <bruno@clisp.org>
28288
28289         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
28290         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
28291         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
28292
28293 2010-12-19  Bruno Haible  <bruno@clisp.org>
28294
28295         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
28296         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
28297         _POSIX_PII_SOCKET.
28298         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
28299         * doc/posix-functions/recvfrom.texi: Likewise.
28300         * doc/posix-functions/send.texi: Likewise.
28301         * doc/posix-functions/sendto.texi: Likewise.
28302
28303 2010-12-19  Bruno Haible  <bruno@clisp.org>
28304
28305         tcgetsid: Add missing declaration on OSF/1 5.1.
28306         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
28307         HAVE_TCGETSID.
28308         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
28309         Don't set HAVE_TCGETSID.
28310         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
28311         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
28312         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
28313         HAVE_TCGETSID.
28314         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
28315
28316 2010-12-19  Bruno Haible  <bruno@clisp.org>
28317
28318         stdio: Fix problem with popen() declaration on OSF/1 5.1.
28319         * lib/stdio.in.h: During the include_next statement, let recursive
28320         includes of this file include only the system header file.
28321
28322 2010-12-19  Bruno Haible  <bruno@clisp.org>
28323
28324         iconv_open: Fix regression from 2010-12-04.
28325         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
28326         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
28327
28328 2010-12-19  Bruno Haible  <bruno@clisp.org>
28329
28330         stdbool test: Avoid a gcc warning.
28331         * tests/test-stdbool.c (main): Fail if e1 is false.
28332         Reported by Jim Meyering.
28333
28334 2010-12-19  Jim Meyering  <meyering@redhat.com>
28335
28336         setenv: restore to working order
28337         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
28338         mistakenly removed.
28339         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
28340         HAVE_SETENV.
28341         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
28342         HAVE_SETENV.
28343
28344 2010-12-19  Bruno Haible  <bruno@clisp.org>
28345
28346         Document some different function declarations on OSF/1 5.1.
28347         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
28348         * doc/posix-functions/inet_ntop.texi: Likewise.
28349         * doc/posix-functions/gethostname.texi: Likewise.
28350         * lib/unistd.in.h (gethostname): Update comment.
28351
28352 2010-12-19  Bruno Haible  <bruno@clisp.org>
28353
28354         doc: Mention vasprintf-posix module.
28355         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
28356         the 'vasprintf-posix' module.
28357         * doc/glibc-functions/vasprintf.texi: Likewise.
28358
28359 2010-12-19  Bruno Haible  <bruno@clisp.org>
28360
28361         unsetenv: Add missing declaration on OSF/1 5.1.
28362         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
28363         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
28364         Don't set HAVE_UNSETENV. In the test program, set _BSD.
28365         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
28366         not HAVE_UNSETENV.
28367         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
28368         HAVE_UNSETENV.
28369         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
28370
28371 2010-12-19  Bruno Haible  <bruno@clisp.org>
28372
28373         setenv: Add missing declaration on OSF/1 5.1.
28374         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
28375         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
28376         declared. Don't set HAVE_SETENV.
28377         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
28378         not HAVE_SETENV.
28379         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
28380         HAVE_SETENV.
28381         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
28382
28383 2010-12-19  Bruno Haible  <bruno@clisp.org>
28384
28385         nl_langinfo tests: Avoid gcc warning.
28386         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
28387
28388 2010-12-19  Bruno Haible  <bruno@clisp.org>
28389
28390         mknod: Avoid error in C++ mode on OSF/1 with GCC.
28391         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
28392         _GL_CXXALIAS_SYS.
28393
28394 2010-12-19  Bruno Haible  <bruno@clisp.org>
28395
28396         stdbool: Relax test.
28397         * tests/test-stdbool.c (e): Don't require that casts from a variable's
28398         address to 'bool' work in static initializer, for compilers other than
28399         GCC.
28400
28401 2010-12-19  Bruno Haible  <bruno@clisp.org>
28402
28403         ftello: Add missing declaration on OSF/1 5.1.
28404         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
28405         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
28406         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
28407         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
28408         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
28409
28410 2010-12-19  Bruno Haible  <bruno@clisp.org>
28411
28412         fseeko: Add missing declaration on OSF/1 5.1.
28413         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
28414         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
28415         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
28416         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
28417         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
28418
28419 2010-12-19  Bruno Haible  <bruno@clisp.org>
28420
28421         fchdir: Add missing declaration on OSF/1 5.1.
28422         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
28423         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
28424         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
28425         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
28426         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
28427
28428 2010-12-19  Bruno Haible  <bruno@clisp.org>
28429
28430         relocatable-prog-wrapper: Separate from relocatable-prog.
28431         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
28432         uninstall-relocwrapper rule here.
28433         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
28434         Reported by Ian Beckwith <ianb@erislabs.net>.
28435
28436 2010-12-19  Bruno Haible  <bruno@clisp.org>
28437
28438         unistr/u8-mbsnlen: Add missing dependency.
28439         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
28440         Reported by Ian Beckwith <ianb@erislabs.net>.
28441
28442 2010-12-19  Bruno Haible  <bruno@clisp.org>
28443
28444         iconv: Make it possible again to use this module without 'iconv-h'.
28445         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
28446         if it is not defined.
28447         Reported by Ian Beckwith <ianb@erislabs.net>.
28448
28449 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
28450
28451         acl: port to Solaris 8 when copying from tmpfs to ufs
28452         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
28453         error number.  Problem observed on Solaris 8 with latest
28454         coreutils, with "mv A B", where A is on a tmpfs file system and B
28455         is on a ufs file system.  This caused coreutils' mv/part-symlink
28456         test to fail.
28457
28458         tests: set fail=0 at start
28459         * tests/init.sh (setup_): Move fail=0 initialization here ...
28460         (mktempd_): ... from here, so that tests can rely on fail being
28461         set to 0 initially.  This fixes a problem in coreutils; see:
28462         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
28463
28464 2010-12-18  Bruno Haible  <bruno@clisp.org>
28465
28466         memmem-simple: Stylistic changes.
28467         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
28468         Fix preprocessor directive indentation.
28469
28470 2010-12-15  Pádraig Brady <P@draigBrady.com>
28471
28472         memmem, memmem-simple: reorganize and expand empty needle check
28473         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
28474         functional checks to memmem-simple so that one has a fully functional
28475         memmem by using just this module.
28476         Restrict the performance only check to the memmem module.
28477         Also expand the empty needle check to ensure the correct
28478         pointer is returned, not just a non NULL pointer.
28479         * doc/glibc-functions/memmem.texi: Rearrange the portability
28480         documentation to correlate with the rearranged checks.
28481         Clarify exactly how the memmem and memmem-simple modules
28482         relate to each other.
28483
28484 2010-12-15  Pádraig Brady <P@draigBrady.com>
28485             Bruno Haible  <bruno@clisp.org>
28486
28487         Improve cross-compilation guesses for uClibc.
28488         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
28489         that uClibc does not have the glibc bug.
28490         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
28491         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
28492
28493 2010-12-14  Eric Blake  <eblake@redhat.com>
28494
28495         configmake: provide fallbacks for oldest supported autotools
28496         * m4/configmake.m4: New file.
28497         * modules/configmake (Files): Ship it.
28498         (configure.ac): Use it to guarantee fallbacks.
28499
28500 2010-12-13  Pádraig Brady <P@draigBrady.com>
28501
28502         read-file: Improve handling of large files
28503         * lib/read-file.c (fread_file): Minimize realloc()s
28504         for regular files, and better manage sizes around SIZE_MAX.
28505
28506 2010-12-13  Eric Blake  <eblake@redhat.com>
28507
28508         cloexec, fcntl: relax license
28509         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
28510         consent from all contributors.
28511         * modules/fcntl (License): Likewise.
28512
28513 2010-12-10  Bruno Haible  <bruno@clisp.org>
28514
28515         Tests for module 'pipe-posix'.
28516         * modules/pipe-posix-tests: New file.
28517         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
28518
28519 2010-12-10  Bruno Haible  <bruno@clisp.org>
28520
28521         pipe-posix: Make it work in C++ mode.
28522         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
28523         (pipe): Use common idiom, not a macro definition.
28524         * lib/pipe.c: New file.
28525         * m4/pipe.m4: New file.
28526         * modules/pipe-posix (Description): Enhance.
28527         (Files): Add lib/pipe.c, m4/pipe.m4.
28528         (configure.ac): Invoke gl_FUNC_PIPE.
28529         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
28530         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
28531         * tests/test-unistd-c++.cc: Check the signature of pipe.
28532
28533 2010-12-10  Bruno Haible  <bruno@clisp.org>
28534
28535         Rename module 'pipe' to 'spawn-pipe'.
28536         * modules/spawn-pipe: New file, renamed from modules/pipe.
28537         (Files, configure.ac, Makefile.am): Update.
28538         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
28539         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
28540         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
28541         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
28542         "spawn-pipe.h" instead of "pipe.h".
28543         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
28544         to gl_SPAWN_PIPE.
28545         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
28546         (Files, Makefile.am): Update.
28547         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
28548         Update.
28549         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
28550         Include "spawn-pipe.h" instead of "pipe.h".
28551         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
28552         * lib/javacomp.c: Likewise.
28553         * lib/javaversion.c: Likewise.
28554         * lib/pipe-filter-gi.c: Likewise.
28555         * lib/pipe-filter-ii.c: Likewise.
28556         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
28557         * modules/javacomp (Depends-on): Likewise.
28558         * modules/javaversion (Depends-on): Likewise.
28559         * modules/pipe-filter-gi (Depends-on): Likewise.
28560         * modules/pipe-filter-ii (Depends-on): Likewise.
28561         * MODULES.html.sh (Executing programs): Update.
28562         * NEWS: Mention the change.
28563
28564 2010-12-10  Eric Blake  <eblake@redhat.com>
28565
28566         pipe-posix: new module
28567         * modules/pipe-posix: New file.
28568         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
28569         (gl_UNISTD_H): Check for declaration.
28570         * modules/unistd (Makefile.am): Substitute it.
28571         * lib/unistd.in.h (pipe): Provide it for mingw.
28572         * doc/posix-functions/pipe.texi (pipe): Update documentation.
28573         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
28574
28575 2010-12-07  Bruno Haible  <bruno@clisp.org>
28576
28577         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
28578         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
28579         u8_strcmp_gnu.
28580         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
28581
28582 2010-12-06  Bruno Haible  <bruno@clisp.org>
28583
28584         Update internal documentation.
28585         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
28586
28587 2010-12-04  Bruno Haible  <bruno@clisp.org>
28588
28589         Put more information about failed tests into the test return codes.
28590         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
28591         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
28592         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
28593         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
28594         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
28595         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28596         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28597         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
28598         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
28599         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
28600         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
28601         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
28602         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
28603         * m4/stdint.m4 (gl_STDINT_H): Likewise.
28604         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
28605         returns a bit mask.
28606         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
28607         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
28608         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
28609         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
28610         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
28611         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
28612         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
28613         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
28614         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
28615         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
28616         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
28617         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
28618         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
28619         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
28620         * m4/link.m4 (gl_FUNC_LINK): Likewise.
28621         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
28622         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
28623         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
28624         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
28625         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
28626         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
28627         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
28628         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
28629         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
28630         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
28631         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
28632         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
28633         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
28634         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
28635         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
28636         gl_PRINTF_PRECISION): Likewise.
28637         * m4/regex.m4 (gl_REGEX): Likewise.
28638         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
28639         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
28640         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
28641         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
28642         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
28643         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28644         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
28645         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
28646         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
28647         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
28648         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
28649         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
28650         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
28651         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
28652         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
28653         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
28654         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
28655         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
28656         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
28657         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
28658         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
28659         enumerated value.
28660         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
28661
28662 2010-12-04  Bruno Haible  <bruno@clisp.org>
28663
28664         Update for Solaris 11 2010-11.
28665         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
28666         Express, released in November 2010.
28667
28668 2010-12-04  Bruno Haible  <bruno@clisp.org>
28669
28670         nproc: Relax license.
28671         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
28672         and Paul Eggert.
28673         Requested by Ludovic Courtès <ludo@gnu.org>.
28674
28675 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
28676
28677         utimecmp: fine-grained src to nearby coarse-grained dest
28678
28679         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
28680         and the source is on a file system with higher-resolution time
28681         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
28682         not work, and the time stamps are close together, the algorithm to
28683         determine the exact resolution from the read-back mtime was buggy:
28684         it had a "!=" where it should have had an "==".  This bug has been
28685         in the code ever since it was introduced to gnulib.
28686         Problem reported by Dan Jacobson in
28687         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
28688
28689 2010-11-30  Bruno Haible  <bruno@clisp.org>
28690
28691         strerror_r-posix: Fix autoconf test.
28692         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
28693
28694 2010-11-28  Bruno Haible  <bruno@clisp.org>
28695             Paul Eggert  <eggert@cs.ucla.edu>
28696
28697         Tests for module 'getdomainname'.
28698         * modules/getdomainname-tests: New file.
28699         * tests/test-getdomainname.c: New file, based on
28700         tests/test-gethostname.c.
28701
28702 2010-11-28  Bruno Haible  <bruno@clisp.org>
28703             Paul Eggert  <eggert@cs.ucla.edu>
28704
28705         getdomainname: Use the system function when possible.
28706         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
28707         (getdomainname): Replace if needed. Provide the declaration if it is
28708         missing. Don't use _GL_CXXALIAS_SYS_CAST.
28709         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
28710         (getdomainname): When the system has getdomainname, call the system
28711         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
28712         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
28713         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
28714         found in libnsl. Look for the declaration also in <netdb.h>. Replace
28715         the function if its second argument is of type 'int' or if it is found
28716         in libnsl.
28717         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
28718         <sys/systeminfo.h> and sysinfo().
28719         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
28720         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28721         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
28722         HAVE_GETDOMAINNAME.
28723         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
28724         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
28725         * doc/glibc-functions/getdomainname.texi: Document the problems with
28726         the getdomainname declaration.
28727
28728 2010-11-28  Bruno Haible  <bruno@clisp.org>
28729
28730         sys_socket: Ensure ss_family field on AIX.
28731         * lib/sys_socket.in.h (ss_family): New macro definition.
28732         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
28733         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
28734         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
28735         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
28736         * modules/sys_socket (Makefile.am): Substitute
28737         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
28738         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
28739
28740 2010-11-27  Bruno Haible  <bruno@clisp.org>
28741
28742         readline: Improve configure output.
28743         * m4/readline.m4 (gl_FUNC_READLINE): Make the
28744         "checking for readline..." result understandable.
28745
28746 2010-11-27  Bruno Haible  <bruno@clisp.org>
28747
28748         *printf-posix: Detect a bug on Solaris 10/x86.
28749         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
28750         for floating-point output.
28751         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
28752         directive.
28753         * tests/test-snprintf-posix.h (test_function): Likewise.
28754         * tests/test-sprintf-posix.h (test_function): Likewise.
28755         * tests/test-vasprintf-posix.c (test_function): Likewise.
28756         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
28757         * doc/posix-functions/printf.texi: Likewise.
28758         * doc/posix-functions/snprintf.texi: Likewise.
28759         * doc/posix-functions/sprintf.texi: Likewise.
28760         * doc/posix-functions/vfprintf.texi: Likewise.
28761         * doc/posix-functions/vprintf.texi: Likewise.
28762         * doc/posix-functions/vsnprintf.texi: Likewise.
28763         * doc/posix-functions/vsprintf.texi: Likewise.
28764         * doc/glibc-functions/obstack_printf.texi: Likewise.
28765         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
28766
28767 2010-11-27  Bruno Haible  <bruno@clisp.org>
28768
28769         Fix link error when module libunistring-optional is in use.
28770         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
28771         * modules/striconveha-tests (Makefile.am): Likewise.
28772
28773 2010-11-27  Bruno Haible  <bruno@clisp.org>
28774
28775         regex: Mention link dependencies.
28776         * modules/regex (Link): New section.
28777         * modules/rpmatch (Link): Likewise.
28778         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
28779
28780 2010-11-27  Bruno Haible  <bruno@clisp.org>
28781
28782         ftoastr: Fix compilation error on Solaris.
28783         * lib/ftoastr.c: Include <config.h>.
28784
28785 2010-11-27  Bruno Haible  <bruno@clisp.org>
28786
28787         getloadavg: Update documentation.
28788         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
28789
28790 2010-11-27  Bruno Haible  <bruno@clisp.org>
28791
28792         sys_socket: Fix test whether the functions are declared.
28793         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
28794         not <sys/select.h>.
28795
28796 2010-11-27  Bruno Haible  <bruno@clisp.org>
28797
28798         getpass: Make sure to get system declaration on some platforms.
28799         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
28800         gl_USE_SYSTEM_EXTENSIONS.
28801         * modules/getpass (Depends-on): Add extensions.
28802
28803 2010-11-26  Bruno Haible  <bruno@clisp.org>
28804
28805         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
28806         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
28807         'iconv' module is present.
28808         (ICONV_CONST): New macro.
28809         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
28810         ICONV_CONST.
28811         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
28812         set ICONV_CONST.
28813         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
28814         here.
28815         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
28816         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
28817         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
28818         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
28819         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
28820         present.
28821
28822 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
28823
28824         ftoastr: comment fix
28825         * lib/ftoastr.c: "little" -> "little or no" in comment
28826
28827 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
28828
28829         stdint: port to GCC 4.3 + OSX + Octave
28830         On this platform, stdint.h is buggy and defines int64_t to long
28831         long int.  The replacement defined it to long int, causing
28832         problems with C++ style name mangling.  Instead, trust the system
28833         definition if INT64_MAX is defined, and likewise for the unsigned
28834         variant.   Problem reported by Jarno Rajahalme in
28835         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
28836         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
28837         and don't mess with int64_t and INT64_MAX in this case.
28838         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
28839
28840 2010-11-24  Bruno Haible  <bruno@clisp.org>
28841
28842         doc: Corrections regarding MacOS X 10.4 and 10.5.
28843         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
28844         MacOS X.
28845         Reported by Simon Josefsson.
28846
28847 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
28848
28849         Uninstall ".bin" files installed by relocwrapper.
28850         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
28851         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
28852         unless it is already there.
28853
28854 2010-11-21  Bruno Haible  <bruno@clisp.org>
28855
28856         Update for NetBSD 5.0.
28857         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28858         NetBSD; the test fails on NetBSD 5.0.
28859         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28860         about NetBSD.
28861
28862 2010-11-21  Bruno Haible  <bruno@clisp.org>
28863
28864         Update for HP-UX 11.23 and HP-UX 11.31.
28865         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
28866         HP-UX.
28867
28868 2010-11-21  Bruno Haible  <bruno@clisp.org>
28869
28870         Update for MacOS X 10.5.
28871         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28872         MacOS X; the test fails on MacOS X 10.5.8.
28873         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28874         about MacOS X.
28875
28876 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
28877
28878         bootstrap: add bootstrap_sync option.
28879         See discussion at
28880         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
28881         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
28882         * build-aux/bootstrap: Accept --bootstrap-sync to update
28883         bootstrap if it is not identical to the local gnulib's
28884         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
28885         enable this by default.  Accept --no-bootstrap-sync to disable
28886         it.
28887
28888 2010-11-20  Bruno Haible  <bruno@clisp.org>
28889
28890         Ensure that <features.h> is included before __GLIBC__ is tested.
28891         * lib/printf-parse.h: Include <features.h>.
28892         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
28893         Reported by Mike Frysinger <vapier@gentoo.org>.
28894
28895         Ensure that <features.h> is included before __GLIBC__ is tested.
28896         * lib/wchar.in.h: Include <features.h>.
28897         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
28898         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
28899         Reported by Mike Frysinger <vapier@gentoo.org>.
28900
28901         Ensure that <features.h> is included before __GLIBC__ is tested.
28902         * lib/arpa_inet.in.h: Include <features.h>.
28903         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
28904         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
28905         Reported by Mike Frysinger <vapier@gentoo.org>.
28906
28907         Ensure that <features.h> is included before __GLIBC__ is tested.
28908         * build-aux/link-warning.h: Include <features.h>.
28909         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
28910         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
28911         Reported by Mike Frysinger <vapier@gentoo.org>.
28912
28913         Ensure that <features.h> is included before __GLIBC__ is tested.
28914         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
28915         Reported by Mike Frysinger <vapier@gentoo.org>.
28916
28917 2010-11-20  Bruno Haible  <bruno@clisp.org>
28918
28919         memmem: Fix autoconf test.
28920         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
28921
28922 2010-11-20  Bruno Haible  <bruno@clisp.org>
28923
28924         Port to uClibc.
28925         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
28926         * lib/fcntl.in.h: Likewise.
28927         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
28928         * lib/mbrtowc.c (mbrtowc): Likewise.
28929         * lib/relocatable.c (find_shared_library_fullname): Likewise.
28930         * lib/strerror_r.c: Likewise.
28931         * lib/unistr/u8-strnlen.c: Likewise.
28932         * lib/vasnprintf.c (decimal_point_char): Likewise.
28933         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
28934         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
28935         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
28936         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
28937         * tests/test-sigaction.c (handler, main): Likewise.
28938         * lib/freading.h: Treat uClibc like a non-glibc platform.
28939         * lib/freading.c: Likewise.
28940         * lib/gettext.h: Likewise.
28941         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
28942         Likewise.
28943         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
28944         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
28945         * lib/propername.c (proper_name_utf8): Likewise.
28946         * lib/spawn.in.h: Likewise.
28947         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
28948         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
28949         mem_cd_iconveh_internal): Likewise.
28950         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
28951         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
28952         strstr, strcasestr): Likewise.
28953         * lib/unicodeio.c (unicode_to_mb): Likewise.
28954         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
28955         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
28956         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
28957         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
28958         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
28959         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
28960         * lib/unistr/u8-stpncpy.c: Likewise.
28961         * lib/vasnprintf.c (VASNPRINTF): Likewise.
28962         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
28963         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28964         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28965         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
28966         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
28967         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
28968         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
28969         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
28970         Likewise.
28971         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28972         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
28973         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
28974         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28975         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
28976         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28977         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
28978         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
28979         * tests/test-getopt.h (OPTIND_MIN): Likewise.
28980         * tests/test-striconveha.c (main): Likewise.
28981         * tests/test-vasnprintf-posix.c (test_function): Likewise.
28982         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
28983         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
28984         * doc/posix-functions/getline.texi: Likewise.
28985         Reported by Mike Frysinger <vapier@gentoo.org>.
28986
28987 2010-11-20  Bruno Haible  <bruno@clisp.org>
28988
28989         nproc: Fix condition.
28990         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
28991         HAVE_PTHREAD_AFFINITY_NP.
28992
28993 2010-11-20  Bruno Haible  <bruno@clisp.org>
28994
28995         Fix a comment.
28996         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
28997
28998 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
28999
29000         ftoastr: don't assume snprintf
29001         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
29002         Implement a subset of snprintf here, by using sprintf safely.
29003         * modules/ftoastr (Depends-on): Remove snprintf.
29004
29005 2010-11-19  Jim Meyering  <meyering@redhat.com>
29006
29007         test-rename.h: fix compilation failure
29008         * tests/test-rename.h (test_rename): Add omitted "}".
29009
29010 2010-11-17  Jim Meyering  <meyering@redhat.com>
29011
29012         maint.mk: add a URL discussing the no-@acronym policy
29013         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
29014
29015 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
29016
29017         ftoastr: depend on snprintf, improve comments
29018         * lib/ftoastr.c: Also mention Loitsch's draft.
29019         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
29020         needed in the current implementation, but it might simplify
29021         speeding up the code later.
29022         * modules/ftoastr: Depend on snprintf; this improves portability.
29023         Suggested by Bruno Haible in the same email.
29024
29025         ftoastr: port to hosts lacking strtof and strtold
29026         Problem reported by Bruno Haible in
29027         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
29028         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
29029         environment and strtold (and presumably strtof) are not available.
29030         * modules/ftoastr (Files): Add m4/c-strtod.m4.
29031         (configure.ac): Require gl_C99_STRTOLD.
29032
29033 2010-11-18  Bruno Haible  <bruno@clisp.org>
29034
29035         c-strtold: Avoid link error on AIX 7.
29036         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
29037         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
29038         (gl_C_STRTOLD): Test whether strtold_l exists.
29039         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
29040
29041 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
29042
29043         intprops: new macro INT_BITS_STRLEN_BOUND
29044         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
29045         ftoastr.h.  This exposes an internal of intprops.h that was formerly
29046         not exposed.  Also, it uses a slightly tighter bound than before;
29047         though this makes no practical difference, we might as well be as
29048         tight as we easily can.
29049
29050         ftoastr: new module, for lossless conversion of floats to short strings
29051         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
29052         * modules/ftoastr: New files.
29053
29054 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
29055
29056         bootstrap: port to Solaris sed
29057         * build-aux/bootstrap (get_version): Port to Solaris sed.
29058         See Ralf Wildenhues's note in
29059         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
29060
29061 2010-11-14  Jim Meyering  <meyering@redhat.com>
29062
29063         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
29064         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
29065         and move definition closer to sole use.
29066
29067 2010-11-13  Jim Meyering  <meyering@redhat.com>
29068
29069         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
29070         Now we require at least autoconf-2.59, which means the work-around
29071         is no longer needed.
29072         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
29073         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
29074         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
29075         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
29076         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
29077
29078 2010-11-13  Bruno Haible  <bruno@clisp.org>
29079
29080         rename, renameat: Avoid test failures at NFS mounted locations.
29081         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
29082         functions.
29083         (test_rename): Use assert_nonexistent.
29084         * tests/test-rename.c: Include <dirent.h>.
29085         * tests/test-renameat.c: Likewise.
29086         Reported by Gary V. Vaughan <gary@gnu.org>.
29087
29088         rename, renameat: Document Linux bug with NFS
29089         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
29090         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
29091         * doc/posix-functions/renameat.texi: Likewise.
29092         Suggested by Eric Blake.
29093
29094 2010-11-13  Bruno Haible  <bruno@clisp.org>
29095
29096         rename test: Add comments.
29097         * tests/test-rename.h (test_rename): Add structure and comments.
29098
29099 2010-11-13  Eric Blake  <eblake@redhat.com>
29100
29101         maintainer-makefile: cover a few more files
29102         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
29103         scripts generated within C files, for libvirt.
29104
29105 2010-11-13  Bruno Haible  <bruno@clisp.org>
29106
29107         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
29108         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
29109         character, return the number of bytes that belong together, not always
29110         1.
29111         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
29112         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
29113         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
29114         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
29115         number of bytes of an invalid character.
29116         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
29117         (main): Invoke it.
29118         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
29119         results.
29120         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
29121         malformed byte sequences.
29122         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
29123         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
29124         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
29125         Reported by Ben Pfaff and Paolo Bonzini.
29126
29127 2010-11-13  Bruno Haible  <bruno@clisp.org>
29128
29129         openat: Work around glibc bug with fchownat() and empty file names.
29130         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
29131         (gl_FUNC_FCHOWNAT): Invoke it.
29132         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
29133         * doc/posix-functions/fchownat.texi: Document the glibc bug.
29134         Reported by Gary V. Vaughan <gary@gnu.org>.
29135
29136 2010-11-13  Bruno Haible  <bruno@clisp.org>
29137
29138         openat: Ensure autoconf macro ordering.
29139         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
29140         gl_USE_SYSTEM_EXTENSIONS.
29141         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
29142
29143 2010-11-13  Bruno Haible  <bruno@clisp.org>
29144
29145         Update comments.
29146         * lib/unistr/u8-check.c: Update file name in comments.
29147         * lib/unistr/u8-mblen.c: Likewise.
29148         * lib/unistr/u8-prev.c: Likewise.
29149         * lib/unistr/u8-strmblen.c: Likewise.
29150         * lib/unistr/u8-strmbtouc.c: Likewise.
29151
29152 2010-11-13  Jim Meyering  <meyering@redhat.com>
29153
29154         tests: avoid test failure on Solaris 10 due to lack of PATH export
29155         * tests/test-update-copyright.sh: Don't forget to export PATH.
29156
29157         init.sh: ensure that IFS is defined, just in case...
29158         * tests/init.sh (setup_): Ensure that IFS is defined,
29159         so that saving and restoring it works as expected.  This
29160         appears to be useful at least for an old version of dash
29161         from a long time ago (RH 6).  See here for details:
29162         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
29163
29164         maint.mk: tighten "test a == b" check
29165         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
29166         test to files that contain something like #!/bin/sh.
29167         Without this, coreutils would get two false positives in
29168         the comments of C source files.
29169
29170 2010-11-12  Eric Blake  <eblake@redhat.com>
29171
29172         bootstrap: fix typo in previous attempt
29173         * build-aux/bootstrap (buildreq): Correct the grouping.
29174         Reported by Paul Eggert.
29175
29176         maintainer-makefile: prohibit test x == x
29177         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
29178         Based on a report by Matthias Bolte.
29179
29180         bootstrap: allow FreeBSD gzip
29181         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
29182         which has no '.' and goes to stderr.
29183         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
29184         Reported by Matthias Bolte.
29185
29186         maintainer-makefile: check for i18n setup
29187         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
29188         will likely work.
29189
29190 2010-11-12  Bruno Haible  <bruno@clisp.org>
29191
29192         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
29193         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
29194         * lib/nanosleep.c (nanosleep): Likewise.
29195
29196 2010-11-11  Bruno Haible  <bruno@clisp.org>
29197
29198         fcntl-h: Fix for use of C++ on glibc systems.
29199         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
29200         also on glibc systems in C++ mode.
29201         Reported by Gary V. Vaughan <gary@gnu.org>.
29202
29203 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
29204
29205         mknod: avoid false failure with dash
29206         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
29207
29208 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
29209
29210         unlink: Fix "is it should" typo in diagnostic.
29211         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
29212         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
29213
29214 2010-11-11  Bruno Haible  <bruno@clisp.org>
29215
29216         Tests for module 'strerror_r-posix'.
29217         * modules/strerror_r-posix-tests: New file.
29218         * tests/test-strerror_r.c: New file.
29219         * tests/test-string-c++.cc: Check the signature of strerror_r.
29220
29221         New module 'strerror_r-posix'.
29222         * lib/string.in.h (strerror_r): New declaration.
29223         * lib/strerror_r.c: New file.
29224         * m4/strerror_r.m4: New file.
29225         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
29226         of strerror_r.
29227         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
29228         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
29229         * modules/strerror_r-posix: New file.
29230         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
29231         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
29232         * doc/posix-functions/strerror_r.texi: Mention the new module and the
29233         portability problems.
29234
29235 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
29236
29237         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
29238         line is also considered for output. Quoted function name in shell
29239         command, so temporary files for functions like MyClass::operator()
29240         are removed correctly without errors.
29241
29242 2010-11-09  Bruno Haible  <bruno@clisp.org>
29243
29244         * doc/posix-functions/strerror.texi: List more failing platforms.
29245
29246         * doc/posix-functions/strerror.texi: Add a comment.
29247
29248 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
29249
29250         fdopendir: fix bug on MacOS X when low on file descriptors
29251
29252         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
29253         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
29254         All callers changed.
29255         (fdopendir): Invoke save_cwd at the top level, not after using
29256         multiple dup() calls to use up file descriptors.  Then retry
29257         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
29258         less than the maximum number of open file descriptors, because
29259         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
29260         on Mac OS X 10.6.4 for tar 1.24
29261         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
29262         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
29263         and for tar 1.25
29264         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
29265
29266 2010-11-07  Bruno Haible  <bruno@clisp.org>
29267
29268         vasnprintf: Support I flag on glibc systems.
29269         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
29270         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
29271         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
29272         snprintf function.
29273         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
29274         glibc systems.
29275         * tests/test-vasnprintf-posix3.c: New file.
29276         * modules/vasnprintf-posix-tests (Files): Add it.
29277         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
29278
29279 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
29280
29281         [html] Fix copy/paste bug: Use unique name for compiler warnings.
29282         * MODULES.html.sh: For compiler warnings, use name
29283         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
29284
29285 2010-11-05  Eric Blake  <eblake@redhat.com>
29286
29287         ceil, floor: avoid spurious failure with icc
29288         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
29289         [denormals-as-zero] when optimizing without -mieee-fp option.
29290         * tests/test-floorf2.c (floorf_reference): Likewise.
29291         * tests/test-ceilf1.c (dummy): New function.
29292         (main): Use it to outsmart icc's optimization.
29293         * tests/test-floorf1.c (dummy, main): Likewise.
29294
29295         tests: require working signbit
29296         * modules/ceilf-tests (Depends-on): Add signbit.
29297         * modules/ceill-tests (Depends-on): Likewise.
29298         * modules/floorf-tests (Depends-on): Likewise.
29299         * modules/floorl-tests (Depends-on): Likewise.
29300         * modules/round-tests (Depends-on): Likewise.
29301         * modules/roundf-tests (Depends-on): Likewise.
29302         * modules/roundl-tests (Depends-on): Likewise.
29303         * modules/trunc-tests (Depends-on): Likewise.
29304         * modules/truncf-tests (Depends-on): Likewise.
29305         * modules/truncl-tests (Depends-on): Likewise.
29306
29307         strtod: work around icc bug
29308         * lib/strtod.c (minus_zero): Define to working value.
29309         (strtod): Use it to avoid icc bug.
29310
29311         copysign: enhance tests
29312         * modules/copysign-tests (Files): Add minus-zero.h.
29313         * tests/test-copysign.c (main): Also test zeros.
29314
29315 2010-11-04  Eric Blake  <eblake@redhat.com>
29316
29317         ceil, floor, round, trunc: enhance tests of -0
29318         * tests/test-ceilf1.c (main): Ensure correct sign of result.
29319         * tests/test-ceill.c (main): Likewise.
29320         * tests/test-floorf1.c (main): Likewise.
29321         * tests/test-floorl.c (main): Likewise.
29322         * tests/test-round1.c (main): Likewise.
29323         * tests/test-roundf1.c (main): Likewise.
29324         * tests/test-roundl.c (main): Likewise.
29325         * tests/test-trunc1.c (main): Likewise.
29326         * tests/test-truncf1.c (main): Likewise.
29327         * tests/test-truncl.c (main): Likewise.
29328
29329 2010-11-04  Eric Blake  <eblake@redhat.com>
29330
29331         frexp, tests: work around ICC bug with -zero
29332         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
29333         works with more compilers.
29334         * tests/minus-zero.h: New file.
29335         * modules/ceilf-tests (Files): Include it.
29336         * modules/ceill-tests (Files): Likewise.
29337         * modules/floorf-tests (Files): Likewise.
29338         * modules/floorl-tests (Files): Likewise.
29339         * modules/frexp-nolibm-tests (Files): Likewise.
29340         * modules/frexp-tests (Files): Likewise.
29341         * modules/frexpl-nolibm-tests (Files): Likewise.
29342         * modules/frexpl-tests (Files): Likewise.
29343         * modules/isnan-tests (Files): Likewise.
29344         * modules/isnand-nolibm-tests (Files): Likewise.
29345         * modules/isnand-tests (Files): Likewise.
29346         * modules/isnanf-nolibm-tests (Files): Likewise.
29347         * modules/isnanf-tests (Files): Likewise.
29348         * modules/isnanl-nolibm-tests (Files): Likewise.
29349         * modules/isnanl-tests (Files): Likewise.
29350         * modules/round-tests (Files): Likewise.
29351         * modules/roundf-tests (Files): Likewise.
29352         * modules/roundl-tests (Files): Likewise.
29353         * modules/ldexpl-tests (Files): Likewise.
29354         * modules/signbit-tests (Files): Likewise.
29355         * modules/snprintf-posix-tests (Files): Likewise.
29356         * modules/sprintf-posix-tests (Files): Likewise.
29357         * modules/strtod-tests (Files): Likewise.
29358         * modules/trunc-tests (Files): Likewise.
29359         * modules/truncf-tests (Files): Likewise.
29360         * modules/truncl-tests (Files): Likewise.
29361         * modules/vsnprintf-posix-tests (Files): Likewise.
29362         * modules/vsprintf-posix-tests (Files): Likewise.
29363         * modules/vasnprintf-posix-tests (Files): Likewise.
29364         * modules/vasprintf-posix-tests (Files): Likewise.
29365         * tests/test-ceilf1.c (main): Use it.
29366         * tests/test-ceill.c (main): Likewise.
29367         * tests/test-floorf1.c (main): Likewise.
29368         * tests/test-floorl.c (main): Likewise.
29369         * tests/test-frexp.c (main): Likewise.
29370         * tests/test-frexpl.c (main): Likewise.
29371         * tests/test-isnan.c (main): Likewise.
29372         * tests/test-isnand.h (main): Likewise.
29373         * tests/test-isnanf.h (main): Likewise.
29374         * tests/test-isnanl.h (main): Likewise.
29375         * tests/test-ldexpl.c (main): Likewise.
29376         * tests/test-round.c (main): Likewise.
29377         * tests/test-roundf.c (main): Likewise.
29378         * tests/test-roundl.c (main): Likewise.
29379         * tests/test-signbit.c (test_signbitf, test_signbitd)
29380         (test_signbitl): Likewise.
29381         * tests/test-snprintf-posix.h (test_function): Likewise.
29382         * tests/test-sprintf-posix.h (test_function): Likewise.
29383         * tests/test-strtod.c (main): Likewise.
29384         * tests/test-trunc1.c (main): Likewise.
29385         * tests/test-truncf1.c (main): Likewise.
29386         * tests/test-truncl.c (main): Likewise.
29387
29388         isnanl: work around icc bug
29389         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
29390
29391 2010-11-03  Eric Blake  <eblake@redhat.com>
29392
29393         tests: fix compiler warnings
29394         * tests/test-getopt.h (test_getopt): Fix condition.
29395         * tests/test-getopt_long.h (test_getopt_long): Likewise.
29396         * tests/test-pipe2.c (main): Likewise.
29397         * tests/test-quotearg-simple.c (main): Avoid icc warning.
29398
29399         utimens: fix broken m4 test
29400         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
29401
29402 2010-10-28  Bruno Haible  <bruno@clisp.org>
29403
29404         posix_spawn*, getdtablesize: Relax license.
29405         * modules/posix_spawn (License): Change to LGPLv2+.
29406         * modules/posix_spawnp (License): Likewise.
29407         * modules/posix_spawn-internal (License): Likewise.
29408         * modules/posix_spawnattr_init (License): Likewise.
29409         * modules/posix_spawnattr_getflags (License): Likewise.
29410         * modules/posix_spawnattr_setflags (License): Likewise.
29411         * modules/posix_spawnattr_getpgroup (License): Likewise.
29412         * modules/posix_spawnattr_setpgroup (License): Likewise.
29413         * modules/posix_spawnattr_getschedparam (License): Likewise.
29414         * modules/posix_spawnattr_setschedparam (License): Likewise.
29415         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
29416         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
29417         * modules/posix_spawnattr_getsigdefault (License): Likewise.
29418         * modules/posix_spawnattr_setsigdefault (License): Likewise.
29419         * modules/posix_spawnattr_getsigmask (License): Likewise.
29420         * modules/posix_spawnattr_setsigmask (License): Likewise.
29421         * modules/posix_spawnattr_destroy (License): Likewise.
29422         * modules/posix_spawn_file_actions_init (License): Likewise.
29423         * modules/posix_spawn_file_actions_addclose (License): Likewise.
29424         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
29425         * modules/posix_spawn_file_actions_addopen (License): Likewise.
29426         * modules/posix_spawn_file_actions_destroy (License): Likewise.
29427         * modules/getdtablesize (License): Likewise.
29428         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
29429
29430 2010-10-26  Bruno Haible  <bruno@clisp.org>
29431
29432         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
29433         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
29434         Cygwin and mingw.
29435         Suggested by Eric Blake.
29436
29437 2010-10-26  Bruno Haible  <bruno@clisp.org>
29438
29439         stdio: Work around compilation error due to renameat() on Solaris 10.
29440         * lib/stdio.in.h: Include <unistd.h> on Solaris.
29441         * lib/renameat.c: Don't include <unistd.h> here.
29442         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
29443         Reported by Paul Eggert and Eric Blake.
29444
29445 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
29446
29447         renameat: port to Solaris 10, which declares renameat in unistd.h
29448
29449         * lib/renameat.c: Include unistd.h before stdio.h, because
29450         Solaris 10 declares renameat in unistd.h.  Problem encountered
29451         when building GNU tar 1.24 on Solaris 10.
29452
29453 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
29454
29455         fdopendir: fix C89 compilation
29456         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
29457         compilers.
29458
29459 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
29460
29461         inttostr: simplify by removing unnecessary redundancy
29462         * lib/anytostr.c: Don't include verify.h.
29463         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
29464         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
29465         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
29466         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
29467         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
29468         Likewise.
29469         * modules/inttostr (Depends-on): Remove 'verify'.
29470
29471 2010-10-23  Bruno Haible  <bruno@clisp.org>
29472
29473         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
29474         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
29475         Reported by Eric Blake.
29476
29477 2010-10-23  Bruno Haible  <bruno@clisp.org>
29478
29479         Tests: Fix LOCALE_JA on MirBSD 10.
29480         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
29481         to an UTF-8 locale.
29482         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
29483         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
29484         Reported by Eric Blake.
29485
29486 2010-10-21  Bruno Haible  <bruno@clisp.org>
29487
29488         nl_langinfo test: Avoid test failure on NetBSD 5.
29489         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
29490         Reported by Eric Blake.
29491
29492 2010-10-21  Eric Blake  <eblake@redhat.com>
29493
29494         c-stack: work around libsigsegv 2.8 bug
29495         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
29496         overflow on at least PowerPC64.
29497
29498 2010-10-17  Bruno Haible  <bruno@clisp.org>
29499
29500         userspec: Drop redundant file.
29501         * modules/userspec (Files): Remove lib/inttostr.h.
29502
29503 2010-10-17  Bruno Haible  <bruno@clisp.org>
29504
29505         nl_langinfo tests: Silence some warnings.
29506         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
29507         Reported by Jim Meyering.
29508
29509 2010-10-17  Bruno Haible  <bruno@clisp.org>
29510
29511         Make use of GCC's attribute __alloc_size__.
29512         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
29513         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
29514         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
29515         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
29516         __alloc_size__.
29517         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
29518         Suggested by Jim Meyering.
29519
29520 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
29521
29522         bootstrap: anchor .gitignore entries.
29523         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
29524         with...
29525         (insert_vc_ignore): ... this new function, which prepends `/' to
29526         all .gitignore entries before passing them to
29527         insert_sorted_if_absent.
29528
29529 2010-10-16  Bruno Haible  <bruno@clisp.org>
29530
29531         nextafter: Fix configure check.
29532         * modules/nextafter (configure.ac): Correct expected prototype.
29533
29534 2010-10-16  Bruno Haible  <bruno@clisp.org>
29535
29536         termios: Update documentation.
29537         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
29538
29539 2010-10-16  Bruno Haible  <bruno@clisp.org>
29540
29541         tests: Make them compile with TinyCC.
29542         * tests/test-strstr.c (main): Remove parentheses around array
29543         initializer.
29544
29545 2010-10-15  Eric Blake  <eblake@redhat.com>
29546
29547         ignore-value: make header idempotent
29548         * lib/ignore-value.h: Add double-inclusion guards.
29549         Reported by Stefan Berger.
29550
29551 2010-10-15  Jim Meyering  <meyering@redhat.com>
29552
29553         GNUmakefile: handle "stable" target, not "major"
29554         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
29555         lists in maint.mk and announce-gen.  Without this, "make stable"
29556         would fail to ensure that $(VERSION) is up to date.
29557
29558 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
29559
29560         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
29561         & co.
29562
29563 2010-10-14  Bruno Haible  <bruno@clisp.org>
29564
29565         vasnprintf: Don't set errno to 0.
29566         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
29567         block that sets it to 0.
29568         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
29569
29570 2010-10-14  Bruno Haible  <bruno@clisp.org>
29571
29572         socketlib: Fix.
29573         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
29574         gl_PREREQ_SYS_H_WINSOCK2.
29575         Reported by Ian Beckwith <ianb@erislabs.net>.
29576
29577 2010-10-13  Jim Meyering  <meyering@redhat.com>
29578
29579         test-select-stdin.c: avoid warn_unused_result warnings
29580         * tests/test-select-stdin.c: Include "macros.h".
29581         ASSERT that read and fflush succeed.
29582
29583 2010-10-13  Jim Meyering  <meyering@redhat.com>
29584
29585         git-version-gen: do require git-VC'd files in cwd
29586         * build-aux/git-version-gen: Reject a git version string
29587         if there are no commits associated with the current directory.
29588         This avoids an unlikely false-positive (unrelated dir whose parent
29589         repository also contains a tag matching v*), as pointed out
29590         by Giuseppe Scrivano in
29591         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
29592
29593 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
29594
29595         argv-iter: omit nonconforming declaration
29596         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
29597         enum arg_iter_err declaration, which doesn't conform to C99.
29598         Solaris 10 cc warns about this.
29599
29600 2010-10-13  Eric Blake  <eblake@redhat.com>
29601
29602         termios: fix compilation on mingw
29603         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
29604         (gl_TERMIOS_H): Adjust it on mingw.
29605         * modules/termios (Makefile.am): Substitute new key.
29606         * lib/termios.in.h (includes): Make include_next conditional.
29607         * doc/posix-headers/termios.texi (termios.h): Update
29608         documentation.
29609         Reported by Daniel P. Berrange.
29610
29611 2010-10-13  Jim Meyering  <meyering@redhat.com>
29612
29613         git-version-gen: don't require that .git/ be in the current dir
29614         * build-aux/git-version-gen: Adjust this script so that it works
29615         when run from any working directory beneath the top-level .git/-
29616         containing directory.  Inspired by a patch from Giuseppe Scrivano,
29617         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
29618
29619         test-select: avoid warn_unused_result warnings
29620         * tests/test-select.c: Include "macros.h".
29621         ASSERT that each call to read, write, and pipe succeeds.
29622         While not technically required, also check each "close".
29623         * modules/select-tests (Files): Add tests/macros.h.
29624
29625         test-symlinkat: remove declaration of unused local
29626         * tests/test-symlinkat.c (main): Remove unused local, "buf".
29627
29628         test-inttostr: avoid shadowing warnings
29629         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
29630         and use malloc rather than the stack for the same reason as
29631         mentioned in the comment justifying the other allocation.
29632
29633 2010-10-11  Bruno Haible  <bruno@clisp.org>
29634
29635         stdlib: Allow multiple gnulib generated replacements to coexist.
29636         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
29637         Reported by Sam Steingold <sds@gnu.org>.
29638
29639 2010-10-11  Jim Meyering  <meyering@redhat.com>
29640
29641         fix a documentation typo
29642         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
29643
29644 2010-10-11  Eric Blake  <eblake@redhat.com>
29645
29646         futimens: work around Solaris 11 bug
29647         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
29648         * tests/test-futimens.h (test_futimens): Enhance, rather than
29649         weaken test.
29650         * doc/posix-functions/futimens.texi (futimens): Document the bug.
29651
29652 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
29653
29654         Indentation.
29655         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
29656         higher-level operators more to the left.
29657
29658 2010-10-11  Jim Meyering  <meyering@redhat.com>
29659
29660         test-futimens: avoid unwarranted test failure on Solaris 5.11
29661         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
29662         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
29663         because it tries to dereference the NULL name argument.
29664
29665 2010-10-11  Bruno Haible  <bruno@clisp.org>
29666
29667         Indentation.
29668         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
29669         indentation.
29670
29671 2010-10-11  Jim Meyering  <meyering@redhat.com>
29672
29673         spawn.in.h: make indentation consistent with parentheses
29674         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
29675         Make indentation consistent with parentheses.
29676
29677 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
29678
29679         Fix mismatched parens in previous commit
29680         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
29681         parens.
29682
29683 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
29684
29685         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
29686
29687         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
29688         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
29689         * lib/malloca.c: Include "verify.h".
29690         (verify1): Remove, replacing with a verify call.
29691         * lib/relocwrapper.c (verify1): Likewise.
29692         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
29693         Likewise.
29694         * modules/malloca (Depends-on): Add 'verify'.
29695         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
29696         * modules/vasnprintf (Depends-on): Add 'verify'.
29697         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
29698         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
29699         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
29700         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
29701         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
29702         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
29703         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
29704
29705         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
29706
29707         Formerly the style was sometimes 2*X - 1, because the C standard
29708         was wrongly thought to disallow ?: in integral constant expressions.
29709         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
29710         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
29711         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
29712         * lib/stdint.in.h (_verify_intmax_size): Likewise.
29713         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
29714         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
29715         verify that time_t cannot be floating.
29716
29717 2010-10-08  Eric Blake  <eblake@redhat.com>
29718
29719         time: enforce recent POSIX ruling that time_t is integral
29720         * lib/time.in.h (__time_t_must_be_integral): Detect any
29721         problematic systems, allowing the rest of gnulib to assume POSIX.
29722
29723 2010-10-08  Jim Meyering  <meyering@redhat.com>
29724
29725         fdopendir: fix a bug on systems lacking openat and /proc support
29726         OpenBSD 4.7 is one such system.  The most noticeable effect was
29727         failure of any application making nontrivial use of fts: rm, du,
29728         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
29729           ./rm: traversal failed: `a': Bad file descriptor
29730         Debugging that, you see that even though FD 6 was closed just
29731         prior to the opendir call in fd_clone_opendir, its resulting
29732         dir->dd_fd was 8, rather than the expected value of 6:
29733
29734         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
29735         93                close (fd);
29736         (gdb) n
29737         94                dir = fd_clone_opendir (dupfd);
29738         (gdb) n
29739         95                saved_errno = errno;
29740         (gdb) p dir->dd_fd
29741         $11 = 8
29742
29743         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
29744         The problem is that on OpenBSD, fd_clone_opendir has to resort
29745         to using the old-style save/restore CWD mechanism, due to its
29746         lack of openat/proc support, and *that* would steal the FD (6)
29747         that opendir was supposed to use.
29748
29749         The fix is to squirrel away the desired FD so that save_cwd uses a
29750         different one, and then free the dest FD right before calling opendir.
29751         That guarantees opendir will use the required file descriptor.
29752
29753         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
29754
29755 2010-10-08  Bruno Haible  <bruno@clisp.org>
29756
29757         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
29758         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
29759
29760 2010-10-08  Bruno Haible  <bruno@clisp.org>
29761
29762         nanosleep: Make replacement POSIX compliant.
29763         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
29764         is out of range.
29765         Reported by Jim Meyering.
29766
29767 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
29768
29769         bootstrap: add hook for altering gnulib.mk, for Bison
29770         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
29771         the Bison bootstrapping process can rewrite file names and variables
29772         in this file before later parts of 'bootstrap' use the file.
29773         Bison wants to include lib/gnulib.mk from the top-level makefile,
29774         so it needs the file names in this file to be relative to the top
29775         level, not relative to lib; plus it needs variable names to be
29776         rewritten.
29777         (slurp): Use the new function.
29778
29779         bootstrap: reformat for readability
29780         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
29781
29782 2010-10-08  Eric Blake  <eblake@redhat.com>
29783
29784         docs: update cygwin progress
29785         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
29786         1.7.7.
29787         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
29788         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
29789         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
29790         * doc/posix-functions/carg.texi (carg): Likewise.
29791         * doc/posix-functions/cargf.texi (cargf): Likewise.
29792         * doc/posix-functions/casin.texi (casin): Likewise.
29793         * doc/posix-functions/casinf.texi (casinf): Likewise.
29794         * doc/posix-functions/casinh.texi (casinh): Likewise.
29795         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
29796         * doc/posix-functions/catan.texi (catan): Likewise.
29797         * doc/posix-functions/catanf.texi (catanf): Likewise.
29798         * doc/posix-functions/catanh.texi (catanh): Likewise.
29799         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
29800         * doc/posix-functions/ccos.texi (ccos): Likewise.
29801         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
29802         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
29803         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
29804         * doc/posix-functions/cexp.texi (cexp): Likewise.
29805         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
29806         * doc/posix-functions/cimag.texi (cimag): Likewise.
29807         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
29808         * doc/posix-functions/clog.texi (clog): Likewise.
29809         * doc/posix-functions/clogf.texi (clogf): Likewise.
29810         * doc/posix-functions/conj.texi (conj): Likewise.
29811         * doc/posix-functions/conjf.texi (conjf): Likewise.
29812         * doc/posix-functions/cpow.texi (cpow): Likewise.
29813         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
29814         * doc/posix-functions/cproj.texi (cproj): Likewise.
29815         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
29816         * doc/posix-functions/creal.texi (creal): Likewise.
29817         * doc/posix-functions/crealf.texi (crealf): Likewise.
29818         * doc/posix-functions/csin.texi (csin): Likewise.
29819         * doc/posix-functions/csinf.texi (csinf): Likewise.
29820         * doc/posix-functions/csinh.texi (csinh): Likewise.
29821         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
29822         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
29823         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
29824         * doc/posix-functions/ctan.texi (ctan): Likewise.
29825         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
29826         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
29827         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
29828         * doc/posix-headers/complex.texi (complex.h): Likewise.
29829
29830 2010-10-07  Jim Meyering  <meyering@redhat.com>
29831
29832         parse-datetime: avoid compilation failure on OpenBSD 4.7
29833         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
29834         This works around a compilation failure on OpenBSD 4.7:
29835         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
29836
29837 2010-10-07  Eric Blake  <eblake@redhat.com>
29838
29839         docs: update cygwin progress
29840         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
29841         1.7.6.
29842         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
29843         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
29844         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
29845         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
29846         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
29847         Likewise.
29848         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
29849         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
29850         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
29851         Likewise.
29852         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
29853         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
29854         Likewise.
29855         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
29856         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
29857         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
29858         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
29859         Likewise.
29860         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
29861         Likewise.
29862         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
29863
29864         docs: update parse-datetime history
29865         * doc/parse-datetime.texi (Authors of parse_datetime): Better
29866         documentation of this function's history and alternatives.
29867
29868         cygwin: use more robust version check
29869         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
29870         exclude an eventual cygwin 1.9.1.
29871         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29872         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29873         (gl_FUNC_STRCASESTR): Likewise.
29874         Reported by Bruno Haible.
29875
29876 2010-10-06  Bruno Haible  <bruno@clisp.org>
29877
29878         string, sys_select: Avoid #including large headers unless necessary.
29879         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
29880         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
29881         OSF/1, BeOS, Haiku.
29882         Reported by Jim Meyering.
29883
29884 2010-10-05  Eric Blake  <eblake@redhat.com>
29885
29886         memmem, strstr, strcasestr: fix bug with long periodic needle
29887         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
29888         periodic needle having false positive.
29889         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
29890         and cygwin 1.7.7.
29891         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
29892         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29893         (gl_FUNC_STRCASESTR): Likewise.
29894         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29895         * tests/test-memmem.c (main): Expose the bug.
29896         * tests/test-strcasestr.c (main): Likewise.
29897         * tests/test-strstr.c (main): Likewise.
29898         * tests/test-c-strcasestr.c (main): Likewise.
29899         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
29900         * doc/posix-functions/strstr.texi (strstr): Likewise.
29901         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
29902         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
29903
29904 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29905
29906         parse-datetime: do some more renaming
29907         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
29908         parse_datetime, not get_date.  Mention the renaming.
29909         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
29910         in comments.
29911         * m4/bison.m4: Likewise.
29912
29913 2010-10-05  Eric Blake  <eblake@redhat.com>
29914
29915         parse-datetime: better name than get_date
29916         * NEWS: Reword the deprecation notice.
29917         * modules/get_date: Rename to modules/parse-datetime.
29918         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
29919         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
29920         * lib/get_date.y: Rename to lib/parse-datetime.y.
29921         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
29922         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
29923         * doc/getdate.texi: Provide fallback wrapper.
29924         * lib/getdate.h: Move guts, and wrap...
29925         * lib/parse-datetime.h: ...new file.
29926         * lib/parse-datetime.y (get_date): Rename...
29927         (parse_datetime): ...to this.
29928         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
29929         (gl_PARSE_DATETIME): ...to this.
29930         * doc/posix-functions/getdate.texi (get_date): Provide fallback
29931         documentation.
29932         * modules/getdate (Files): Provide fallback docs and header.
29933         (Notice, Depends-on): Update references.
29934         * tests/test-parse-datetime.c: Likewise.
29935         * DEPENDENCIES: Likewise.
29936         * MODULES.html.sh (Date and time <time.h>): Likewise.
29937         * doc/parse-datetime.texi (Date input formats)
29938         (Authors of parse_datetime): Likewise.
29939         * modules/parse-datetime (Files, configure.ac, Makefile.am)
29940         (Include): Likewise.
29941         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
29942         * gnulib-tool: Likewise.
29943         * m4/bison.m4 (gl_BISON): Likewise.
29944         Suggested by Bruno Haible.
29945
29946 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29947
29948         more ports to Solaris tr, which needs [] around ranges
29949         * gnulib-tool: Solaris tr needs [] around ranges.
29950         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
29951         * tests/test-pipe-filter-gi1.c (main): Likewise.
29952         * tests/test-pipe-filter-ii1.c (main): Likewise.
29953
29954 2010-10-05  Eric Blake  <eblake@redhat.com>
29955
29956         bootstrap: fix Solaris regression
29957         * build-aux/bootstrap (check_versions): Solaris tr still needs []
29958         around ranges.
29959         Reported by Pádraig Brady.
29960
29961         bootstrap: work with pkg-config
29962         * build-aux/bootstrap (check_versions): Also transliterate - in
29963         prerequisite name.
29964         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
29965         prerequisites that were already found, to avoid confusion.
29966         Reported by Justin Clift.
29967
29968         faccessat: remove unused wrappers
29969         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
29970         presence of these wrappers dragged in -lgen on Solaris.
29971         Reported by Clemens Brogi; fix suggested by Paul Eggert.
29972
29973 2010-10-05  Jim Meyering  <meyering@redhat.com>
29974
29975         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
29976         * Makefile (sc_pragma_columns): New syntax-check rule.
29977
29978 2010-10-04  Bruno Haible  <bruno@clisp.org>
29979
29980         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
29981         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
29982         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
29983         Reported by Bruce Korb and Eric Blake.
29984
29985 2010-10-04  Bruno Haible  <bruno@clisp.org>
29986
29987         threadlib: Make option --with-libpth-prefix work.
29988         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
29989         use $LIBPTH, not just -lpth.
29990
29991 2010-10-04  Bruno Haible  <bruno@clisp.org>
29992
29993         Avoid line length limitation from HP NonStop system header files.
29994         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
29995         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
29996         * lib/ctype.in.h: Likewise.
29997         * lib/dirent.in.h: Likewise.
29998         * lib/errno.in.h: Likewise.
29999         * lib/fcntl.in.h: Likewise.
30000         * lib/float.in.h: Likewise.
30001         * lib/getopt.in.h: Likewise.
30002         * lib/iconv.in.h: Likewise.
30003         * lib/inttypes.in.h: Likewise.
30004         * lib/langinfo.in.h: Likewise.
30005         * lib/locale.in.h: Likewise.
30006         * lib/math.in.h: Likewise.
30007         * lib/netdb.in.h: Likewise.
30008         * lib/netinet_in.in.h: Likewise.
30009         * lib/poll.in.h: Likewise.
30010         * lib/pthread.in.h: Likewise.
30011         * lib/pty.in.h: Likewise.
30012         * lib/sched.in.h: Likewise.
30013         * lib/se-selinux.in.h: Likewise.
30014         * lib/search.in.h: Likewise.
30015         * lib/signal.in.h: Likewise.
30016         * lib/spawn.in.h: Likewise.
30017         * lib/stdarg.in.h: Likewise.
30018         * lib/stddef.in.h: Likewise.
30019         * lib/stdint.in.h: Likewise.
30020         * lib/stdio.in.h: Likewise.
30021         * lib/stdlib.in.h: Likewise.
30022         * lib/string.in.h: Likewise.
30023         * lib/strings.in.h: Likewise.
30024         * lib/sys_file.in.h: Likewise.
30025         * lib/sys_ioctl.in.h: Likewise.
30026         * lib/sys_select.in.h: Likewise.
30027         * lib/sys_socket.in.h: Likewise.
30028         * lib/sys_stat.in.h: Likewise.
30029         * lib/sys_time.in.h: Likewise.
30030         * lib/sys_times.in.h: Likewise.
30031         * lib/sys_utsname.in.h: Likewise.
30032         * lib/sys_wait.in.h: Likewise.
30033         * lib/sysexits.in.h: Likewise.
30034         * lib/termios.in.h: Likewise.
30035         * lib/time.in.h: Likewise.
30036         * lib/unistd.in.h: Likewise.
30037         * lib/wchar.in.h: Likewise.
30038         * lib/wctype.in.h: Likewise.
30039         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
30040         * modules/ctype (Makefile.am): Likewise.
30041         * modules/dirent (Makefile.am): Likewise.
30042         * modules/errno (Makefile.am): Likewise.
30043         * modules/fcntl-h (Makefile.am): Likewise.
30044         * modules/float (Makefile.am): Likewise.
30045         * modules/getopt-posix (Makefile.am): Likewise.
30046         * modules/iconv-h (Makefile.am): Likewise.
30047         * modules/inttypes (Makefile.am): Likewise.
30048         * modules/langinfo (Makefile.am): Likewise.
30049         * modules/locale (Makefile.am): Likewise.
30050         * modules/math (Makefile.am): Likewise.
30051         * modules/netdb (Makefile.am): Likewise.
30052         * modules/netinet_in (Makefile.am): Likewise.
30053         * modules/poll-h (Makefile.am): Likewise.
30054         * modules/pthread (Makefile.am): Likewise.
30055         * modules/pty (Makefile.am): Likewise.
30056         * modules/sched (Makefile.am): Likewise.
30057         * modules/search (Makefile.am): Likewise.
30058         * modules/selinux-h (Makefile.am): Likewise.
30059         * modules/signal (Makefile.am): Likewise.
30060         * modules/spawn (Makefile.am): Likewise.
30061         * modules/stdarg (Makefile.am): Likewise.
30062         * modules/stddef (Makefile.am): Likewise.
30063         * modules/stdint (Makefile.am): Likewise.
30064         * modules/stdio (Makefile.am): Likewise.
30065         * modules/stdlib (Makefile.am): Likewise.
30066         * modules/string (Makefile.am): Likewise.
30067         * modules/strings (Makefile.am): Likewise.
30068         * modules/sys_file (Makefile.am): Likewise.
30069         * modules/sys_ioctl (Makefile.am): Likewise.
30070         * modules/sys_select (Makefile.am): Likewise.
30071         * modules/sys_socket (Makefile.am): Likewise.
30072         * modules/sys_stat (Makefile.am): Likewise.
30073         * modules/sys_time (Makefile.am): Likewise.
30074         * modules/sys_times (Makefile.am): Likewise.
30075         * modules/sys_utsname (Makefile.am): Likewise.
30076         * modules/sys_wait (Makefile.am): Likewise.
30077         * modules/sysexits (Makefile.am): Likewise.
30078         * modules/termios (Makefile.am): Likewise.
30079         * modules/time (Makefile.am): Likewise.
30080         * modules/unistd (Makefile.am): Likewise.
30081         * modules/wchar (Makefile.am): Likewise.
30082         * modules/wctype (Makefile.am): Likewise.
30083
30084 2010-10-04  Bruno Haible  <bruno@clisp.org>
30085
30086         read-file tests: Avoid a test failure on NonStop Kernel.
30087         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
30088         a regular file.
30089         Reported by Joachim Schmitz <schmitz@hp.com>.
30090
30091 2010-10-03  Bruno Haible  <bruno@clisp.org>
30092
30093         gnulib-tool: Fixes for --create-testdir with --libtool.
30094         * gnulib-tool (func_get_automake_snippet): Don't augment
30095         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
30096         an executable.
30097         (func_create_testdir): Handle module 'alloca' like func_import.
30098         Reported by Bruce Korb <bruce.korb@gmail.com>.
30099
30100 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
30101
30102         Avoid some lines longer than 80 characters.
30103         * lib/stdint.in.h: Break long comment lines.
30104         * lib/math.in.h: Likewise.
30105         (_GL_NUM_UINT_WORDS): New macro, for readability.
30106         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
30107         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
30108         * lib/stdlib.in.h: Likewise.
30109         * lib/spawn.in.h: Likewise.
30110         * lib/sys_socket.in.h: Update an URL.
30111         * lib/sys_stat.in.h: Break long line.
30112
30113 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
30114
30115         Improve pmccabe2html.
30116         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
30117         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
30118         when the sources change. Remove the line in the HTML about "Used
30119         ranges" (which implied that there might be other unused ranges),
30120         rename "Resume" to "Summary" (easier to understand for more users).
30121         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
30122         styles, and some unnecessary blank lines.
30123
30124 2010-10-03  Bruno Haible  <bruno@clisp.org>
30125             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
30126
30127         acl: Add support for ACLs on NonStop Kernel.
30128         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
30129         Check whether the function aclsort() exists.
30130         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
30131         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
30132         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
30133         (acl_nontrivial [HAVE_ACLSORT]: New function.
30134         (file_has_acl): Implement for NonStop Kernel.
30135         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
30136         (qset_acl): Implement for NonStop Kernel.
30137         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
30138         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
30139         (main): Implement for NonStop Kernel.
30140         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
30141         Kernel. Handle this flavor.
30142         * tests/test-set-mode-acl.sh: Likewise.
30143         * tests/test-copy-acl.sh: Likewise.
30144         * tests/test-copy-file.sh: Likewise.
30145
30146 2010-10-03  Bruno Haible  <bruno@clisp.org>
30147
30148         Info about ACLs on NonStop Kernel.
30149         * doc/acl-resources.txt: Add info about NonStop Kernel.
30150         References by Joachim Schmitz <schmitz@hp.com>.
30151
30152 2010-10-02  Bruno Haible  <bruno@clisp.org>
30153
30154         Define missing EDQUOT on NonStop Kernel.
30155         * lib/errno.in.h (EDQUOT): Assign a value if missing.
30156         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
30157         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
30158         missing.
30159         * doc/posix-headers/errno.texi: Mention the NSK bug.
30160         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
30161         Reported by Joachim Schmitz <schmitz@hp.com>.
30162
30163 2010-10-02  Bruno Haible  <bruno@clisp.org>
30164
30165         Update doc for POSIX:2008.
30166         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
30167         Update URL of POSIX specification.
30168
30169 2010-10-02  Bruno Haible  <bruno@clisp.org>
30170
30171         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
30172         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
30173         from gnulib, not from Automake.
30174
30175 2010-10-02  Bruno Haible  <bruno@clisp.org>
30176
30177         New module 'system-posix'.
30178         * modules/system-posix: New file.
30179         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
30180         module is present.
30181         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
30182         GNULIB_SYSTEM_POSIX.
30183         * modules/stdlib (Depends-on): Remove sys_wait.
30184         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
30185         * doc/posix-functions/system.texi: Mention the new module.
30186         * doc/posix-headers/stdlib.texi: Likewise.
30187         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
30188         define test_sys_wait_macros to a no-op.
30189         Reported by Sam Steingold <sds@gnu.org>.
30190
30191 2010-09-30  Bruno Haible  <bruno@clisp.org>
30192
30193         More renaming from 'getdate' to 'get_date'.
30194         * doc/get_date.texi: Renamed from doc/getdate.texi.
30195         * modules/get_date (Files): Update.
30196         * MODULES.html.sh (Date and time <time.h>): Update.
30197         * DEPENDENCIES: Update.
30198         * gnulib-tool: Update comment.
30199         * m4/bison.m4 (gl_BISON): Likewise.
30200         * m4/get_date.m4 (gl_GET_DATE): Likewise.
30201
30202 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
30203
30204         bootstrap: support ACLOCAL_FLAGS during aclocal
30205         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
30206         can add additional -I dir for third-party .m4 files.
30207
30208 2010-09-30  Eric Blake  <eblake@redhat.com>
30209
30210         bootstrap: use glibtoolize on MacOS
30211         * build-aux/bootstrap (check_versions): Convert libtool into
30212         libtoolize.
30213         (tool search): Move libtool check earlier, and look for
30214         glibtoolize for MacOS.
30215         (gnulib_tool_options): Auto-add --libtool when appropriate.
30216         Reported by Justin Clift.
30217
30218         poll: fix typo that broke test on MacOS
30219         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
30220         Reported by Justin Clift.
30221
30222         getdate: rename to get_date
30223         Note: getdate.h is not renamed, to minimize client impact.
30224         * modules/getdate: Mark obsolete.  Move old contents...
30225         * modules/get_date: ...to new module name.
30226         * modules/getdate-tests: Move...
30227         * modules/get_date-tests: ...here.
30228         * m4/getdate.m4: Move...
30229         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
30230         * lib/getdate.y: Move...
30231         * lib/get_date.y: ...here.
30232         * tests/test-getdate.c: Move...
30233         * tests/test-get_date.c: ...here.
30234         * doc/posix-functions/getdate.texi (getdate): Update name.
30235         * NEWS: Mention the change.
30236
30237 2010-09-29  Bruno Haible  <bruno@clisp.org>
30238
30239         Separate the module 'waitpid' from the module 'sys_wait'.
30240         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
30241         present.
30242         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
30243         gl_MODULE_INDICATOR_FOR_TESTS.
30244         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
30245         * modules/sys_wait (Depends-on): Remove waitpid.
30246         (Makefile.am): Substitute GNULIB_WAITPID.
30247         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
30248         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
30249         signature only if the 'waitpid' module is present.
30250         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
30251         * NEWS: Mention the change.
30252         * modules/grantpt (Depends-on): Add waitpid.
30253         * modules/wait-process (Depends-on): Likewise.
30254
30255 2010-09-29  Bruno Haible  <bruno@clisp.org>
30256
30257         More tests for module 'sys_wait'.
30258         * modules/sys_wait-c++-tests: New file.
30259         * tests/test-sys_wait-c++.cc: New file.
30260         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
30261         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
30262
30263 2010-09-29  Bruno Haible  <bruno@clisp.org>
30264
30265         New module 'waitpid'.
30266         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
30267         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
30268         Don't include <process.h>.
30269         (waitpid): Declare only, using modern idiom.
30270         * m4/waitpid.m4: New file.
30271         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
30272         * modules/waitpid: New file.
30273         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
30274         (Makefile.am): Update.
30275         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
30276
30277 2010-09-28  Bruno Haible  <bruno@clisp.org>
30278
30279         poll: Assume ANSI C.
30280         * lib/poll.c (poll): Use an ANSI C declaration.
30281
30282 2010-09-28  Bruno Haible  <bruno@clisp.org>
30283
30284         poll-h: Create poll.h on all platforms.
30285         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
30286         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
30287         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
30288         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
30289         (gl_REPLACE_POLL_H): Don't set POLL_H.
30290         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
30291         * modules/poll-h (Depends-on): Add include_next.
30292         (Makefile.am): Create poll.h unconditionally. Substitute also
30293         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
30294
30295 2010-09-28  Bruno Haible  <bruno@clisp.org>
30296
30297         Tests for module 'poll-h'.
30298         * modules/poll-h-c++-tests: New file.
30299         * tests/test-poll-h-c++.cc: New file.
30300
30301         Tests for module 'poll-h'.
30302         * modules/poll-h-tests: New file.
30303         * tests/test-poll-h.c: New file.
30304
30305 2010-09-28  Bruno Haible  <bruno@clisp.org>
30306
30307         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
30308         * modules/poll-h (Depends-on): Add 'extensions'.
30309
30310 2010-09-28  Bruno Haible  <bruno@clisp.org>
30311
30312         New module 'poll-h'.
30313         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
30314         (poll): Use modern idiom.
30315         * modules/poll-h: New file.
30316         * modules/poll (Files): Remove lib/poll.in.h.
30317         (Depends-on): Add poll-h.
30318         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
30319         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
30320         * m4/poll_h.m4: New file.
30321         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
30322         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
30323         and invoke gl_REPLACE_POLL_H.
30324         * lib/poll.c: Use common idiom.
30325         * tests/test-poll.c: Likewise.
30326         * doc/posix-headers/poll.texi: Mention the poll-h module.
30327         Suggested by Eric Blake.
30328
30329 2010-09-26  Bruno Haible  <bruno@clisp.org>
30330
30331         sys_wait: Implement WSTOPSIG.
30332         * lib/sys_wait.in.h (WSTOPSIG): New macro.
30333         Reported by Simon Josefsson.
30334
30335 2010-09-26  Simon Josefsson  <simon@josefsson.org>
30336
30337         stdlib, sys_wait: Avoid compilation error on mingw.
30338         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
30339
30340 2010-09-26  Bruno Haible  <bruno@clisp.org>
30341
30342         stdlib tests: Avoid code duplication.
30343         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
30344         * modules/sys_wait-tests (Files): Likewise.
30345         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
30346         * tests/test-stdlib.c: Include test-sys_wait.h.
30347         (main): Invoke test_sys_wait_macros.
30348         * tests/test-sys_wait.c: Include test-sys_wait.h.
30349         (main): Invoke test_sys_wait_macros.
30350
30351 2010-09-25  Simon Josefsson  <simon@josefsson.org>
30352
30353         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
30354         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
30355         sure Windows sockets are working before calling getaddrinfo.
30356         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
30357         * doc/gnulib.texi (Windows sockets): Fix typo.
30358
30359 2010-09-25  Bruno Haible  <bruno@clisp.org>
30360
30361         Tests for module 'regex-quote'.
30362         * modules/regex-quote-tests: New file.
30363         * tests/test-regex-quote.c: New file.
30364
30365         New module 'regex-quote'.
30366         * lib/regex-quote.h: New file.
30367         * lib/regex-quote.c: New file.
30368         * modules/regex-quote: New file.
30369         Suggested by Reuben Thomas <rrt@sc3d.org>.
30370
30371 2010-09-24  Bruno Haible  <bruno@clisp.org>
30372
30373         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
30374         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
30375
30376 2010-09-23  Bruno Haible  <bruno@clisp.org>
30377
30378         setenv: Relax license.
30379         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
30380         Blake.
30381         Requested by Eric Blake.
30382
30383 2010-09-22  Bruno Haible  <bruno@clisp.org>
30384
30385         termios: Relax license.
30386         * modules/termios (License): Change to LGPLv2+.
30387         Requested by Eric Blake.
30388
30389 2010-09-22  Bruno Haible  <bruno@clisp.org>
30390
30391         threadlib: Allow the package to change the default to 'no'.
30392         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
30393         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
30394         Reported by Paul Eggert.
30395
30396 2010-09-22  Pádraig Brady  <P@draigbrady.com>
30397             Bruno Haible  <bruno@clisp.org>
30398
30399         Fix endless loop in mbmemcasecoll.
30400         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
30401         byte.
30402         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
30403
30404 2010-09-22  Bruno Haible  <bruno@clisp.org>
30405
30406         Tests for module 'memcoll'.
30407         * modules/memcoll-tests: New file.
30408         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
30409
30410         memcoll, xmemcoll: Clarify size vs. length.
30411         * modules/memcoll.c (memcoll0): Clarify specification.
30412         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
30413         passed to collate_error.
30414
30415 2010-09-22  Bruno Haible  <bruno@clisp.org>
30416
30417         Tests for module 'memcasecmp'.
30418         * modules/memcasecmp-tests: New file.
30419         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
30420
30421 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
30422
30423         * lib/pthread.in.h: Add split double-inclusion guard, and include
30424         system <pthread.h> if there is one.  Use @@-style as in other
30425         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
30426         pthread.h doesn't.
30427         (pthread_mutexattr_destroy, pthread_mutexattr_init):
30428         (pthread_mutexattr_settype, pthread_mutex_trylock):
30429         New static inline functions, if there's no system <pthread.h>.
30430         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
30431         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
30432         Approximate with mutexes if the system lacks spinlocks, as in
30433         MacOS.
30434         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
30435         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
30436         @@-style.  Check for spinlocks separately.
30437         (gl_PTHREAD_DEFAULTS): New macro.
30438         * modules/pthread: Redo to use a more typical style for in.h files.
30439
30440 2010-09-21  Eric Blake  <eblake@redhat.com>
30441
30442         net_if: enhance tests
30443         * tests/test-net_if.c (main): Move signature checks earlier.
30444         Print failures to stderr.
30445         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
30446         Document the bug that we do not yet fix.
30447
30448 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
30449
30450         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
30451         about gnulib, not GSS.
30452
30453 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
30454
30455         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
30456         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
30457         for Emacs.
30458         * build-aux/pmccabe2html: Make Makefile.am example code more
30459         cut-and-paste friendly.
30460
30461 2010-09-21  Simon Josefsson  <simon@josefsson.org>
30462
30463         * tests/test-net_if.c: New file.
30464         * modules/net_if-tests: New file.
30465
30466 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
30467
30468         pthread: add pthread_spin_destroy
30469         * lib/pthread.in.h (pthread_spin_destroy): New function.
30470
30471 2010-09-19  Bruno Haible  <bruno@clisp.org>
30472
30473         gnulib-tool: Fix --help output.
30474         * gnulib-tool (func_usage): Fix help message.
30475         Reported by Reuben Thomas <rrt@sc3d.org>.
30476
30477 2010-09-18  Jim Meyering  <meyering@redhat.com>
30478
30479         maint.mk: avoid unexpanded \n in two diagnostics
30480         * top/maint.mk (sc_prohibit_always_true_header_tests):
30481         Don't use a literal \n in a halt=... assignment.  It would not be
30482         expanded, and the two \n bytes would appear in the diagnostic output
30483         rather than the desired newline.  Use halt=$$(printf ... instead.
30484         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
30485
30486 2010-09-18  Bruno Haible  <bruno@clisp.org>
30487
30488         netinet_in: Doc tweak.
30489         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
30490         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30491
30492 2010-09-18  Jim Meyering  <meyering@redhat.com>
30493
30494         init.sh: correct an outdated comment
30495         * tests/init.sh (create_exe_shims_):  s/function/alias/
30496
30497         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
30498         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
30499         a file named "*.exe" is removed between the glob expansion and the
30500         processing of that oddly named file.
30501
30502 2010-09-17  Eric Blake  <eblake@redhat.com>
30503
30504         mirbsd: add some more support
30505         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
30506         in BSD family.
30507         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
30508         devices as OpenBSD.
30509         * m4/host-os.m4 (mirbsd): Add MirBSD.
30510
30511         tests: fix unportable assumption on sys/wait.h
30512         * tests/test-sys_wait.c (main): Relax test.
30513         * tests/test-stdlib.c (main): Likewise.
30514
30515         init.sh: accommodate directory with no .exes
30516         * tests/init.sh: Accomodate directory containing only scripts.
30517
30518         tests: avoid compiler warning
30519         * tests/test-stdlib.c (main): Use the variable.
30520
30521         fdutimens, fdutimensat: update signature, again
30522         * lib/utimens.h (gl_futimens): Delete, and move signature...
30523         (fdutimens): ...here.
30524         (fdutimensat): Rearrange signature.
30525         (lutimensat): Rename variable for clarity.
30526         * lib/fdutimensat.c (fdutimensat): Update signature.
30527         * lib/utimens.c (fdutimens): Likewise.
30528         (gl_futimens): Delete.
30529         (utimens, lutimens): Update callers.
30530         * lib/futimens.c (futimens): Likewise.
30531         * tests/test-fdutimensat.c: Likewise.
30532         * tests/test-utimens.c: Likewise.
30533         * tests/test-futimens.h: Update comment.
30534         * NEWS: Mention this.
30535         Suggested by Paul Eggert.
30536
30537 2010-09-17  Bruno Haible  <bruno@clisp.org>
30538
30539         Take over the maintenance of some older macros from Autoconf.
30540         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
30541         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
30542         GNU Autoconf.
30543         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
30544         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
30545
30546 2010-09-17  Eric Blake  <eblake@redhat.com>
30547
30548         fdutimensat: drop atflag validation
30549         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
30550         with valid fd, to close a race scenario where futimens is
30551         unsupported and FILE was replaced by a symlink.
30552         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
30553         accordingly.
30554         Suggested by Paul Eggert.
30555
30556 2010-09-16  Bruno Haible  <bruno@clisp.org>
30557
30558         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
30559         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
30560
30561 2010-09-16  Bruno Haible  <bruno@clisp.org>
30562
30563         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
30564         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
30565         login_tty exists.
30566         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30567
30568 2010-09-16  Bruno Haible  <bruno@clisp.org>
30569
30570         login_tty: Make the replacement code work on BSD systems.
30571         * lib/login_tty.c: Include <sys/ioctl.h>.
30572         (login_tty): Use ioctl TIOCSCTTY when available.
30573         * modules/login_tty (Depends-on): Add sys_ioctl.
30574         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30575
30576 2010-09-16  Bruno Haible  <bruno@clisp.org>
30577
30578         login_tty: Stricter unit test.
30579         * modules/login_tty-tests (Depends-on): Add tcgetsid.
30580         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
30581         and tcgetsid() after login_tty.
30582         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30583
30584 2010-09-16  Bruno Haible  <bruno@clisp.org>
30585
30586         New module 'tcgetsid'.
30587         * lib/tcgetsid.c: New file.
30588         * m4/tcgetsid.m4: New file.
30589         * modules/tcgetsid: New file.
30590         * modules/termios (Depends-on): Add c++defs, warn-on-use.
30591         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
30592         GNULIB_TCGETSID, HAVE_TCGETSID.
30593         * lib/termios.in.h: Include <sys/types.h>.
30594         (tcgetsid): New declaration.
30595         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
30596         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
30597         * doc/posix-functions/tcgetsid.texi: Mention the new module.
30598         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
30599
30600 2010-09-16  Bruno Haible  <bruno@clisp.org>
30601
30602         Tests for module 'termios'.
30603         * modules/termios-c++-tests: New file.
30604         * modules/termios-tests: New file.
30605         * tests/test-termios-c++.cc: New file.
30606         * tests/test-termios.c: New file.
30607
30608         New module 'termios'.
30609         * modules/termios: New file.
30610         * lib/termios.in.h: New file.
30611         * m4/termios_h.m4: New file.
30612         * doc/posix-headers/termios.texi: Mention the new module.
30613
30614 2010-09-16  Eric Blake  <eblake@redhat.com>
30615
30616         fdutimensat: add an atflag parameter
30617         * lib/fdutimensat.c (fdutimensat): Add new parameter.
30618         * lib/utimens.h (fdutimensat): Update prototype.
30619         * tests/test-fdutimensat.c: Adjust test to match.
30620         * NEWS: Document the change.
30621         Suggested by Paul Eggert.
30622
30623 2010-09-16  Bruno Haible  <bruno@clisp.org>
30624
30625         Fix typos in comments.
30626         * lib/striconveh.h: Fix typo in comment.
30627         * lib/login_tty.c (login_tty): Likewise.
30628
30629 2010-09-15  Bruno Haible  <bruno@clisp.org>
30630
30631         stdlib: clarify MirBSD WEXITSTATUS bug
30632         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
30633         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
30634
30635 2010-09-15  Eric Blake  <eblake@redhat.com>
30636
30637         stdlib: work around MirBSD WEXITSTATUS bug
30638         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
30639         * modules/stdlib (Depends-on): Add sys_wait.
30640         * tests/test-sys_wait.c (main): Enhance test.
30641         * tests/test-stdlib.c (main): Likewise.
30642         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
30643
30644         docs: mention MacOS issue with WEXITSTATUS(constant)
30645         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
30646         issue.
30647         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
30648
30649         strnlen: add tests
30650         * modules/strnlen-tests: New file.
30651         * tests/test-strnlen.c: Likewise.
30652
30653 2010-09-14  Bruno Haible  <bruno@clisp.org>
30654
30655         unistr/base: Avoid link errors when module 'libunistring' is also used.
30656         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
30657         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
30658         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
30659         Declare also when HAVE_LIBUNISTRING is set.
30660         Reported by Pádraig Brady <P@draigbrady.com>.
30661
30662 2010-09-14  Eric Blake  <eblake@redhat.com>
30663
30664         test-rawmemchr: make more robust
30665         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
30666         (Depends-on, configure.ac): Add needed prerequisites to use it.
30667         * modules/memchr-tests (Files, Depends-on, configure.ac):
30668         Likewise, to avoid implicit reliance on memchr module prereqs.
30669         * tests/test-memchr.c (main): Ensure proper masking.
30670         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
30671         reads.
30672
30673         memchr: detect glibc Alpha bug
30674         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
30675         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
30676         Alpha.
30677         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
30678         * tests/test-memchr.c (main): Enhance test.
30679         Reported by Nelson H. F. Beebe.
30680
30681 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
30682
30683         fts, getcwd, glob: audit for dirfd returning -1
30684         * lib/fts.c (opendir): Remove #define; no longer used.
30685         (opendirat): New arg PDIR_FD.  All callers changed.
30686         (fts_build, _opendir2): Use new opendirat to avoid the need for
30687         dirfd, or for checking whether dirfd returns a negative value.
30688         Don't use opendir; always use openat followed by fdopendir.
30689         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
30690         it.
30691         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
30692         returns -1 here.
30693         * modules/fts (Depends-on): Remove dirfd.
30694         * modules/getcwd (Depends-on): Likewise.
30695
30696 2010-09-13  Eric Blake  <eblake@redhat.com>
30697
30698         float: fix broken MirBSD header
30699         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
30700         * doc/posix-headers/float.texi (float.h): Document it.
30701
30702 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
30703
30704         fts: use O_NOFOLLOW to avoid race condition when opening a directory
30705         * lib/fts.c (opendirat): New arg extra_flags.
30706         (__opendir2): Use it to avoid following symlinks when opening
30707         a directory, if symlinks are not supposed to be followed.  See
30708         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
30709
30710         fdopendir: preserve argument fd before returning
30711         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
30712         (fdopendir_with_dup, fd_clone_opendir): New static functions.
30713         (fdopendir): Use them, arranging for FD to be open to the same
30714         directory that it was when it started.  (It might be temporarily
30715         closed while fdopendir is running, so this not thread- or
30716         signal-safe.)  Be careful to do the right thing even when file
30717         descriptors are scarce and dup fails with errno == EMFILE.  See
30718         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
30719
30720 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
30721
30722         regex: Pass the system regex if its only problem is 32-bit regoff_t.
30723         * NEWS: Document change.
30724         * m4/regex.m4: Disable test for regoff_t size.
30725
30726 2010-09-13  Jim Meyering  <meyering@redhat.com>
30727
30728         fts: don't operate on an invalid file descriptor after failed dup
30729         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
30730         negative file descriptor.
30731
30732 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
30733
30734         savedir: add streamsavedir, deprecate fdsavedir
30735         * NEWS: Mention deprecation of fdsavedir.
30736         * lib/savedir.c (streamsavedir): New extern function, whose name
30737         ends in "savedir" to be consistent with the others.  This differs
30738         from savedirstream in that it doesn't close its argument.  The
30739         next version of GNU tar will use this instead of fdsavedir, to
30740         avoid some race conditions and conserve file descriptors.
30741         (savedirstream): Reimplement as a wrapper around streamsavedir.
30742         (fdsavedir): Add a comment deprecating this function.  As far as
30743         I know, only GNU tar used it, and GNU tar doesn't need it any more.
30744         * lib/savedir.h (streamsavedir): New decl.
30745         (fdsavedir): Add a comment deprecating this.
30746
30747 2010-09-10  Bruno Haible  <bruno@clisp.org>
30748
30749         langinfo: Fix last commit.
30750         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
30751         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
30752         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30753
30754 2010-09-10  Bruno Haible  <bruno@clisp.org>
30755
30756         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
30757         * lib/progreloc.c (O_EXEC): Define fallback.
30758
30759 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
30760
30761         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
30762         * NEWS: Document recent changes to fcntl-h.
30763         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
30764         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
30765         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
30766         Similarly for O_SEARCH; this last was already true, but not documented.
30767         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
30768         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
30769         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
30770         Likewise.
30771         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
30772         is zero, not whether it is defined.
30773         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
30774         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
30775         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
30776
30777 2010-09-10  Bruno Haible  <bruno@clisp.org>
30778
30779         langinfo, nl_langinfo: Fix for IRIX 5.3.
30780         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
30781         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
30782         HAVE_LANGINFO_YESEXPR.
30783         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
30784         HAVE_LANGINFO_YESEXPR.
30785         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
30786         HAVE_LANGINFO_T_FMT_AMPM is 0.
30787         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
30788         HAVE_LANGINFO_YESEXPR is 0.
30789         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
30790         NOEXPR.
30791         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
30792         * doc/posix-functions/nl_langinfo.texi: Likewise.
30793         Reported by Eric Blake.
30794
30795 2010-09-10  Bruno Haible  <bruno@clisp.org>
30796
30797         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
30798         * doc/glibc-functions/login_tty.texi: Mention the include file problem
30799         on FreeBSD 8.0 and OpenBSD 4.6.
30800         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
30801         * m4/pty_h.m4 (gl_PTY_H): Likewise.
30802         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
30803         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
30804         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
30805         ac_includes_default.
30806         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30807
30808 2010-09-09  Eric Blake  <eblake@redhat.com>
30809
30810         strsignal: work around NetBSD bug
30811         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
30812         * lib/string.in.h (includes): Likewise.
30813         * doc/posix-functions/strsignal.texi (strsignal): Document the
30814         bug.
30815         Reported by Nelson H. F. Beebe.
30816
30817         gnulib-tool: work with NetBSD /bin/sh
30818         * gnulib-tool (func_cache_var, func_cache_lookup_module)
30819         (func_get_description, func_get_comment, func_get_status)
30820         (func_get_notice, func_get_applicability, func_get_filelist)
30821         (func_get_dependencies, func_get_autoconf_early_snippet)
30822         (func_get_autoconf_snippet, func_get_automake_snippet)
30823         (func_get_include_directive, func_get_link_directive)
30824         (func_get_license, func_get_maintainer, func_import): Avoid
30825         shell syntax errors from parsing syntax extensions.
30826
30827 2010-09-09  Bruno Haible  <bruno@clisp.org>
30828
30829         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30830         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
30831         a reliable way to determine whether the 'alias' command works.
30832
30833 2010-09-08  Jim Meyering  <meyering@redhat.com>
30834
30835         init.sh: penalize a set-x-impaired shell; don't disqualify it
30836         * tests/init.sh: Too many shells corrupt application stderr when
30837         you set -x, so we can't afford to disqualify them, since at least
30838         on Irix-6.5, that would disqualify all bourne shells.
30839         Instead, use a two-pass approach.
30840         On the first pass, try to find a shell that meets the stricter
30841         condition that set -x does not corrupt stderr.
30842         If no shell meets the stricter condition, retest each candidate
30843         shell, but without that extra condition.  Finally, when
30844         VERBOSE=yes is requested and set -x might cause trouble, simply
30845         issue a warning and refrain from enabling debug output.
30846
30847 2010-09-08  Eric Blake  <eblake@redhat.com>
30848
30849         unsetenv: fix OpenBSD bug
30850         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
30851         * doc/posix-functions/unsetenv.texi (unsetenv): Update
30852         documentation.
30853         Reported by Jim Meyering.
30854
30855         strtod: work around IRIX 6.5 bug
30856         * lib/strtod.c (strtod): Reparse number on shorter string if
30857         exponent parse was invalid.
30858         * tests/test-strtod.c (main): Add check for "0x1p 2".
30859         Reported by Tom G. Christensen.
30860
30861         getopt: optimize previous patch
30862         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
30863         empty variable.  Speed up awk script.
30864         Reported by Paolo Bonzini.
30865
30866 2010-09-08  Jim Meyering  <meyering@redhat.com>
30867
30868         test.sh: disqualify shells for which set -x corrupts stderr
30869         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
30870         and OpenBSD 4.7.  They make it so with "set -x", environment settings
30871         appear in stderr output.  For example, this command:
30872             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
30873         prints "P=1" on those two systems:
30874
30875 2010-09-08  Bruno Haible  <bruno@clisp.org>
30876
30877         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30878         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
30879         commands, because some shells ignore redirections when there is an
30880         error in the command lookup.
30881         Reported by Eric Blake.
30882
30883 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
30884
30885         * lib/regex.h: Fix a mention of `regex_compile' (should be
30886         `re_compile_pattern').
30887         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
30888         (re_set_registers): Correct name of parameter in comment.
30889
30890         * doc/regex.texi: Add documentation for missing syntax flags.
30891         Remove commented-out documentation of defunct syntax option
30892         RE_NO_EMPTY_ALTS.
30893         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
30894         Add documentation of re_set_registers.
30895         Document trick to re-use a pattern buffer by setting fastmap manually.
30896         Update documentation of struct re_pattern_buffer per public members.
30897         Uncomment documentation of equivalence class operators and
30898         collating symbol operators, since they are now implemented,
30899         Explain leftmost-longest matching in relation to alternatives.
30900         Tidy documentation of substring matching.
30901         Remove POSIX documentation, which is done better in
30902         glibc, and refer the reader there. Keep BSD API documentation, as
30903         that is not readily available elsewhere.
30904
30905 2010-09-07  Eric Blake  <eblake@redhat.com>
30906
30907         getopt: handle POSIXLY_CORRECT set but not exported
30908         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
30909         export state of POSIXLY_CORRECT, due to bash set -o posix.
30910         Reported by Dustin J. Mitchell.
30911
30912 2010-09-05  Bruno Haible  <bruno@clisp.org>
30913
30914         gnulib-tool: Highlight the changed options.
30915         * gnulib-tool (func_usage): Display the --import, --add-import,
30916         --remove-import explanations in bold font.
30917
30918 2010-09-06  Karl Berry  <karl@gnu.org>
30919
30920         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
30921
30922 2010-09-05  Bruno Haible  <bruno@clisp.org>
30923
30924         uniwidth/width: Update comment.
30925         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
30926         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
30927
30928 2010-09-05  Bruno Haible  <bruno@clisp.org>
30929
30930         isinf, isnan: Relax license.
30931         * modules/isinf (License): Change from GPL to LGPL, with consent from
30932         Ben Pfaff.
30933         * modules/isnan (License): Likewise.
30934         Requested by Ludovic Courtès.
30935
30936 2010-09-04  Bruno Haible  <bruno@clisp.org>
30937
30938         gnulib-tool: Help migration from --import to --add-import or --update.
30939         * gnulib-tool: Emit a verbose error message when --import is used
30940         without any module name.
30941
30942 2010-09-04  Bruno Haible  <bruno@clisp.org>
30943
30944         Update doc about gnulib-tool.
30945         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
30946         'gnulib-tool --update' in more detail.
30947         Reported by Eric Blake.
30948
30949 2010-09-04  Bruno Haible  <bruno@clisp.org>
30950
30951         gnulib-tool: Change --import. New options --add/remove-import.
30952         * gnulib-tool: New options --add-import, --remove-import.
30953         (func_usage): Document them.
30954         (have_associative): Define always.
30955         (func_import): In import mode, don't merge the specified settings with
30956         the cached settings. Implement remove-import mode.
30957         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
30958         Explain when to use them versus --import.
30959         (Simple update): Use --add-import instead of --import.
30960         * NEWS: Mention the change.
30961
30962 2010-09-04  Bruno Haible  <bruno@clisp.org>
30963
30964         * doc/gnulib-tool.texi (Initial import): Update paragraph about
30965         separate gnulib.mk.
30966
30967 2010-09-04  Bruno Haible  <bruno@clisp.org>
30968
30969         gnulib-tool: Don't talk about CVS any more.
30970         * gnulib-tool (func_usage, func_import): Write "version control"
30971         instead of CVS.
30972
30973 2010-09-04  Jim Meyering  <meyering@redhat.com>
30974
30975         maint.mk: avoid obscure sc_copyright_check failure in coreutils
30976         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
30977         false positives (whose names may be ill-chosen) when searching
30978         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
30979         would cause a false-positive.
30980
30981         avoid coreutils "make distcheck" failure
30982         Coreutils tests with an absolute build directory name that contains
30983         a space.  Not quoting this directory name caused a failure.
30984         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
30985         * tests/test-vc-list-files-cvs.sh: Likewise.
30986
30987 2010-09-04  Bruno Haible  <bruno@clisp.org>
30988
30989         gnulib-tool: Avoid error when run in a package without Makefile.am.
30990         * gnulib-tool: When collecting the m4dirs in a package that does not
30991         have a Makefile.am, eliminate those directories that contain no
30992         gnulib-cache.m4. Fix expression that counts these directories.
30993
30994 2010-09-04  Bruno Haible  <bruno@clisp.org>
30995
30996         update-copyright test: Improve output when perl is missing or too old.
30997         * tests/test-update-copyright.sh: Move test of Perl version down after
30998         the test whether Perl exists. Provide an explanation relating Perl's
30999         error message to Automake's SKIP: message.
31000
31001 2010-09-04  Bruno Haible  <bruno@clisp.org>
31002
31003         Don't augment PATH in TESTS_ENVIRONMENT.
31004         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
31005         set abs_aux_dir instead of augmenting PATH.
31006         * modules/vc-list-files-tests (Makefile.am): Likewise.
31007         * tests/test-update-copyright.sh: Augment PATH here.
31008         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
31009         path_prepend_.
31010         * tests/test-vc-list-files-git.sh: Likewise.
31011
31012 2010-09-04  Jim Meyering  <meyering@redhat.com>
31013
31014         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
31015         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
31016
31017 2010-09-04  Bruno Haible  <bruno@clisp.org>
31018
31019         strdup: Fix compilation error in C++ mode.
31020         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
31021         the macro.
31022
31023 2010-09-04  Bruno Haible  <bruno@clisp.org>
31024
31025         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
31026         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
31027         macro into a function.
31028         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31029
31030 2010-09-04  Bruno Haible  <bruno@clisp.org>
31031
31032         Set PATH_SEPARATOR the same way autoconf does.
31033         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
31034         the value of PATH_SEPARATOR the same way autoconf-generated configure
31035         scripts do.
31036         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
31037         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
31038
31039 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
31040
31041         Set PATH_SEPARATOR the same way autoconf does.
31042         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
31043         the same way autoconf-generated configure scripts do.
31044         * posix-modules: Likewise.
31045
31046 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
31047
31048         hash: fix safe_hasher const typo
31049         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
31050         const; otherwise, there is a type error later.
31051
31052 2010-09-02  Jim Meyering  <meyering@redhat.com>
31053
31054         test-update-copyright.sh: require perl 5.8.0
31055         * tests/test-update-copyright.sh: Require 5.8.0,
31056         which Tom G. Christensen has confirmed is adequate,
31057         while 5.6.1 is not.
31058
31059 2010-09-02  Eric Blake  <eblake@redhat.com>
31060
31061         tests: init.sh improvements for re-exec'ing with zsh
31062         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
31063         -vx through shell re-exec.
31064         Reported by Tom G. Christensen.
31065
31066         wctype: fix typo in previous commit
31067         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
31068         Reported by Ludovic Courtès.
31069
31070 2010-09-02  Jim Meyering  <meyering@redhat.com>
31071
31072         test-update-copyright.sh: skip test if Perl is too old
31073         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
31074         Reported by Tom G. Christensen.
31075
31076 2010-09-02  Bruno Haible  <bruno@clisp.org>
31077
31078         wctype: Avoid compilation error on IRIX 6.5.30.
31079         * lib/wctype.in.h (iswblank): Declare with a replacement if
31080         REPLACE_ISWBLANK is set.
31081         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
31082         declared. Set REPLACE_ISWBLANK.
31083         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
31084         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
31085         * doc/posix-headers/wctype.texi: Likewise.
31086         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31087
31088 2010-09-01  Bruno Haible  <bruno@clisp.org>
31089
31090         New module 'socketlib'.
31091         * modules/socketlib: New file.
31092         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
31093         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
31094         * modules/sockets (Depends-on): Add socketlib.
31095         Suggested by Sam Steingold <sds@gnu.org>.
31096
31097 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
31098
31099         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
31100
31101         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
31102         when one needs search access to a directory but not read access.
31103         On systems where it is available, it works in some cases where
31104         O_RDONLY does not, namely on directories that are searchable but
31105         not readable, and which need only to be searchable.  If O_SEARCH
31106         is not available, fall back to the traditional method of using
31107         O_RDONLY.
31108
31109         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
31110         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
31111         when opening a directory that needs only to be searchable.
31112         * lib/chdir-safer.c (chdir_no_follow): Likewise.
31113         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
31114         * lib/openat-proc.c (openat_proc_name): Likewise.
31115         * lib/openat.c (openat_needs_fchdir): Likewise.
31116         * lib/save-cwd.c (save_cwd): Likewise.
31117         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
31118
31119 2010-08-28  Bruno Haible  <bruno@clisp.org>
31120
31121         New module 'host-cpu-c-abi'.
31122         * modules/host-cpu-c-abi: New file.
31123         * m4/host-cpu-c-abi.m4: New file, based on part of
31124         clisp/src/m4/general.m4.
31125         Requested by Sam Steingold <sds@gnu.org>.
31126
31127 2010-08-31  Eric Blake  <eblake@redhat.com>
31128         and Jim Meyering  <meyering@redhat.com>
31129
31130         hash: factor, and guard against misbehaving hasher function
31131         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
31132         of table->hasher's return value.  Also protect against a hash value
31133         so large that adding it to table->bucket results in a NULL pointer.
31134         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
31135         Use it in place of open-coded check-and-abort.
31136
31137 2010-08-30  Bruno Haible  <bruno@clisp.org>
31138
31139         hash: silence spurious clang warning
31140         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
31141         Reported by Eric Blake.
31142
31143 2010-08-30  Eric Blake  <eblake@redhat.com>
31144
31145         strstr, memmem, strcasestr: avoid leaked shell message
31146         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
31147         FreeBSD.
31148         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
31149         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
31150
31151         tests: silence clang warning
31152         * tests/test-malloca.c (do_allocation): Avoid dead store.
31153
31154 2010-08-29  Bruno Haible  <bruno@clisp.org>
31155
31156         gettext: Fix recent mistake.
31157         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
31158
31159 2010-08-29  Bruno Haible  <bruno@clisp.org>
31160
31161         selinux-h: Offer a --without-selinux option.
31162         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
31163         --without-selinux was specified, skip all tests and define
31164         HAVE_SELINUX_SELINUX_H to 0.
31165         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
31166         set LIB_SELINUX to empty.
31167         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
31168         gl_LIBSELINUX. If --without-selinux was specified, replace
31169         selinux/context.h.
31170         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
31171
31172 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
31173             Bruno Haible  <bruno@clisp.org>
31174
31175         Make the module 'realloc-gnu' work again on AIX and OSF/1.
31176         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
31177         of HAVE_REALLOC.
31178         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
31179         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
31180         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
31181         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
31182
31183 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
31184             Bruno Haible  <bruno@clisp.org>
31185
31186         Make the module 'calloc-gnu' work again on AIX and OSF/1.
31187         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
31188         HAVE_CALLOC.
31189         * lib/xmalloc.c: Update accordingly.
31190         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
31191         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
31192         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
31193
31194 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
31195             Bruno Haible  <bruno@clisp.org>
31196
31197         Make the module 'malloc-gnu' work again on AIX and OSF/1.
31198         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
31199         HAVE_MALLOC.
31200         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
31201         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
31202         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
31203
31204 2010-08-29  Bruno Haible  <bruno@clisp.org>
31205
31206         Update modules list.
31207         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
31208         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
31209         (String handling <string.h>): Add astrxfrm.
31210         (File system functions): Add readlinkat.
31211
31212 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31213
31214         Tests for module 'realloc-gnu'.
31215         * modules/realloc-gnu-tests: New file.
31216         * tests/test-realloc-gnu.c: New file.
31217
31218         Tests for module 'calloc-gnu'.
31219         * modules/calloc-gnu-tests: New file.
31220         * tests/test-calloc-gnu.c: New file.
31221
31222         Tests for module 'malloc-gnu'.
31223         * modules/malloc-gnu-tests: New file.
31224         * tests/test-malloc-gnu.c: New file.
31225
31226 2010-08-28  Bruno Haible  <bruno@clisp.org>
31227
31228         Rename module 'realloc' -> 'realloc-gnu'.
31229         * modules/realloc-gnu: New file, copied from modules/realloc.
31230         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
31231         obsolete.
31232         * modules/mgetgroups (Depends-on): Update.
31233         * doc/posix-functions/realloc.texi: Update.
31234         * NEWS: Mention the change.
31235
31236         Rename module 'calloc' -> 'calloc-gnu'.
31237         * modules/calloc-gnu: New file, copied from modules/calloc.
31238         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
31239         obsolete.
31240         * doc/posix-functions/calloc.texi: Update.
31241         * NEWS: Mention the change.
31242
31243         Rename module 'malloc' -> 'malloc-gnu'.
31244         * modules/malloc-gnu: New file, copied from modules/malloc.
31245         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
31246         obsolete.
31247         * modules/argp (Depends-on): Update.
31248         * modules/regex (Depends-on): Update.
31249         * doc/posix-functions/malloc.texi: Update.
31250         * NEWS: Mention the change.
31251
31252 2010-08-28  Eric Blake  <eblake@redhat.com>
31253
31254         pread, pwrite: add missing dependency
31255         * modules/pread (Depends-on): Add extensions.
31256         * modules/pwrite (Depends-on): Likewise.
31257
31258 2010-08-28  Bruno Haible  <bruno@clisp.org>
31259
31260         unistr/u*-strchr: Fix tests dependencies.
31261         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
31262         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
31263         Reported by Ian Beckwith <ianb@erislabs.net>.
31264
31265 2010-08-28  Bruno Haible  <bruno@clisp.org>
31266
31267         read-file: Don't occupy too much unused memory.
31268         * lib/read-file.c (fread_file): Shrink the buffer at the end.
31269
31270 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
31271             Eric Blake  <eblake@redhat.com>
31272             Bruno Haible  <bruno@clisp.org>
31273
31274         read-file: Avoid memory reallocations with regular files.
31275         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
31276         (fread_file): With regular files, use the remaining length as the
31277         initial buffer size.  Check against overflow.
31278         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
31279         sys_stat.
31280
31281 2010-08-28  Bruno Haible  <bruno@clisp.org>
31282
31283         ftello: Relax license.
31284         * modules/ftello (License): Relax to LGPLv2+.
31285         Reported by Eric Blake.
31286
31287 2010-08-28  Bruno Haible  <bruno@clisp.org>
31288
31289         Avoid relocwrapper link errors due to gnulib replacement functions.
31290         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
31291         function.
31292         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31293
31294 2010-08-28  Bruno Haible  <bruno@clisp.org>
31295
31296         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
31297         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
31298         defined.
31299         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
31300         Suggested by Eric Blake.
31301
31302 2010-08-28  Bruno Haible  <bruno@clisp.org>
31303
31304         sys_socket, netdb: Ensure socklen_t gets defined.
31305         * modules/sys_socket (Depends-on): Add socklen.
31306         * modules/netdb (Depends-on): Likewise.
31307         * modules/getaddrinfo (Depends-on): Remove socklen.
31308         * modules/getsockopt (Depends-on): Likewise.
31309         * modules/setsockopt (Depends-on): Likewise.
31310         * tests/test-sys_socket.c: Check that socklen_t is defined.
31311         * tests/test-netdb.c: Likewise.
31312         * m4/socklen.m4: Update comments.
31313         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31314
31315 2010-08-27  Eric Blake  <eblake@redhat.com>
31316
31317         login_tty: add missing dependency
31318         * modules/login_tty (Depends-on): Add pty.
31319
31320 2010-08-26  Eric Blake  <eblake@redhat.com>
31321
31322         lib-symbol-versions: fix m4 quoting
31323         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
31324         format for AC_LINK_IFELSE.
31325
31326         glob: fix compile test
31327         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
31328
31329         btowc: fix missing file
31330         * modules/btowc (Files): Also ship locale-fr.m4.
31331
31332         lseek: fix link test
31333         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
31334         AC_LINK_IFELSE.
31335
31336         include_next: silence autoconf 2.68 warning
31337         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
31338         AC_COMPILE_IFELSE as special.
31339         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
31340         autoconf < 2.68.
31341
31342         acl: fix compilation test
31343         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
31344         AC_COMPILE_IFELSE.
31345
31346 2010-08-26  Bruno Haible  <bruno@clisp.org>
31347
31348         Modernize AC_TRY_RUN invocations.
31349         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
31350         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
31351         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
31352         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
31353         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
31354         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
31355         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
31356         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
31357         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
31358         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
31359         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
31360         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
31361         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
31362         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
31363         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
31364         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
31365         gl_MBRLEN_NUL_RETVAL): Likewise.
31366         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
31367         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
31368         Likewise.
31369         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
31370         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
31371         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
31372         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
31373         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
31374         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
31375         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
31376         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
31377         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
31378         Likewise.
31379         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
31380         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
31381         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
31382         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
31383         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
31384         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
31385         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
31386         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
31387         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
31388         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
31389
31390 2010-08-26  Bruno Haible  <bruno@clisp.org>
31391
31392         Modernize AC_TRY_LINK invocations.
31393         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
31394         AC_TRY_LINK.
31395         * m4/argp.m4 (gl_ARGP): Likewise.
31396         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
31397         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
31398         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
31399         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
31400         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
31401         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
31402         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
31403         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
31404         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
31405         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
31406         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
31407         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
31408         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
31409         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
31410         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
31411         * m4/hostent.m4 (gl_HOSTENT): Likewise.
31412         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
31413         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
31414         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
31415         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
31416         Likewise.
31417         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
31418         Likewise.
31419         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
31420         Likewise.
31421         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
31422         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
31423         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
31424         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
31425         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
31426         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
31427         * m4/servent.m4 (gl_SERVENT): Likewise.
31428         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
31429         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
31430         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
31431         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
31432         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
31433         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
31434         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
31435         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
31436         * modules/tsearch-tests (configure.ac): Likewise.
31437
31438 2010-08-26  Bruno Haible  <bruno@clisp.org>
31439
31440         Modernize AC_TRY_COMPILE invocations.
31441         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
31442         AC_TRY_COMPILE.
31443         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
31444         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
31445         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
31446         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
31447         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
31448         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
31449         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
31450         * m4/lock.m4 (gl_LOCK): Likewise.
31451         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
31452         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
31453         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
31454         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
31455         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
31456         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
31457         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
31458         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
31459         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
31460         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
31461         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
31462         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
31463         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
31464         extraneous semicolon.
31465
31466 2010-08-26  Jim Meyering  <meyering@redhat.com>
31467
31468         stat-time: relax license LGPL
31469         * modules/stat-time (License): Change from GPL to LGPL,
31470         with consent from all contributors, for use in libguile.
31471         Requested by Ludovic Courtès.
31472
31473 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
31474
31475         poll: return immediately on POLLHUP.
31476         * lib/poll.c (poll): Always set timeout before wait_timeout is
31477         computed.
31478
31479 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31480
31481         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
31482         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
31483         rmdir ("dir/.//"), unlinkat.
31484
31485 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
31486
31487         stdbool: avoid spurious failure with modern xlc
31488         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
31489
31490 2010-08-24  Bruno Haible  <bruno@clisp.org>
31491
31492         getloadavg: simplify code
31493         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
31494         gl_have_func. Update comments.
31495
31496 2010-08-24  Eric Blake  <eblake@redhat.com>
31497
31498         getloadavg: don't define SVR4 on cygwin
31499         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
31500         only define SVR4 when -lkvm is required.
31501         Reported by Yaakov Selkowitz.
31502
31503 2010-08-24  Bruno Haible  <bruno@clisp.org>
31504
31505         priv-set: fix comment
31506         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
31507
31508 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
31509
31510         priv-set: fix comments
31511         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
31512         to match code, as suggested by David Bartley in:
31513         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
31514
31515 2010-08-23  Eric Blake  <eblake@redhat.com>
31516
31517         stdbool: avoid rejecting clang
31518         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
31519         * tests/test-stdbool.c: Enable more tests if using the system
31520         <stdbool.h> instead of the gnulib replacement.
31521         (main): Move xlc bug test to a runtime test for all compilers.
31522         Reported by Anders Kaseorg.
31523
31524         argz: fix shell quoting issue
31525         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
31526         Reported by Charles Wilson.
31527
31528 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
31529             Erik Faye-Lund <kusmabite@gmail.com>
31530
31531         poll, select: handle ERROR_BROKEN_PIPE.
31532         * lib/poll.c (win32_compute_revents): Return POLLHUP when
31533         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
31534         * lib/select.c (win32_compute_revents): Do not mark a pipe
31535         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
31536
31537 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
31538
31539         fts: allow compilation with C++
31540         * lib/fts_.h: Specify extern "C" linkage with C++.
31541
31542 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31543
31544         Fix gnulib-tool sed script de-commentation for AIX sed.
31545         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
31546         sed.
31547
31548 2010-08-17  Eric Blake  <eblake@redhat.com>
31549
31550         test-stddef: test for (some) offsetof bugs
31551         * tests/test-stddef.c: Enhance test to ensure correct type of
31552         offsetof.
31553         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
31554         that we are not fixing at this time.
31555
31556 2010-08-15  Bruno Haible  <bruno@clisp.org>
31557
31558         stpncpy: Allow stpncpy to be defined as a macro.
31559         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
31560         if it's already correctly declared.
31561         * lib/string.in.h (stpncpy): Undefine before redefining.
31562         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
31563
31564 2010-08-14  Bruno Haible  <bruno@clisp.org>
31565
31566         Rename module 'memxfrm' to 'amemxfrm'.
31567         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
31568         (amemxfrm): Renamed from memxfrm.
31569         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
31570         (amemxfrm): Renamed from memxfrm.
31571         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
31572         * NEWS: Mention the change.
31573         * MODULES.html.sh (String handling <string.h>): Update.
31574         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
31575         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
31576         * lib/unicase/u16-casexfrm.c: Likewise.
31577         * lib/unicase/u32-casexfrm.c: Likewise.
31578         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
31579         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
31580         * lib/uninorm/u16-normxfrm.c: Likewise.
31581         * lib/uninorm/u32-normxfrm.c: Likewise.
31582         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
31583         memxfrm.
31584         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
31585         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
31586         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
31587         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
31588         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
31589         Suggested by Paul Eggert.
31590
31591 2010-08-14  Bruno Haible  <bruno@clisp.org>
31592
31593         Tests for module 'astrxfrm'.
31594         * modules/astrxfrm-tests: New file.
31595         * tests/test-astrxfrm.c: New file.
31596
31597         New module 'astrxfrm'.
31598         * lib/astrxfrm.h: New file.
31599         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
31600         * modules/astrxfrm: New file.
31601
31602 2010-08-14  Reuben Thomas <rrt@sc3d.org>
31603
31604         regex: Tweak doc.
31605         * doc/regex.texi (Overview): Don't mention regex.c.
31606         (GNU Regular Expression Compiling): Likewise.
31607         (Match-end-of-line Operator): Mention 'not_eol'.
31608
31609 2010-08-14  Brian Gough  <bjg@gnu.org>
31610             Bruno Haible  <bruno@clisp.org>
31611
31612         git-merge-changelog: add doc relating to use with bzr and hg.
31613         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
31614
31615 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
31616
31617         pthread: fix pthread.h creation for srcdir != builddir
31618         * modules/pthread (Makefile.am): Fix the rule to work also in a
31619         non-srcdir build.
31620
31621 2010-08-13  Karl Berry  <karl@gnu.org>
31622
31623         * doc/regex.texi (Predefined Syntaxes): @smallexample.
31624         * doc/posix-*/*: force line break before @url of POSIX
31625         specifications.
31626         Suggested by Werner Lemberg.
31627
31628 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
31629
31630         strtod: fix const diagnostic
31631         * lib/strtod.c (strtod): Don't assign const char * to char *,
31632         as this elicits a warning from GCC when warnings are enabled.
31633
31634 2010-08-10  Pádraig Brady <P@draigbrady.com>
31635         and Eric Blake  <eblake@redhat.com>
31636
31637         copy-acl: ignore ENOTSUP on HP-UX
31638         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
31639         so that it is available for HP-UX.
31640         * lib/copy-acl.c (qcopy_acl): Use it.
31641         Reported by Patrick M. Callahan.
31642
31643 2010-08-10  Eric Blake  <eblake@redhat.com>
31644
31645         open, chown: relax license
31646         * modules/open (License): Change to LGPLv2+, with consent by all
31647         authors, for use in augeas.
31648         * modules/chown (License): Likewise.
31649         * modules/lchown (Likewise): Likewise.
31650         Requested by Adam Stokes.
31651
31652 2010-08-09  Karl Berry  <karl@gnu.org>
31653
31654         * build-aux/ar-lib: new file, import from Automake.
31655         * config/srclist.txt: autocheck for updates.
31656
31657 2010-08-09  Eric Blake  <eblake@redhat.com>
31658
31659         readlinkat: adjust client modules
31660         * modules/areadlinkat (Depends-on): Use readlinkat, not
31661         symlinkat.
31662         * modules/areadlinkat-with-size (Depends-on): Likewise.
31663
31664         mknod: be more vocal about danger of running tests as root
31665         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
31666         root, since that is just asking for problems.
31667         Suggested by Bruno Haible, based on a report by Rainer Tammer.
31668
31669         readlinkat: split into its own module
31670         * modules/symlinkat: Split readlinkat...
31671         * modules/readlinkat: ...into separate module.
31672         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
31673         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
31674         * lib/symlinkat.c (readlinkat): Move...
31675         * lib/readlinkat.c: ...into new file.
31676         * modules/symlinkat-tests: Split readlinkat test...
31677         * modules/readlinkat-tests: ...into separate module.
31678         * tests/test-symlinkat.c: Split...
31679         * tests/test-readlinkat.c: ...into new file.
31680         * NEWS: Document the split.
31681         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
31682         * lib/unistd.in.h (readlinkat): Likewise.
31683         Suggested by Bruno Haible.
31684
31685 2010-08-08  Bruno Haible  <bruno@clisp.org>
31686
31687         memxfrm: Speed up.
31688         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
31689         that usually only one call to strxfrm is necessary for each string
31690         part.
31691         Reported by Paul Eggert <eggert@cs.ucla.edu>.
31692
31693 2010-08-07  Karl Berry  <karl@gnu.org>
31694
31695         * doc/posix-headers/limits.texi,
31696         * doc/posix-functions/malloc.texi,
31697         * doc/posix-functions/strsignal.texi: missing @item.
31698         * doc/ld-version-script.texi: spurious leading i.
31699         * doc/regex.texi (Interval Operators): no commas inside @var.
31700
31701 2010-08-01  Bruno Haible  <bruno@clisp.org>
31702
31703         Integrate the regex documentation.
31704         * doc/gnulib.texi: Define 'cn' index.
31705         (Regular expressions): New a chapter that includes regex.texi and
31706         regexprops-generic.texi.
31707         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
31708         syntax.
31709
31710         Whitespace cleanup.
31711         * doc/regex.texi: Remove trailing spaces.
31712
31713         Add regex documentation.
31714         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
31715         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
31716         Written by Kathy A. Hargreaves and Karl Berry.
31717
31718 2010-08-01  Bruno Haible  <bruno@clisp.org>
31719
31720         link: Update documentation.
31721         * doc/posix-functions/link.texi: Update regarding Solaris.
31722
31723 2010-07-31  Bruno Haible  <bruno@clisp.org>
31724
31725         Update modules list.
31726         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
31727         (String handling <string.h>): Add memcmp2, memxfrm.
31728         (Container data structures): Add xlist, xsublist, xoset.
31729         (Core language properties): Add alignof, unused-parameter.
31730         (Process control, Numeric conversion functions <stdlib.h>): Renamed
31731         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
31732         (Unibyte characters <ctype.h>): New section.
31733         (String handling <string.h>): New section.
31734         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
31735         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
31736         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
31737         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
31738         tan, tanh, tanl, y0, y1, yn.
31739         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
31740         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
31741         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
31742         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
31743         unlockpt, vdprintf, vdprintf-posix.
31744         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
31745         (File system functions): Add concat-filename, sys_file, sys_ioctl,
31746         xconcat-filename.
31747         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
31748         getdtablesize, pipe2, pipe2-safer.
31749         (Security): New section.
31750         (Networking functions): Add accept4.
31751         (Signal handling): Add sigpipe.
31752         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
31753         mbmemcasecoll.
31754         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
31755         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
31756         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
31757         pipe-filter-ii.
31758         (Misc): Add argp-version-etc, login_tty, parse-duration.
31759
31760 2010-07-31  Bruno Haible  <bruno@clisp.org>
31761
31762         Improve doc in MODULES.html.
31763         * modules/linkat (Description): Add the word "function".
31764         * modules/mkfifo (Description): Likewise.
31765         * modules/mknod (Description): Likewise.
31766         * modules/remove (Description): Likewise.
31767         * modules/renameat (Description): Likewise.
31768         * modules/stat (Description): Likewise.
31769         * modules/symlink (Description): Likewise.
31770         * modules/unlink (Description): Likewise.
31771
31772 2010-07-31  Bruno Haible  <bruno@clisp.org>
31773
31774         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
31775         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
31776         option --enable/disable-c++ instead of --enable/disable-cxx.
31777         * NEWS: Mention the change.
31778
31779 2010-07-31  Bruno Haible  <bruno@clisp.org>
31780
31781         readlink, areadlink: Relax test a bit.
31782         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
31783         alternative to ENOTDIR.
31784         * tests/test-areadlink.h (test_areadlink): Likewise.
31785         Reported by Rainer Tammer.
31786
31787 2010-07-31  Bruno Haible  <bruno@clisp.org>
31788
31789         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
31790         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
31791         character, perform the search using U_STRCHR.
31792         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
31793         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
31794         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
31795         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
31796         Suggested by Paolo Bonzini.
31797
31798 2010-07-31  Bruno Haible  <bruno@clisp.org>
31799
31800         unistr/u*-strstr: Fix dependencies.
31801         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
31802         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
31803         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
31804
31805 2010-07-31  Bruno Haible  <bruno@clisp.org>
31806
31807         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
31808         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
31809         the beginning of the loop.
31810         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
31811         cases in 'switch' statement.
31812
31813         unistr/u8-strchr: Fix several bugs.
31814         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
31815         the string. When not found, return NULL, not a pointer near the end.
31816
31817         More tests for unistr/u8-strchr.
31818         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
31819         that the function does not read past the first occurrence of the byte
31820         being searched.
31821         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
31822         * tests/unistr/test-u16-strchr.c (main): New function.
31823         * tests/unistr/test-u32-strchr.c (main): New function.
31824
31825 2010-07-31  Bruno Haible  <bruno@clisp.org>
31826
31827         posix-modules: Ignore backup files of documentation files.
31828         * posix-modules: grep only through files named *.texi.
31829
31830 2010-07-31  Bruno Haible  <bruno@clisp.org>
31831
31832         symlinkat: Fix documentation.
31833         * doc/posix-functions/readlinkat.texi: Fix module name.
31834
31835 2010-07-31  Bruno Haible  <bruno@clisp.org>
31836
31837         fchownat: Replace also when chown has the trailing slash bug.
31838         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
31839         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
31840         introduced on 2010-04-10.
31841         Reported by Rainer Tammer.
31842
31843 2010-07-31  Bruno Haible  <bruno@clisp.org>
31844
31845         linkat: Work around AIX 7.1 bug.
31846         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
31847         whether linkat handles trailing slash correctly. If not, replace linkat
31848         and define LINKAT_TRAILING_SLASH_BUG.
31849         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
31850         check whether (fd1,file1) points to a directory if file1 or file2 ends
31851         in a slash. Code taken from lib/link.c.
31852         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
31853         Reported by Rainer Tammer.
31854
31855 2010-07-31  Bruno Haible  <bruno@clisp.org>
31856
31857         Correctly determine whether pow is available in libc on AIX 7 with xlc.
31858         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
31859         This disables an xlc optimization that was causing wrong test results.
31860         Reported by Rainer Tammer.
31861
31862 2010-07-31  Bruno Haible  <bruno@clisp.org>
31863
31864         iconv: Work around AIX 6.1..7.1 bug.
31865         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
31866         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
31867         cross-compiling, guess no on all versions of AIX.
31868         Reported by Rainer Tammer.
31869
31870 2010-07-31  Bruno Haible  <bruno@clisp.org>
31871
31872         readlink: Relax test a bit.
31873         * tests/test-readlink.h (test_readlink): Allow different errno value
31874         when readlink is called with a file name that ends in / and refers to
31875         a file.
31876         Suggested by Eric Blake.
31877         Reported by Rainer Tammer.
31878
31879 2010-07-31  Bruno Haible  <bruno@clisp.org>
31880
31881         copysign: Does not require -lm on glibc systems.
31882         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
31883         gl_COMMON_DOUBLE_MATHFUNC.
31884         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
31885
31886 2010-07-31  Bruno Haible  <bruno@clisp.org>
31887
31888         duplocale: Work around AIX 7.1 bug.
31889         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
31890         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
31891         * lib/duplocale.c (rpl_duplocale): Update comment.
31892         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
31893         Reported by Rainer Tammer.
31894
31895 2010-07-30  Bruno Haible  <bruno@clisp.org>
31896
31897         dirfd: Avoid link error on AIX 7.1.
31898         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
31899         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
31900         exist, set REPLACE_DIRFD.
31901         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
31902         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
31903         * doc/posix-functions/dirfd.texi: Update.
31904         Reported by Rainer Tammer.
31905
31906 2010-07-30  Eric Blake  <eblake@redhat.com>
31907
31908         strtod: next round of AIX fixes
31909         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
31910         exponent.
31911         * tests/test-strtod.c (main): Enhance tests.
31912         * doc/posix-functions/strtod.texi (strtod): Document next bug.
31913         Reported by Rainer Tammer.
31914
31915         futimens: fix configure check
31916         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
31917         Reported by Bruno Haible.
31918
31919 2010-07-30  Bruno Haible  <bruno@clisp.org>
31920
31921         getline: Update regarding AIX.
31922         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
31923         Reported by Rainer Tammer.
31924
31925 2010-07-30  Bruno Haible  <bruno@clisp.org>
31926
31927         wcwidth: Drop replacement on AIX 7.
31928         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
31929         AIX 7.
31930         Reported by Rainer Tammer.
31931
31932 2010-07-30  Bruno Haible  <bruno@clisp.org>
31933
31934         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
31935         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
31936         a 'char *'.
31937         Reported by Rainer Tammer.
31938
31939 2010-07-30  Bruno Haible  <bruno@clisp.org>
31940
31941         unlink: Update regarding AIX.
31942         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
31943         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
31944         Reported by Rainer Tammer.
31945
31946 2010-07-30  Bruno Haible  <bruno@clisp.org>
31947
31948         symlink: Update regarding AIX.
31949         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
31950         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
31951         Reported by Rainer Tammer.
31952
31953 2010-07-30  Bruno Haible  <bruno@clisp.org>
31954
31955         strndup: Update regarding AIX.
31956         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
31957         AIX 7.
31958         Reported by Rainer Tammer.
31959
31960 2010-07-30  Bruno Haible  <bruno@clisp.org>
31961
31962         stat: Update regarding AIX.
31963         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
31964         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
31965         Reported by Rainer Tammer.
31966
31967 2010-07-30  Bruno Haible  <bruno@clisp.org>
31968
31969         truncl: Fix autoconf test.
31970         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
31971         whether truncl works.
31972         Reported by Rainer Tammer.
31973
31974 2010-07-30  Bruno Haible  <bruno@clisp.org>
31975
31976         round: Update regarding AIX.
31977         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
31978         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
31979         Reported by Rainer Tammer.
31980
31981 2010-07-30  Bruno Haible  <bruno@clisp.org>
31982
31983         rename: Update regarding AIX.
31984         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
31985         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
31986         Reported by Rainer Tammer.
31987
31988 2010-07-30  Bruno Haible  <bruno@clisp.org>
31989
31990         printf.m4: Update regarding AIX.
31991         * m4/printf.m4: Update comments regarding AIX.
31992         Reported by Rainer Tammer.
31993
31994 2010-07-30  Bruno Haible  <bruno@clisp.org>
31995
31996         iconv: Update regarding AIX.
31997         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
31998         AIX 7.
31999         Reported by Rainer Tammer.
32000
32001 2010-07-30  Bruno Haible  <bruno@clisp.org>
32002
32003         getopt: Update regarding AIX.
32004         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
32005         no on AIX.
32006         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
32007         Reported by Rainer Tammer.
32008
32009 2010-07-30  Bruno Haible  <bruno@clisp.org>
32010
32011         ldexpl; Update regarding AIX.
32012         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
32013         on AIX 7.
32014         Reported by Rainer Tammer.
32015
32016 2010-07-30  Bruno Haible  <bruno@clisp.org>
32017
32018         frexpl: Update regarding AIX.
32019         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
32020         on AIX 7.
32021         Reported by Rainer Tammer.
32022
32023 2010-07-30  Bruno Haible  <bruno@clisp.org>
32024
32025         open, fopen: Update regarding AIX.
32026         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
32027         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
32028         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
32029         * doc/posix-functions/fopen.texi: Likewise.
32030         Reported by Rainer Tammer.
32031
32032 2010-07-30  Bruno Haible  <bruno@clisp.org>
32033
32034         chown: Update doc regarding AIX.
32035         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
32036         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
32037         Reported by Rainer Tammer.
32038
32039 2010-07-30  Eric Blake  <eblake@redhat.com>
32040
32041         strtod: fix bug in replacement function on AIX
32042         * lib/strtod.c (strtod): Special case broken "0x" parse in
32043         underlying strtod.
32044         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
32045         * doc/posix-functions/strtod.texi (strtod): Likewise.
32046         Reported by Rainer Tammer.
32047
32048 2010-07-30  Bruno Haible  <bruno@clisp.org>
32049
32050         mbrlen: Fix cross-compilation guess for AIX.
32051         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
32052         guess. Leftover from 2008-12-22.
32053
32054 2010-07-30  Bruno Haible  <bruno@clisp.org>
32055
32056         mbrtowc: Fix cross-compilation guess for AIX.
32057         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
32058         guess. Leftover from 2008-12-21.
32059
32060 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
32061
32062         init.sh: work around trap limitation of some shells
32063         * tests/init.sh (setup_): Move exit trap outside of shell function.
32064
32065 2010-07-29  Eric Blake  <eblake@redhat.com>
32066
32067         strtod: aid debugging
32068         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
32069         understanding why strtod is rejected.
32070
32071 2010-07-28  Bruno Haible  <bruno@clisp.org>
32072
32073         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
32074         * lib/unistr/u8-chr.c: Include <string.h>.
32075         * tests/unistr/test-u8-chr.c: Likewise.
32076         * tests/unistr/test-u16-chr.c: Likewise.
32077         * tests/unistr/test-u32-chr.c: Likewise.
32078         * tests/unistr/test-u8-strchr.c: Likewise.
32079         * tests/unistr/test-u16-strchr.c: Likewise.
32080         * tests/unistr/test-u32-strchr.c: Likewise.
32081         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
32082         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
32083         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
32084         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
32085
32086 2010-07-28  Bruno Haible  <bruno@clisp.org>
32087
32088         Use spaces for indentation, not tabs.
32089         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
32090
32091 2010-07-27  Bruno Haible  <bruno@clisp.org>
32092
32093         mbspcasecmp: Fix function specification.
32094         * lib/string.in.h (mbspcasecmp): Fix specification comment.
32095         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
32096         Reported by Eric Blake <eblake@redhat.com>.
32097
32098 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
32099
32100         timespec: use cast and not conditional, as truncation isn't possible
32101         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
32102         instead of a conditional.  Comment about the situation in more detail.
32103         This undoes most of the 2009-10-29 patch.
32104
32105 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
32106
32107         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
32108         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
32109         * lib/unistr/u8-strchr.c: Likewise.
32110         * modules/unistr/u8-chr: Depend on memchr.
32111
32112         unistr/u*-strchr: add tests
32113         * modules/unistr/u8-strchr-tests: New file.
32114         * modules/unistr/u16-strchr-tests: New file.
32115         * modules/unistr/u32-strchr-tests: New file.
32116         * tests/unistr/test-strchr.h: New file.
32117         * tests/unistr/test-u8-strchr.c: New file.
32118         * tests/unistr/test-u16-strchr.c: New file.
32119         * tests/unistr/test-u32-strchr.c: New file.
32120
32121         unistr/u*-chr: test multibyte sequences more
32122         * tests/unistr/test-chr.h: Do complete testing of the characters in the
32123         test vector.
32124         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
32125         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
32126         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
32127
32128         unistr/u*-chr: test multibyte sequences
32129         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
32130
32131         unistr/u*-chr: prepare for multibyte tests
32132         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
32133         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
32134         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
32135         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
32136         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
32137         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
32138
32139 2010-07-18  Bruno Haible  <bruno@clisp.org>
32140
32141         unistr/u8-strchr: Optimize non-ASCII argument case.
32142         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
32143         because the first byte often matches anyway.
32144         Reported by Pádraig Brady <P@draigbrady.com>.
32145
32146 2010-07-15  Karl Berry  <karl@gnu.org>
32147
32148         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
32149
32150 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
32151
32152         getcwd: on Solaris, work better if ancestors are inaccessible
32153         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
32154         buffer and size, try again with a large buffer.  This works better
32155         on Solaris, since its getcwd succeeds even if the path to the root
32156         is inaccessible, and this is helpful in common cases such as .zfs
32157         hidden directories.  Problem reported by J Chapman Flack in
32158         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
32159         Use system getcwd if it's declared, not merely if it's partly
32160         working; use the partly-working test only to avoid needless effort
32161         if the system getcwd fails.
32162         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
32163         comment that was already obsolete and is now even more obsolete.
32164         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
32165         now might call strdup.
32166
32167 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
32168
32169         pthread: Add enough so that coreutils/src/sort.c compiles.
32170         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
32171         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
32172         gnulib. Include <sched.h> and <time.h>, as per POSIX.
32173         Include <sys/types.h>, in case it defines pthread_t.
32174         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
32175         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
32176         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
32177         (pthread_rwlockattr_t, pthread_spinlock_t):
32178         New typedefs, if HAVE_PTHREAD_T is not defined.
32179         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
32180         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
32181         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
32182         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
32183         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
32184         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
32185         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
32186         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
32187         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
32188         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
32189         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
32190         New macros.
32191         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
32192         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
32193         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
32194         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
32195         (pthread_spin_unlock): New dummy functions.
32196         (pthread_create): Return EAGAIN; don't set errno.
32197         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
32198         require AC_C_INLINE.
32199         * modules/pthread (Depends-on): Add sched, time.
32200         (pthread.h): Use AM_V_GEN.
32201
32202 2010-07-13  Bruno Haible  <bruno@clisp.org>
32203
32204         striconveh: Don't malloc memory if the result buffer is sufficient.
32205         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
32206         buffer if its size is sufficient.
32207         Reported by Ludovic Courtès <ludo@gnu.org>.
32208
32209 2010-07-13  Bruno Haible  <bruno@clisp.org>
32210
32211         strtod: Add safety check.
32212         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
32213
32214 2010-07-12  Bruno Haible  <bruno@clisp.org>
32215
32216         Unify tests that set gl_cv_func_ldexpl_no_libm.
32217         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
32218         gl_FUNC_LDEXPL.
32219         (gl_FUNC_LDEXPL): Invoke it.
32220         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
32221
32222 2010-07-12  Bruno Haible  <bruno@clisp.org>
32223
32224         Unify tests that set gl_cv_func_ldexp_no_libm.
32225         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
32226         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
32227         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
32228         (configure.ac): Simply invoke gl_FUNC_LDEXP.
32229         * modules/strtod (Files): Add m4/ldexp.m4.
32230
32231 2010-07-12  Bruno Haible  <bruno@clisp.org>
32232
32233         Unify tests that set gl_cv_func_frexpl_no_libm.
32234         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
32235         gl_FUNC_FREXPL_NO_LIBM.
32236         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
32237         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
32238
32239 2010-07-12  Bruno Haible  <bruno@clisp.org>
32240
32241         Unify tests that set gl_cv_func_frexp_no_libm.
32242         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
32243         gl_FUNC_FREXP_NO_LIBM.
32244         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
32245         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
32246
32247 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
32248
32249         memcoll: clarify sizes versus lengths, document better, and tweak perf
32250         * lib/memcoll.c (strcoll_loop, memcoll0):
32251         Improve quality of descriptive comments.  Name variables
32252         consistently as to whether they are lengths (which do not include
32253         terminating null) versus sizes (which do).
32254         * lib/xmemcoll.c (xmemcoll0): Likewise.
32255         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
32256         returned when s1size == 0; this is easier to compile and saves
32257         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
32258
32259 2010-07-12  Bruno Haible  <bruno@clisp.org>
32260
32261         Tests for module '_Exit'.
32262         * modules/_Exit-tests: New file.
32263         * tests/test-_Exit.sh: New file.
32264         * tests/test-_Exit.c: New file.
32265
32266         New module '_Exit'.
32267         * lib/stdlib.in.h (__attribute__): New macro.
32268         (_Exit): New declaration.
32269         * lib/_Exit.c: New file.
32270         * m4/_Exit.m4: New file.
32271         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
32272         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
32273         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
32274         * modules/_Exit: New file.
32275         * tests/test-stdlib-c++.cc (_Exit): Check signature.
32276         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
32277
32278 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
32279
32280         strtod: make it more-accurate typically, and don't require libm
32281         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
32282         Include limits.h.  Don't include string.h.
32283         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
32284         (locale_isspace): New function, so that no casts are needed to
32285         check whether *s is a space.
32286         (ldexp): Provide an unused dummy if not available.
32287         (scale_radix_exp, parse_number, underlying_strtod): New functions.
32288         (strtod): Use them.  This implementation prefers to use the
32289         underlying strtod if available, falling back on our own code
32290         only to fix known bugs.  This is more likely to produce an
32291         accurate result.  Also, it avoids the use of libm functions.
32292         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
32293         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
32294         was absent, but it caused a test failure with coreutils.
32295         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
32296         with libm.
32297         * modules/strtod (Makefile.am, Link): libm is no longer needed.
32298         * modules/strtod-tests (Makefile.am): Likewise.
32299
32300 2010-07-11  Pádraig Brady  <P@draigBrady.com>
32301             Bruno Haible  <bruno@clisp.org>
32302
32303         unistr/u8-strchr: Optimize ASCII argument case.
32304         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
32305
32306 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
32307
32308         (x)memcoll: minor tweaks
32309         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
32310         is after the type that it qualifies.
32311         (memcoll0): Likewise.
32312         * lib/memcoll.h (memcoll0): Likewise.
32313         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
32314         * lib/xmemcoll.h (xmemcoll0): Likewise.
32315         * lib/memcoll.c (memcoll0): Correct the comment.  This function
32316         differs from memcoll in that the NUL byte is part of the argument.
32317         Omit the abort-checks, as performance is a real issue here.  Plus,
32318         the checks were wrong anyway (an off-by-one error).  Omit local
32319         variable 'diff', as it's a bit clearer that way.
32320         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
32321         no longer needed.
32322
32323 2010-07-08  Chen Guo <chenguo4@yahoo.com>
32324
32325         (x)memcoll: speedup when input is known to be NUL delimited
32326         * lib/memcoll.c: Include stdlib.
32327         (memcoll0): New function.
32328         (strcoll_loop): New function, refactored for use in both memcoll
32329         and memcoll0.
32330         * lib/memcoll.h (memcoll0): Add prototype.
32331         * lib/xmemcoll.c (xmemcoll0): New function.
32332         (collate_error): New function, refactored for use in both xmemcoll
32333         and xmemcoll0.
32334         * lib/xmemcoll.h (xmemcoll0): Add prototype.
32335         * m4/memcoll.m4: add inline invocation.
32336
32337 2010-07-06  Pádraig Brady  <P@draigBrady.com>
32338
32339         * build-aux/bootstrap: Remove any local translations
32340         from the translation project synchronization directory,
32341         so that local only translations are not distributed.
32342
32343 2010-07-04  Bruno Haible  <bruno@clisp.org>
32344
32345         fsusage: Clarify which code applies to which platforms.
32346         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
32347         platform.
32348         * lib/fsusage.c (get_fs_usage): Likewise.
32349
32350 2010-07-04  Bruno Haible  <bruno@clisp.org>
32351
32352         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
32353         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
32354         Reported by Martin Lambers <marlam@marlam.de>.
32355
32356 2010-07-04  Jim Meyering  <meyering@redhat.com>
32357
32358         hash: once again explicitly disallow insertion of NULL
32359         * lib/hash.c (hash_insert0): Reinstate just-removed test:
32360         inserting a NULL pointer cannot work with these functions.
32361         Add a comment with details.
32362         This reverts part of the 2010-07-01 commit, 5bef1a35
32363         "hash: extend module to deal with non-pointer keys".
32364
32365 2010-07-01  Bruno Haible  <bruno@clisp.org>
32366
32367         stdbool: Update doc.
32368         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
32369         Info from Christian Weisgerber <naddy@mips.inka.de>.
32370
32371 2010-07-01  Jim Meyering  <meyering@redhat.com>
32372
32373         hash: extend module to deal with non-pointer keys
32374         * lib/hash.c (hash_insert0): New interface, much like hash_insert
32375         but that allows insertion of non-pointer entries.
32376         Do not disallow an ENTRY value of NULL.
32377         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
32378         * lib/hash.h (hash_insert0): Declare.
32379
32380 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
32381
32382         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
32383         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
32384         not present (i.e. with autoconf 2.59 and when using gettextize, not
32385         gnulib), require AC_GNU_SOURCE instead.
32386
32387 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
32388
32389         idpriv-drop: Fix tests.
32390         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
32391         not to the test-idpriv-droptemp program.
32392
32393 2010-06-29  Bruno Haible  <bruno@clisp.org>
32394
32395         string: Fix syntax error with g++ 2.96.
32396         * lib/string.in.h (__pure__): Remove definition.
32397         (_GL_ATTRIBUTE_PURE): New macro.
32398         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
32399         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
32400         Reported by Christian Weisgerber <naddy@mips.inka.de>.
32401
32402 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
32403
32404         unitypes: Fix bug introduced on 2010-05-18.
32405         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
32406
32407 2010-06-22  Eric Blake  <eblake@redhat.com>
32408
32409         memmem: slight optimization
32410         * lib/str-two-way.h (critical_factorization): Update comments.
32411         Reduce work during factorization phase.
32412         Reported by Carlos Bueno <carlos@bueno.org>.
32413
32414 2010-06-21  Bruno Haible  <bruno@clisp.org>
32415
32416         Fix HAVE_CALLOC_POSIX misnomer.
32417         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
32418         !HAVE_CALLOC_POSIX.
32419         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
32420         HAVE_CALLOC_POSIX.
32421         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
32422         instead of HAVE_CALLOC_POSIX.
32423         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
32424         HAVE_CALLOC_POSIX.
32425
32426         Use modern idiom for calloc() replacement.
32427         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
32428         AC_FUNC_CALLOC.
32429         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
32430         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
32431         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
32432         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
32433         (gl_REPLACE_CALLOC): New macro.
32434
32435 2010-06-21  Bruno Haible  <bruno@clisp.org>
32436
32437         Fix HAVE_REALLOC_POSIX misnomer.
32438         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
32439         !HAVE_REALLOC_POSIX.
32440         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
32441         HAVE_REALLOC_POSIX.
32442         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
32443         instead of HAVE_REALLOC_POSIX.
32444         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
32445         HAVE_REALLOC_POSIX.
32446
32447         Use modern idiom for realloc() replacement.
32448         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
32449         AC_FUNC_REALLOC.
32450         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
32451         Autoconf's AC_FUNC_REALLOC.
32452         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
32453         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
32454         (gl_REPLACE_REALLOC): New macro.
32455         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
32456
32457 2010-06-21  Bruno Haible  <bruno@clisp.org>
32458
32459         Fix HAVE_MALLOC_POSIX misnomer.
32460         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
32461         !HAVE_MALLOC_POSIX.
32462         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
32463         HAVE_MALLOC_POSIX.
32464         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
32465         instead of HAVE_MALLOC_POSIX.
32466         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
32467         HAVE_MALLOC_POSIX.
32468
32469         Use modern idiom for malloc() replacement.
32470         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
32471         AC_FUNC_MALLOC.
32472         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
32473         Autoconf's AC_FUNC_MALLOC.
32474         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
32475         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
32476         (gl_REPLACE_MALLOC): New macro.
32477         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
32478
32479 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
32480
32481         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
32482         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
32483         This macro takes 3 arguments, not 4.
32484
32485 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
32486
32487         ipv6: fix detection under mingw
32488         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
32489         in6_addr.
32490
32491 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
32492
32493         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
32494         that strtod() works when cross-compiling to a glibc version known
32495         to work.
32496
32497 2010-06-15  Bruno Haible  <bruno@clisp.org>
32498
32499         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
32500
32501 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
32502
32503         select: Correct timeout.
32504         * lib/select.c (rpl_select): Compute wait_timeout correctly.
32505
32506 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
32507
32508         git-version-gen: init shell var to avoid env var influence
32509         * build-aux/git-version-gen (v): Init shell var to empty.
32510
32511 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
32512
32513         priv-set: Don't assume that priv.h exists merely because getppriv does.
32514         See Jan Andersen's bug report about AIX 5L in
32515         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
32516         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
32517         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
32518         * lib/priv-set.h: Likewise.
32519         * tests/test-priv-set.c: Likewise.
32520
32521 2010-06-13  Bruno Haible  <bruno@clisp.org>
32522
32523         relocatable: Make it easier to test whether to install wrappers.
32524         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
32525         RELOCATABLE_VIA_WRAPPER.
32526
32527 2010-06-13  Bruno Haible  <bruno@clisp.org>
32528
32529         gnulib-tool: Display specified modules and dependencies differently.
32530         * gnulib-tool (func_show_module_list): New function.
32531         (func_import, func_create_testdir): Invoke it.
32532         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
32533
32534 2010-06-13  Bruno Haible  <bruno@clisp.org>
32535
32536         gnulib-tool: Align code of func_import and func_create_testdir.
32537         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
32538         specified_modules.
32539
32540 2010-06-12  Jim Meyering  <meyering@redhat.com>
32541
32542         test-inttostr: avoid spurious failure on Solaris 9
32543         * tests/test-inttostr.c (main): Skip the test when snprintf fails
32544         to accept "%ju".  Reported by Bruno Haible.
32545
32546 2010-06-11  Jim Meyering  <meyering@redhat.com>
32547
32548         test-sys_socket: mark variables as used more readably
32549         * tests/test-sys_socket.c (main): Mark otherwise unused variables
32550         as "used" explicitly via (void) statement casts.  This is more
32551         readable than using them in an artificial return expression.
32552         Suggestion from Bruno Haible.
32553
32554 2010-06-11  Bruno Haible  <bruno@clisp.org>
32555
32556         Avoid some more warnings from "gcc -Wwrite-strings".
32557         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
32558         to 'const char *'.
32559         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
32560         * tests/test-c-strcasestr.c (main): Likewise.
32561         * tests/test-mbscasestr1.c (main): Likewise.
32562         * tests/test-mbscasestr2.c (main): Likewise.
32563         * tests/test-memmem.c (main): Likewise.
32564         * tests/test-strstr.c (main): Likewise.
32565         * tests/test-strcasestr.c (main): Likewise.
32566
32567 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32568
32569         init.sh: change framework_failure_ to fail with status 99, not 1
32570         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
32571         automake's parallel-tests rule that this is an unexpected failure,
32572         even if the test is listed in XFAIL_TESTS.
32573
32574 2010-06-11  Jim Meyering  <meyering@redhat.com>
32575
32576         test-inttostr: avoid warnings about 4-6KB literal strings
32577         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
32578         Include "macros.h", for its definition of ASSERT.
32579         (CK): s/assert/ASSERT/
32580         * modules/inttostr-tests (Files): Add macros.h.
32581
32582         init.sh: don't use $ME_ or skip_ before they are defined
32583         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
32584         their first uses.  Also hoist their companions: warn_, fail_,
32585         framework_failure_, $stderr_fileno.  Prompted by a patch from
32586         Stefano Lattarini.
32587
32588         test-sys_socket: avoid set-but-not-used warnings from gcc
32589         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
32590         avoid warning about set-but-not-used variables.
32591
32592         test-xvasprintf: avoid 'const' discard warnings
32593         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
32594         "const" when assigning from literal strings.
32595         (test_xasprintf): Add "void" in function argument list to placate
32596         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
32597
32598         tests: avoid compilation warnings in argmatch and exclude tests...
32599         in packages that define ARGMATCH_DIE_DECL, like coreutils.
32600         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
32601         Since it always exits, declare with the "noreturn" attribute.
32602         * tests/test-argmatch.c: Likewise.
32603
32604         tests: avoid 'const' discard warnings in mbsstr tests
32605         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
32606         * tests/test-mbsstr2.c (main): Likewise.
32607
32608         test-verify: avoid warning from gcc's -Wmissing-declarations
32609         * tests/test-verify.c (function): Declare to be static.
32610
32611         test-inttostr.c: include <string.h> for use of strcmp
32612         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
32613
32614         test-linkat: avoid failed assertion on "other" architectures
32615         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
32616         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
32617         sparc: https://bugs.launchpad.net/bugs/591968
32618
32619 2010-06-11  Jim Meyering  <meyering@redhat.com>
32620
32621         printf.m4: avoid autoconf's "Expanded Before Required" warning
32622         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
32623         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
32624         autoconf warning.
32625
32626 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
32627
32628         Replacement header templates are now named with ".in", not "_".
32629         * doc/gnulib-intro.texi: Correct.
32630
32631 2010-06-10  Jim Meyering  <meyering@redhat.com>
32632
32633         inttostr-tests: depend on snprintf, not snprintf-posix
32634         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
32635         snprintf-posix, to avoid this aclocal failure:
32636           missing file gnulib-tests/vasnprintf.c
32637           configure.ac:45: error: expected source file, required through \
32638           AC_LIBSOURCES, not found
32639
32640 2010-06-10  Jim Meyering  <meyering@redhat.com>
32641
32642         inttostr: add a new function, inttostr, and tests
32643         The namesake function was not available.  The existence of the
32644         template file, inttostr.c makes its addition nontrivial.
32645         * lib/anytostr.c: Rename from inttostr.c.
32646         (anytostr): Rename from inttostr.
32647         * lib/inttostr.c: New file.
32648         * modules/inttostr (Files): Add anytostr.c.
32649         (Makefile.am): Set lib_SOURCES instead of ...
32650         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
32651         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
32652         * lib/offtostr.c: Likewise.
32653         * lib/uinttostr.c: Likewise.
32654         * lib/umaxtostr.c: Likewise.
32655         * modules/inttostr-tests: New file.
32656         * tests/test-inttostr.c: New file.  Test these functions.
32657
32658 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
32659             Bruno Haible  <bruno@clisp.org>
32660
32661         Add "Extending Gnulib" chapter to manual.
32662         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
32663         chapter.
32664         (Extending Gnulib): New chapter.
32665         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
32666         chapter.
32667
32668 2010-06-09  Bruno Haible  <bruno@clisp.org>
32669
32670         Avoid relocwrapper link errors due to gnulib replacement functions.
32671         * lib/areadlink.c: Use the system's malloc, realloc functions.
32672         (areadlink): Set errno to ENOMEM explicitly.
32673         * modules/areadlink (Depends-on): Remove malloc-posix.
32674         Reported by Ben Pfaff <blp@cs.stanford.edu>.
32675
32676 2010-06-09  Bruno Haible  <bruno@clisp.org>
32677
32678         Avoid relocwrapper link errors due to gnulib replacement functions.
32679         * lib/canonicalize-lgpl.c: Use the system's malloc function.
32680         * lib/malloca.c: Likewise.
32681         * lib/relocatable.c: Likewise.
32682         * lib/progreloc.c: Use the system's malloc, sprintf functions.
32683         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
32684         * lib/setenv.c: Use the system's malloc, realloc functions.
32685         * lib/strerror.c: Use the system's sprintf function.
32686         Reported by Ben Pfaff <blp@cs.stanford.edu>.
32687
32688 2010-06-04  Bruno Haible  <bruno@clisp.org>
32689
32690         Prefer documented low-level autoconf macro names.
32691         * m4/lib-link.m4: Use m4_translit instead of translit.
32692         * m4/environ.m4: Likewise.
32693         * m4/mathfunc.m4: Likewise.
32694         * m4/onceonly.m4: Likewise.
32695         * m4/stdint.m4: Likewise.
32696         Suggested by Eric Blake.
32697
32698 2010-06-04  Martin Lambers  <marlam@marlam.de>
32699             Bruno Haible  <bruno@clisp.org>
32700
32701         havelib: Allow library names with '+' characters.
32702         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
32703         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
32704
32705 2010-06-09  Bruno Haible  <bruno@clisp.org>
32706
32707         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
32708         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
32709         realloc failed.
32710
32711 2010-06-08  Peter Simons  <simons@cryp.to>
32712
32713         maint.mk: make the news-check rule more configurable
32714         * top/maint.mk (news-check-lines-spec): New variable.
32715         (news-check): Use "sed -n 1,10p" in place of "head".
32716
32717 2010-06-07  Jim Meyering  <meyering@redhat.com>
32718
32719         do-release-commit-and-tag: fix typo in --help
32720         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
32721
32722         regex: avoid new dead-code warning with gcc-4.6.0
32723         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
32724         if-block containing a while-loop.  It's been unused for at least
32725         5 years.
32726
32727 2010-06-05  Bruno Haible  <bruno@clisp.org>
32728
32729         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
32730         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
32731
32732 2010-06-04  Bruno Haible  <bruno@clisp.org>
32733
32734         Update to GNU gettext 0.18.1.
32735         * modules/gettext (configure.ac): Require gettext infrastructure from
32736         version 0.18.1.
32737
32738 2010-06-03  Bruno Haible  <bruno@clisp.org>
32739
32740         Don't use AC_LIBOBJ with file names in subdirectories.
32741         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
32742         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
32743         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
32744         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
32745         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
32746         gl_LIBUNISTRING_LIBSOURCE.
32747         (Makefile.am): Augment lib_SOURCES here, conditionally.
32748         * NEWS: Drop requirement for Automake option 'subdir-objects'.
32749
32750 2010-06-03  Bruno Haible  <bruno@clisp.org>
32751
32752         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
32753         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
32754         expansion does not end with a newline.
32755         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
32756         unnecessary newline.
32757
32758 2010-06-03  Bruno Haible  <bruno@clisp.org>
32759
32760         Reduce dependencies.
32761         * tests/test-quotearg.h: New file, extracted from
32762         tests/test-quotearg.c.
32763         * tests/test-quotearg-simple.c: New file, extracted from
32764         tests/test-quotearg.c.
32765         * tests/test-quotearg.c: Don't include <ctype.h>.
32766         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
32767         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
32768         use_quote_double_quotes, use_quotearg_colon): Moved to
32769         tests/test-quotearg.h.
32770         (results_g, flag_results, custom_quotes, custom_results): Moved
32771         to tests/test-quotearg-simple.c.
32772         (main): Moved the part that does not depend on gettext to
32773         tests/test-quotearg-simple.c. Return 77 if the test cannot be
32774         performed.
32775         * modules/quotearg-simple: New file.
32776         * modules/quotearg-simple-tests: New file.
32777         * modules/quotearg (Depends-on): Add quotearg-simple.
32778         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
32779         (Files): Add tests/test-quotearg.h.
32780         Reported by Paolo Bonzini.
32781
32782 2010-06-03  Bruno Haible  <bruno@clisp.org>
32783
32784         Reduce dependencies.
32785         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
32786
32787 2010-06-03  Bruno Haible  <bruno@clisp.org>
32788
32789         time: Undefine more broken macros.
32790         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
32791         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
32792         Reported by Eric Blake.
32793
32794 2010-06-03  Bruno Haible  <bruno@clisp.org>
32795
32796         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
32797         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
32798         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
32799         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
32800         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
32801         Reported by Ludovic Courtès <ludo@gnu.org>.
32802
32803 2010-06-02  Eric Blake  <eblake@redhat.com>
32804
32805         time: work with mingw + pthreads-win32 library
32806         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
32807         if timespec is defined only in pthread.h.
32808         * modules/time (Makefile.am): Substitute it.
32809         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
32810         <pthread.h>, when needed.
32811         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
32812         from the library.
32813
32814 2010-05-31  Bruno Haible  <bruno@clisp.org>
32815
32816         Avoid expanding two macros in the wrong order.
32817         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
32818         gl_LIBUNISTRING if it is defined.
32819         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
32820         autoconf >= 2.64.
32821         Reported by Ludovic Courtès <ludo@gnu.org>.
32822
32823 2010-05-27  Jim Meyering  <meyering@redhat.com>
32824
32825         maint.mk: also prohibit "#undef" of always-defined symbols
32826         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
32827         Allow more than one space before the symbol name.
32828         (sc_prohibit_always-defined_macros): Use grep's -E, now that
32829         the regexp uses alternation.
32830
32831 2010-05-26  Eric Blake  <eblake@redhat.com>
32832
32833         maint.mk: avoid echo -e
32834         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
32835         Convert all uses of echo -* to printf.
32836         Reported by Matthias Bolte.
32837
32838 2010-05-25  Bruno Haible  <bruno@clisp.org>
32839
32840         Update to GNU gettext 0.18, part 2.
32841         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
32842         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
32843
32844 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32845
32846         Add missing include in test-pwrite.c.
32847         * tests/test-pwrite.c: Include string.h, for strcmp.
32848
32849 2010-05-24  Bruno Haible  <bruno@clisp.org>
32850
32851         * NEWS: Mention requirement for Automake option 'subdir-objects'.
32852
32853 2010-05-24  Bruno Haible  <bruno@clisp.org>
32854
32855         Don't use conversion with transliteration in u{8,16,32}_strcoll.
32856         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
32857         iconveh_error argument.
32858         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
32859         U_STRCONV_TO_LOCALE.
32860         * lib/unistr/u16-strcoll.c: Likewise.
32861         * lib/unistr/u32-strcoll.c: Likewise.
32862         * modules/unistr/u8-strcoll (Depends-on): Add
32863         uniconv/u8-strconv-to-enc, localcharset. Remove
32864         uniconv/u8-strconv-to-locale.
32865         (configure.ac): Bump version number.
32866         * modules/unistr/u16-strcoll (Depends-on): Add
32867         uniconv/u16-strconv-to-enc, localcharset. Remove
32868         uniconv/u16-strconv-to-locale.
32869         (configure.ac): Bump version number.
32870         * modules/unistr/u32-strcoll (Depends-on): Add
32871         uniconv/u32-strconv-to-enc, localcharset. Remove
32872         uniconv/u32-strconv-to-locale.
32873         (configure.ac): Bump version number.
32874
32875 2010-05-24  Bruno Haible  <bruno@clisp.org>
32876
32877         Avoid a test failure on NetBSD 5.0.
32878         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
32879         an iconv() bug.
32880
32881 2010-05-24  Bruno Haible  <bruno@clisp.org>
32882
32883         Adjust #include directive style.
32884         * modules/regex (Includes): Recommend to write <regex.h>.
32885
32886 2010-05-24  Bruno Haible  <bruno@clisp.org>
32887
32888         regex: Don't require alloca.
32889         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
32890         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
32891         only inside if (0).
32892
32893 2010-05-23  Jim Meyering  <meyering@redhat.com>
32894
32895         test-renameat.c: include <sys/stat.h>
32896         * tests/test-renameat.c: Include <sys/stat.h>; required for
32897         definition of S_IS* macros.
32898
32899 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
32900
32901         Update maintainer documentation for 'relocatable-prog' module.
32902         * doc/relocatable-maint.texi: Update.
32903         Comments by Bruno Haible.
32904
32905 2010-05-23  Bruno Haible  <bruno@clisp.org>
32906
32907         git-merge-changelog: Enable --split-merged-entry by default.
32908         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
32909         (usage): Don't mention this option any more.
32910         Reported by Ralf Wildenhues.
32911
32912 2010-05-23  Jim Meyering  <meyering@redhat.com>
32913
32914         test-pwrite: do not leave behind a test file named "out"
32915         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
32916         The trivial-looking use of init.sh is really necessary.
32917         It ensures that the temporary file, "out", is created in
32918         a temporary directory, and removed upon termination.
32919         * tests/test-pwrite.sh: Re-add file.
32920         * modules/pwrite-tests: Reference it.
32921
32922 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32923
32924         Fix output redirection buglet in init.sh.
32925         * tests/init.sh: Fix redirection of stderr.
32926
32927 2010-05-20  Simon Josefsson  <simon@josefsson.org>
32928
32929         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
32930
32931 2010-05-17  Simon Josefsson  <simon@josefsson.org>
32932
32933         * modules/valgrind-tests: New file.
32934         * m4/valgrind-tests.m4: New file.
32935         * doc/valgrind-tests.texi: New file.
32936         * doc/gnulib.texi (Running self-tests under valgrind): New
32937         section.
32938
32939 2010-05-19  Bruno Haible  <bruno@clisp.org>
32940
32941         Clean up dead code in recent commit.
32942         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
32943         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
32944         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
32945         Suggested by Paolo Bonzini.
32946
32947 2010-05-19  Bruno Haible  <bruno@clisp.org>
32948
32949         Avoid valgrind error reports from libunistring.
32950         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
32951         * modules/libunistring (Files): Add it.
32952         * modules/libunistring-optional (Files): Likewise.
32953
32954 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
32955             Bruno Haible  <bruno@clisp.org>
32956
32957         New module 'libunistring-optional'.
32958         * modules/libunistring-optional: New file.
32959         * m4/libunistring-base.m4: New file.
32960         * m4/libunistring-optional.m4: New file.
32961         * lib/unicase.in.h: Renamed from lib/unicase.h.
32962         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
32963         * lib/unictype.in.h: Renamed from lib/unictype.h.
32964         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
32965         * lib/uniname.in.h: Renamed from lib/uniname.h.
32966         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
32967         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
32968         * lib/unistr.in.h: Renamed from lib/unistr.h.
32969         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
32970         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
32971         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
32972         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
32973         gl_LIBUNISTRING. If the library was found, determine the installed
32974         version and set LIBUNISTRING_VERSION.
32975         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
32976         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
32977         handle a configuration option --with-included-libunistring.
32978         * modules/libunistring (Files): Add m4/absolute-header.m4.
32979         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
32980         Add m4/libunistring-base.m4.
32981         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32982         (Makefile.am): Build unicase.h from unicase.in.h.
32983         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
32984         Add m4/libunistring-base.m4.
32985         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32986         (Makefile.am): Build uniconv.h from uniconv.in.h.
32987         * modules/unictype/base (Files): Use unictype.in.h instead of
32988         unictype.h. Add m4/libunistring-base.m4.
32989         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32990         (Makefile.am): Build unictype.h from unictype.in.h.
32991         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
32992         Add m4/libunistring-base.m4.
32993         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32994         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
32995         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
32996         Add m4/libunistring-base.m4.
32997         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32998         (Makefile.am): Build uniname.h from uniname.in.h.
32999         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
33000         Add m4/libunistring-base.m4.
33001         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
33002         (Makefile.am): Build uninorm.h from uninorm.in.h.
33003         * modules/unistdio/base (Files): Use unistdio.in.h instead of
33004         unistdio.h. Add m4/libunistring-base.m4.
33005         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
33006         (Makefile.am): Build unistdio.h from unistdio.in.h.
33007         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
33008         Add m4/libunistring-base.m4.
33009         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
33010         (Makefile.am): Build unistr.h from unistr.in.h.
33011         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
33012         Add m4/libunistring-base.m4.
33013         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
33014         (Makefile.am): Build unitypes.h from unitypes.in.h.
33015         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
33016         Add m4/libunistring-base.m4.
33017         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
33018         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
33019         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
33020         uniwidth.h. Add m4/libunistring-base.m4.
33021         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
33022         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
33023         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
33024         instead of augmenting lib_SOURCES.
33025         * modules/unicase/empty-suffix-context: Likewise.
33026         * modules/unicase/locale-language: Likewise.
33027         * modules/unicase/tolower: Likewise.
33028         * modules/unicase/totitle: Likewise.
33029         * modules/unicase/toupper: Likewise.
33030         * modules/unicase/u8-casecmp: Likewise.
33031         * modules/unicase/u8-casecoll: Likewise.
33032         * modules/unicase/u8-casefold: Likewise.
33033         * modules/unicase/u8-casexfrm: Likewise.
33034         * modules/unicase/u8-ct-casefold: Likewise.
33035         * modules/unicase/u8-ct-tolower: Likewise.
33036         * modules/unicase/u8-ct-totitle: Likewise.
33037         * modules/unicase/u8-ct-toupper: Likewise.
33038         * modules/unicase/u8-is-cased: Likewise.
33039         * modules/unicase/u8-is-casefolded: Likewise.
33040         * modules/unicase/u8-is-lowercase: Likewise.
33041         * modules/unicase/u8-is-titlecase: Likewise.
33042         * modules/unicase/u8-is-uppercase: Likewise.
33043         * modules/unicase/u8-prefix-context: Likewise.
33044         * modules/unicase/u8-suffix-context: Likewise.
33045         * modules/unicase/u8-tolower: Likewise.
33046         * modules/unicase/u8-totitle: Likewise.
33047         * modules/unicase/u8-toupper: Likewise.
33048         * modules/unicase/u16-casecmp: Likewise.
33049         * modules/unicase/u16-casecoll: Likewise.
33050         * modules/unicase/u16-casefold: Likewise.
33051         * modules/unicase/u16-casexfrm: Likewise.
33052         * modules/unicase/u16-ct-casefold: Likewise.
33053         * modules/unicase/u16-ct-tolower: Likewise.
33054         * modules/unicase/u16-ct-totitle: Likewise.
33055         * modules/unicase/u16-ct-toupper: Likewise.
33056         * modules/unicase/u16-is-cased: Likewise.
33057         * modules/unicase/u16-is-casefolded: Likewise.
33058         * modules/unicase/u16-is-lowercase: Likewise.
33059         * modules/unicase/u16-is-titlecase: Likewise.
33060         * modules/unicase/u16-is-uppercase: Likewise.
33061         * modules/unicase/u16-prefix-context: Likewise.
33062         * modules/unicase/u16-suffix-context: Likewise.
33063         * modules/unicase/u16-tolower: Likewise.
33064         * modules/unicase/u16-totitle: Likewise.
33065         * modules/unicase/u16-toupper: Likewise.
33066         * modules/unicase/u32-casecmp: Likewise.
33067         * modules/unicase/u32-casecoll: Likewise.
33068         * modules/unicase/u32-casefold: Likewise.
33069         * modules/unicase/u32-casexfrm: Likewise.
33070         * modules/unicase/u32-ct-casefold: Likewise.
33071         * modules/unicase/u32-ct-tolower: Likewise.
33072         * modules/unicase/u32-ct-totitle: Likewise.
33073         * modules/unicase/u32-ct-toupper: Likewise.
33074         * modules/unicase/u32-is-cased: Likewise.
33075         * modules/unicase/u32-is-casefolded: Likewise.
33076         * modules/unicase/u32-is-lowercase: Likewise.
33077         * modules/unicase/u32-is-titlecase: Likewise.
33078         * modules/unicase/u32-is-uppercase: Likewise.
33079         * modules/unicase/u32-prefix-context: Likewise.
33080         * modules/unicase/u32-suffix-context: Likewise.
33081         * modules/unicase/u32-tolower: Likewise.
33082         * modules/unicase/u32-totitle: Likewise.
33083         * modules/unicase/u32-toupper: Likewise.
33084         * modules/unicase/ulc-casecmp: Likewise.
33085         * modules/unicase/ulc-casecoll: Likewise.
33086         * modules/unicase/ulc-casexfrm: Likewise.
33087         * modules/uniconv/u8-conv-from-enc: Likewise.
33088         * modules/uniconv/u8-conv-to-enc: Likewise.
33089         * modules/uniconv/u8-strconv-from-enc: Likewise.
33090         * modules/uniconv/u8-strconv-from-locale: Likewise.
33091         * modules/uniconv/u8-strconv-to-enc: Likewise.
33092         * modules/uniconv/u8-strconv-to-locale: Likewise.
33093         * modules/uniconv/u16-conv-from-enc: Likewise.
33094         * modules/uniconv/u16-conv-to-enc: Likewise.
33095         * modules/uniconv/u16-strconv-from-enc: Likewise.
33096         * modules/uniconv/u16-strconv-from-locale: Likewise.
33097         * modules/uniconv/u16-strconv-to-enc: Likewise.
33098         * modules/uniconv/u16-strconv-to-locale: Likewise.
33099         * modules/uniconv/u32-conv-from-enc: Likewise.
33100         * modules/uniconv/u32-conv-to-enc: Likewise.
33101         * modules/uniconv/u32-strconv-from-enc: Likewise.
33102         * modules/uniconv/u32-strconv-from-locale: Likewise.
33103         * modules/uniconv/u32-strconv-to-enc: Likewise.
33104         * modules/uniconv/u32-strconv-to-locale: Likewise.
33105         * modules/unictype/bidicategory-byname: Likewise.
33106         * modules/unictype/bidicategory-name: Likewise.
33107         * modules/unictype/bidicategory-of: Likewise.
33108         * modules/unictype/bidicategory-test: Likewise.
33109         * modules/unictype/block-list: Likewise.
33110         * modules/unictype/block-test: Likewise.
33111         * modules/unictype/category-C: Likewise.
33112         * modules/unictype/category-Cc: Likewise.
33113         * modules/unictype/category-Cf: Likewise.
33114         * modules/unictype/category-Cn: Likewise.
33115         * modules/unictype/category-Co: Likewise.
33116         * modules/unictype/category-Cs: Likewise.
33117         * modules/unictype/category-L: Likewise.
33118         * modules/unictype/category-Ll: Likewise.
33119         * modules/unictype/category-Lm: Likewise.
33120         * modules/unictype/category-Lo: Likewise.
33121         * modules/unictype/category-Lt: Likewise.
33122         * modules/unictype/category-Lu: Likewise.
33123         * modules/unictype/category-M: Likewise.
33124         * modules/unictype/category-Mc: Likewise.
33125         * modules/unictype/category-Me: Likewise.
33126         * modules/unictype/category-Mn: Likewise.
33127         * modules/unictype/category-N: Likewise.
33128         * modules/unictype/category-Nd: Likewise.
33129         * modules/unictype/category-Nl: Likewise.
33130         * modules/unictype/category-No: Likewise.
33131         * modules/unictype/category-P: Likewise.
33132         * modules/unictype/category-Pc: Likewise.
33133         * modules/unictype/category-Pd: Likewise.
33134         * modules/unictype/category-Pe: Likewise.
33135         * modules/unictype/category-Pf: Likewise.
33136         * modules/unictype/category-Pi: Likewise.
33137         * modules/unictype/category-Po: Likewise.
33138         * modules/unictype/category-Ps: Likewise.
33139         * modules/unictype/category-S: Likewise.
33140         * modules/unictype/category-Sc: Likewise.
33141         * modules/unictype/category-Sk: Likewise.
33142         * modules/unictype/category-Sm: Likewise.
33143         * modules/unictype/category-So: Likewise.
33144         * modules/unictype/category-Z: Likewise.
33145         * modules/unictype/category-Zl: Likewise.
33146         * modules/unictype/category-Zp: Likewise.
33147         * modules/unictype/category-Zs: Likewise.
33148         * modules/unictype/category-and: Likewise.
33149         * modules/unictype/category-and-not: Likewise.
33150         * modules/unictype/category-byname: Likewise.
33151         * modules/unictype/category-name: Likewise.
33152         * modules/unictype/category-none: Likewise.
33153         * modules/unictype/category-of: Likewise.
33154         * modules/unictype/category-or: Likewise.
33155         * modules/unictype/category-test: Likewise.
33156         * modules/unictype/combining-class: Likewise.
33157         * modules/unictype/ctype-alnum: Likewise.
33158         * modules/unictype/ctype-alpha: Likewise.
33159         * modules/unictype/ctype-blank: Likewise.
33160         * modules/unictype/ctype-cntrl: Likewise.
33161         * modules/unictype/ctype-digit: Likewise.
33162         * modules/unictype/ctype-graph: Likewise.
33163         * modules/unictype/ctype-lower: Likewise.
33164         * modules/unictype/ctype-print: Likewise.
33165         * modules/unictype/ctype-punct: Likewise.
33166         * modules/unictype/ctype-space: Likewise.
33167         * modules/unictype/ctype-upper: Likewise.
33168         * modules/unictype/ctype-xdigit: Likewise.
33169         * modules/unictype/decimal-digit: Likewise.
33170         * modules/unictype/digit: Likewise.
33171         * modules/unictype/mirror: Likewise.
33172         * modules/unictype/numeric: Likewise.
33173         * modules/unictype/property-alphabetic: Likewise.
33174         * modules/unictype/property-ascii-hex-digit: Likewise.
33175         * modules/unictype/property-bidi-arabic-digit: Likewise.
33176         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
33177         * modules/unictype/property-bidi-block-separator: Likewise.
33178         * modules/unictype/property-bidi-boundary-neutral: Likewise.
33179         * modules/unictype/property-bidi-common-separator: Likewise.
33180         * modules/unictype/property-bidi-control: Likewise.
33181         * modules/unictype/property-bidi-embedding-or-override: Likewise.
33182         * modules/unictype/property-bidi-eur-num-separator: Likewise.
33183         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
33184         * modules/unictype/property-bidi-european-digit: Likewise.
33185         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
33186         * modules/unictype/property-bidi-left-to-right: Likewise.
33187         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
33188         * modules/unictype/property-bidi-other-neutral: Likewise.
33189         * modules/unictype/property-bidi-pdf: Likewise.
33190         * modules/unictype/property-bidi-segment-separator: Likewise.
33191         * modules/unictype/property-bidi-whitespace: Likewise.
33192         * modules/unictype/property-byname: Likewise.
33193         * modules/unictype/property-combining: Likewise.
33194         * modules/unictype/property-composite: Likewise.
33195         * modules/unictype/property-currency-symbol: Likewise.
33196         * modules/unictype/property-dash: Likewise.
33197         * modules/unictype/property-decimal-digit: Likewise.
33198         * modules/unictype/property-default-ignorable-code-point: Likewise.
33199         * modules/unictype/property-deprecated: Likewise.
33200         * modules/unictype/property-diacritic: Likewise.
33201         * modules/unictype/property-extender: Likewise.
33202         * modules/unictype/property-format-control: Likewise.
33203         * modules/unictype/property-grapheme-base: Likewise.
33204         * modules/unictype/property-grapheme-extend: Likewise.
33205         * modules/unictype/property-grapheme-link: Likewise.
33206         * modules/unictype/property-hex-digit: Likewise.
33207         * modules/unictype/property-hyphen: Likewise.
33208         * modules/unictype/property-id-continue: Likewise.
33209         * modules/unictype/property-id-start: Likewise.
33210         * modules/unictype/property-ideographic: Likewise.
33211         * modules/unictype/property-ids-binary-operator: Likewise.
33212         * modules/unictype/property-ids-trinary-operator: Likewise.
33213         * modules/unictype/property-ignorable-control: Likewise.
33214         * modules/unictype/property-iso-control: Likewise.
33215         * modules/unictype/property-join-control: Likewise.
33216         * modules/unictype/property-left-of-pair: Likewise.
33217         * modules/unictype/property-line-separator: Likewise.
33218         * modules/unictype/property-logical-order-exception: Likewise.
33219         * modules/unictype/property-lowercase: Likewise.
33220         * modules/unictype/property-math: Likewise.
33221         * modules/unictype/property-non-break: Likewise.
33222         * modules/unictype/property-not-a-character: Likewise.
33223         * modules/unictype/property-numeric: Likewise.
33224         * modules/unictype/property-other-alphabetic: Likewise.
33225         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
33226         * modules/unictype/property-other-grapheme-extend: Likewise.
33227         * modules/unictype/property-other-id-continue: Likewise.
33228         * modules/unictype/property-other-id-start: Likewise.
33229         * modules/unictype/property-other-lowercase: Likewise.
33230         * modules/unictype/property-other-math: Likewise.
33231         * modules/unictype/property-other-uppercase: Likewise.
33232         * modules/unictype/property-paired-punctuation: Likewise.
33233         * modules/unictype/property-paragraph-separator: Likewise.
33234         * modules/unictype/property-pattern-syntax: Likewise.
33235         * modules/unictype/property-pattern-white-space: Likewise.
33236         * modules/unictype/property-private-use: Likewise.
33237         * modules/unictype/property-punctuation: Likewise.
33238         * modules/unictype/property-quotation-mark: Likewise.
33239         * modules/unictype/property-radical: Likewise.
33240         * modules/unictype/property-sentence-terminal: Likewise.
33241         * modules/unictype/property-soft-dotted: Likewise.
33242         * modules/unictype/property-space: Likewise.
33243         * modules/unictype/property-terminal-punctuation: Likewise.
33244         * modules/unictype/property-test: Likewise.
33245         * modules/unictype/property-titlecase: Likewise.
33246         * modules/unictype/property-unassigned-code-value: Likewise.
33247         * modules/unictype/property-unified-ideograph: Likewise.
33248         * modules/unictype/property-uppercase: Likewise.
33249         * modules/unictype/property-variation-selector: Likewise.
33250         * modules/unictype/property-white-space: Likewise.
33251         * modules/unictype/property-xid-continue: Likewise.
33252         * modules/unictype/property-xid-start: Likewise.
33253         * modules/unictype/property-zero-width: Likewise.
33254         * modules/unictype/scripts: Likewise.
33255         * modules/unictype/syntax-c-ident: Likewise.
33256         * modules/unictype/syntax-c-whitespace: Likewise.
33257         * modules/unictype/syntax-java-ident: Likewise.
33258         * modules/unictype/syntax-java-whitespace: Likewise.
33259         * modules/unilbrk/u8-possible-linebreaks: Likewise.
33260         * modules/unilbrk/u8-width-linebreaks: Likewise.
33261         * modules/unilbrk/u16-possible-linebreaks: Likewise.
33262         * modules/unilbrk/u16-width-linebreaks: Likewise.
33263         * modules/unilbrk/u32-possible-linebreaks: Likewise.
33264         * modules/unilbrk/u32-width-linebreaks: Likewise.
33265         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
33266         * modules/unilbrk/ulc-width-linebreaks: Likewise.
33267         * modules/uniname/uniname: Likewise.
33268         * modules/uninorm/canonical-decomposition: Likewise.
33269         * modules/uninorm/composition: Likewise.
33270         * modules/uninorm/decomposing-form: Likewise.
33271         * modules/uninorm/decomposition: Likewise.
33272         * modules/uninorm/filter: Likewise.
33273         * modules/uninorm/nfc: Likewise.
33274         * modules/uninorm/nfd: Likewise.
33275         * modules/uninorm/nfkc: Likewise.
33276         * modules/uninorm/nfkd: Likewise.
33277         * modules/uninorm/u8-normalize: Likewise.
33278         * modules/uninorm/u8-normcmp: Likewise.
33279         * modules/uninorm/u8-normcoll: Likewise.
33280         * modules/uninorm/u8-normxfrm: Likewise.
33281         * modules/uninorm/u16-normalize: Likewise.
33282         * modules/uninorm/u16-normcmp: Likewise.
33283         * modules/uninorm/u16-normcoll: Likewise.
33284         * modules/uninorm/u16-normxfrm: Likewise.
33285         * modules/uninorm/u32-normalize: Likewise.
33286         * modules/uninorm/u32-normcmp: Likewise.
33287         * modules/uninorm/u32-normcoll: Likewise.
33288         * modules/uninorm/u32-normxfrm: Likewise.
33289         * modules/unistdio/u8-asnprintf: Likewise.
33290         * modules/unistdio/u8-asprintf: Likewise.
33291         * modules/unistdio/u8-snprintf: Likewise.
33292         * modules/unistdio/u8-sprintf: Likewise.
33293         * modules/unistdio/u8-u8-asnprintf: Likewise.
33294         * modules/unistdio/u8-u8-asprintf: Likewise.
33295         * modules/unistdio/u8-u8-snprintf: Likewise.
33296         * modules/unistdio/u8-u8-sprintf: Likewise.
33297         * modules/unistdio/u8-u8-vasnprintf: Likewise.
33298         * modules/unistdio/u8-u8-vasprintf: Likewise.
33299         * modules/unistdio/u8-u8-vsnprintf: Likewise.
33300         * modules/unistdio/u8-u8-vsprintf: Likewise.
33301         * modules/unistdio/u8-vasnprintf: Likewise.
33302         * modules/unistdio/u8-vasprintf: Likewise.
33303         * modules/unistdio/u8-vsnprintf: Likewise.
33304         * modules/unistdio/u8-vsprintf: Likewise.
33305         * modules/unistdio/u16-asnprintf: Likewise.
33306         * modules/unistdio/u16-asprintf: Likewise.
33307         * modules/unistdio/u16-snprintf: Likewise.
33308         * modules/unistdio/u16-sprintf: Likewise.
33309         * modules/unistdio/u16-u16-asnprintf: Likewise.
33310         * modules/unistdio/u16-u16-asprintf: Likewise.
33311         * modules/unistdio/u16-u16-snprintf: Likewise.
33312         * modules/unistdio/u16-u16-sprintf: Likewise.
33313         * modules/unistdio/u16-u16-vasnprintf: Likewise.
33314         * modules/unistdio/u16-u16-vasprintf: Likewise.
33315         * modules/unistdio/u16-u16-vsnprintf: Likewise.
33316         * modules/unistdio/u16-u16-vsprintf: Likewise.
33317         * modules/unistdio/u16-vasnprintf: Likewise.
33318         * modules/unistdio/u16-vasprintf: Likewise.
33319         * modules/unistdio/u16-vsnprintf: Likewise.
33320         * modules/unistdio/u16-vsprintf: Likewise.
33321         * modules/unistdio/u32-asnprintf: Likewise.
33322         * modules/unistdio/u32-asprintf: Likewise.
33323         * modules/unistdio/u32-snprintf: Likewise.
33324         * modules/unistdio/u32-sprintf: Likewise.
33325         * modules/unistdio/u32-u32-asnprintf: Likewise.
33326         * modules/unistdio/u32-u32-asprintf: Likewise.
33327         * modules/unistdio/u32-u32-snprintf: Likewise.
33328         * modules/unistdio/u32-u32-sprintf: Likewise.
33329         * modules/unistdio/u32-u32-vasnprintf: Likewise.
33330         * modules/unistdio/u32-u32-vasprintf: Likewise.
33331         * modules/unistdio/u32-u32-vsnprintf: Likewise.
33332         * modules/unistdio/u32-u32-vsprintf: Likewise.
33333         * modules/unistdio/u32-vasnprintf: Likewise.
33334         * modules/unistdio/u32-vasprintf: Likewise.
33335         * modules/unistdio/u32-vsnprintf: Likewise.
33336         * modules/unistdio/u32-vsprintf: Likewise.
33337         * modules/unistdio/ulc-asnprintf: Likewise.
33338         * modules/unistdio/ulc-asprintf: Likewise.
33339         * modules/unistdio/ulc-fprintf: Likewise.
33340         * modules/unistdio/ulc-snprintf: Likewise.
33341         * modules/unistdio/ulc-sprintf: Likewise.
33342         * modules/unistdio/ulc-vasnprintf: Likewise.
33343         * modules/unistdio/ulc-vasprintf: Likewise.
33344         * modules/unistdio/ulc-vfprintf: Likewise.
33345         * modules/unistdio/ulc-vsnprintf: Likewise.
33346         * modules/unistdio/ulc-vsprintf: Likewise.
33347         * modules/unistr/u8-check: Likewise.
33348         * modules/unistr/u8-chr: Likewise.
33349         * modules/unistr/u8-cmp: Likewise.
33350         * modules/unistr/u8-cmp2: Likewise.
33351         * modules/unistr/u8-cpy: Likewise.
33352         * modules/unistr/u8-cpy-alloc: Likewise.
33353         * modules/unistr/u8-endswith: Likewise.
33354         * modules/unistr/u8-mblen: Likewise.
33355         * modules/unistr/u8-mbsnlen: Likewise.
33356         * modules/unistr/u8-mbtouc: Likewise.
33357         * modules/unistr/u8-mbtouc-unsafe: Likewise.
33358         * modules/unistr/u8-mbtoucr: Likewise.
33359         * modules/unistr/u8-move: Likewise.
33360         * modules/unistr/u8-next: Likewise.
33361         * modules/unistr/u8-prev: Likewise.
33362         * modules/unistr/u8-set: Likewise.
33363         * modules/unistr/u8-startswith: Likewise.
33364         * modules/unistr/u8-stpcpy: Likewise.
33365         * modules/unistr/u8-stpncpy: Likewise.
33366         * modules/unistr/u8-strcat: Likewise.
33367         * modules/unistr/u8-strchr: Likewise.
33368         * modules/unistr/u8-strcmp: Likewise.
33369         * modules/unistr/u8-strcoll: Likewise.
33370         * modules/unistr/u8-strcpy: Likewise.
33371         * modules/unistr/u8-strcspn: Likewise.
33372         * modules/unistr/u8-strdup: Likewise.
33373         * modules/unistr/u8-strlen: Likewise.
33374         * modules/unistr/u8-strmblen: Likewise.
33375         * modules/unistr/u8-strmbtouc: Likewise.
33376         * modules/unistr/u8-strncat: Likewise.
33377         * modules/unistr/u8-strncmp: Likewise.
33378         * modules/unistr/u8-strncpy: Likewise.
33379         * modules/unistr/u8-strnlen: Likewise.
33380         * modules/unistr/u8-strpbrk: Likewise.
33381         * modules/unistr/u8-strrchr: Likewise.
33382         * modules/unistr/u8-strspn: Likewise.
33383         * modules/unistr/u8-strstr: Likewise.
33384         * modules/unistr/u8-strtok: Likewise.
33385         * modules/unistr/u8-to-u16: Likewise.
33386         * modules/unistr/u8-to-u32: Likewise.
33387         * modules/unistr/u8-uctomb: Likewise.
33388         * modules/unistr/u16-check: Likewise.
33389         * modules/unistr/u16-chr: Likewise.
33390         * modules/unistr/u16-cmp: Likewise.
33391         * modules/unistr/u16-cmp2: Likewise.
33392         * modules/unistr/u16-cpy: Likewise.
33393         * modules/unistr/u16-cpy-alloc: Likewise.
33394         * modules/unistr/u16-endswith: Likewise.
33395         * modules/unistr/u16-mblen: Likewise.
33396         * modules/unistr/u16-mbsnlen: Likewise.
33397         * modules/unistr/u16-mbtouc: Likewise.
33398         * modules/unistr/u16-mbtouc-unsafe: Likewise.
33399         * modules/unistr/u16-mbtoucr: Likewise.
33400         * modules/unistr/u16-move: Likewise.
33401         * modules/unistr/u16-next: Likewise.
33402         * modules/unistr/u16-prev: Likewise.
33403         * modules/unistr/u16-set: Likewise.
33404         * modules/unistr/u16-startswith: Likewise.
33405         * modules/unistr/u16-stpcpy: Likewise.
33406         * modules/unistr/u16-stpncpy: Likewise.
33407         * modules/unistr/u16-strcat: Likewise.
33408         * modules/unistr/u16-strchr: Likewise.
33409         * modules/unistr/u16-strcmp: Likewise.
33410         * modules/unistr/u16-strcoll: Likewise.
33411         * modules/unistr/u16-strcpy: Likewise.
33412         * modules/unistr/u16-strcspn: Likewise.
33413         * modules/unistr/u16-strdup: Likewise.
33414         * modules/unistr/u16-strlen: Likewise.
33415         * modules/unistr/u16-strmblen: Likewise.
33416         * modules/unistr/u16-strmbtouc: Likewise.
33417         * modules/unistr/u16-strncat: Likewise.
33418         * modules/unistr/u16-strncmp: Likewise.
33419         * modules/unistr/u16-strncpy: Likewise.
33420         * modules/unistr/u16-strnlen: Likewise.
33421         * modules/unistr/u16-strpbrk: Likewise.
33422         * modules/unistr/u16-strrchr: Likewise.
33423         * modules/unistr/u16-strspn: Likewise.
33424         * modules/unistr/u16-strstr: Likewise.
33425         * modules/unistr/u16-strtok: Likewise.
33426         * modules/unistr/u16-to-u32: Likewise.
33427         * modules/unistr/u16-to-u8: Likewise.
33428         * modules/unistr/u16-uctomb: Likewise.
33429         * modules/unistr/u32-check: Likewise.
33430         * modules/unistr/u32-chr: Likewise.
33431         * modules/unistr/u32-cmp: Likewise.
33432         * modules/unistr/u32-cmp2: Likewise.
33433         * modules/unistr/u32-cpy: Likewise.
33434         * modules/unistr/u32-cpy-alloc: Likewise.
33435         * modules/unistr/u32-endswith: Likewise.
33436         * modules/unistr/u32-mblen: Likewise.
33437         * modules/unistr/u32-mbsnlen: Likewise.
33438         * modules/unistr/u32-mbtouc: Likewise.
33439         * modules/unistr/u32-mbtouc-unsafe: Likewise.
33440         * modules/unistr/u32-mbtoucr: Likewise.
33441         * modules/unistr/u32-move: Likewise.
33442         * modules/unistr/u32-next: Likewise.
33443         * modules/unistr/u32-prev: Likewise.
33444         * modules/unistr/u32-set: Likewise.
33445         * modules/unistr/u32-startswith: Likewise.
33446         * modules/unistr/u32-stpcpy: Likewise.
33447         * modules/unistr/u32-stpncpy: Likewise.
33448         * modules/unistr/u32-strcat: Likewise.
33449         * modules/unistr/u32-strchr: Likewise.
33450         * modules/unistr/u32-strcmp: Likewise.
33451         * modules/unistr/u32-strcoll: Likewise.
33452         * modules/unistr/u32-strcpy: Likewise.
33453         * modules/unistr/u32-strcspn: Likewise.
33454         * modules/unistr/u32-strdup: Likewise.
33455         * modules/unistr/u32-strlen: Likewise.
33456         * modules/unistr/u32-strmblen: Likewise.
33457         * modules/unistr/u32-strmbtouc: Likewise.
33458         * modules/unistr/u32-strncat: Likewise.
33459         * modules/unistr/u32-strncmp: Likewise.
33460         * modules/unistr/u32-strncpy: Likewise.
33461         * modules/unistr/u32-strnlen: Likewise.
33462         * modules/unistr/u32-strpbrk: Likewise.
33463         * modules/unistr/u32-strrchr: Likewise.
33464         * modules/unistr/u32-strspn: Likewise.
33465         * modules/unistr/u32-strstr: Likewise.
33466         * modules/unistr/u32-strtok: Likewise.
33467         * modules/unistr/u32-to-u16: Likewise.
33468         * modules/unistr/u32-to-u8: Likewise.
33469         * modules/unistr/u32-uctomb: Likewise.
33470         * modules/uniwbrk/u8-wordbreaks: Likewise.
33471         * modules/uniwbrk/u16-wordbreaks: Likewise.
33472         * modules/uniwbrk/u32-wordbreaks: Likewise.
33473         * modules/uniwbrk/ulc-wordbreaks: Likewise.
33474         * modules/uniwbrk/wordbreak-property: Likewise.
33475         * modules/uniwidth/u8-strwidth: Likewise.
33476         * modules/uniwidth/u8-width: Likewise.
33477         * modules/uniwidth/u16-strwidth: Likewise.
33478         * modules/uniwidth/u16-width: Likewise.
33479         * modules/uniwidth/u32-strwidth: Likewise.
33480         * modules/uniwidth/u32-width: Likewise.
33481         * modules/uniwidth/width: Likewise.
33482         * modules/unicase/cased-tests (Makefile.am): Link all test programs
33483         with $(LIBUNISTRING).
33484         * modules/unicase/ignorable-tests: Likewise.
33485         * modules/unicase/locale-language-tests: Likewise.
33486         * modules/unicase/tolower-tests: Likewise.
33487         * modules/unicase/totitle-tests: Likewise.
33488         * modules/unicase/toupper-tests: Likewise.
33489         * modules/unicase/u8-casecmp-tests: Likewise.
33490         * modules/unicase/u8-casecoll-tests: Likewise.
33491         * modules/unicase/u8-casefold-tests: Likewise.
33492         * modules/unicase/u8-is-cased-tests: Likewise.
33493         * modules/unicase/u8-is-casefolded-tests: Likewise.
33494         * modules/unicase/u8-is-lowercase-tests: Likewise.
33495         * modules/unicase/u8-is-titlecase-tests: Likewise.
33496         * modules/unicase/u8-is-uppercase-tests: Likewise.
33497         * modules/unicase/u8-tolower-tests: Likewise.
33498         * modules/unicase/u8-totitle-tests: Likewise.
33499         * modules/unicase/u8-toupper-tests: Likewise.
33500         * modules/unicase/u16-casecmp-tests: Likewise.
33501         * modules/unicase/u16-casecoll-tests: Likewise.
33502         * modules/unicase/u16-casefold-tests: Likewise.
33503         * modules/unicase/u16-is-cased-tests: Likewise.
33504         * modules/unicase/u16-is-casefolded-tests: Likewise.
33505         * modules/unicase/u16-is-lowercase-tests: Likewise.
33506         * modules/unicase/u16-is-titlecase-tests: Likewise.
33507         * modules/unicase/u16-is-uppercase-tests: Likewise.
33508         * modules/unicase/u16-tolower-tests: Likewise.
33509         * modules/unicase/u16-totitle-tests: Likewise.
33510         * modules/unicase/u16-toupper-tests: Likewise.
33511         * modules/unicase/u32-casecmp-tests: Likewise.
33512         * modules/unicase/u32-casecoll-tests: Likewise.
33513         * modules/unicase/u32-casefold-tests: Likewise.
33514         * modules/unicase/u32-is-cased-tests: Likewise.
33515         * modules/unicase/u32-is-casefolded-tests: Likewise.
33516         * modules/unicase/u32-is-lowercase-tests: Likewise.
33517         * modules/unicase/u32-is-titlecase-tests: Likewise.
33518         * modules/unicase/u32-is-uppercase-tests: Likewise.
33519         * modules/unicase/u32-tolower-tests: Likewise.
33520         * modules/unicase/u32-totitle-tests: Likewise.
33521         * modules/unicase/u32-toupper-tests: Likewise.
33522         * modules/unicase/ulc-casecmp-tests: Likewise.
33523         * modules/unicase/ulc-casecoll-tests: Likewise.
33524         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
33525         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
33526         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
33527         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
33528         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
33529         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
33530         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
33531         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
33532         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
33533         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
33534         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
33535         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
33536         * modules/unictype/bidicategory-byname-tests: Likewise.
33537         * modules/unictype/bidicategory-name-tests: Likewise.
33538         * modules/unictype/bidicategory-of-tests: Likewise.
33539         * modules/unictype/bidicategory-test-tests: Likewise.
33540         * modules/unictype/block-list-tests: Likewise.
33541         * modules/unictype/block-of-tests: Likewise.
33542         * modules/unictype/block-test-tests: Likewise.
33543         * modules/unictype/category-C-tests: Likewise.
33544         * modules/unictype/category-Cc-tests: Likewise.
33545         * modules/unictype/category-Cf-tests: Likewise.
33546         * modules/unictype/category-Cn-tests: Likewise.
33547         * modules/unictype/category-Co-tests: Likewise.
33548         * modules/unictype/category-Cs-tests: Likewise.
33549         * modules/unictype/category-L-tests: Likewise.
33550         * modules/unictype/category-Ll-tests: Likewise.
33551         * modules/unictype/category-Lm-tests: Likewise.
33552         * modules/unictype/category-Lo-tests: Likewise.
33553         * modules/unictype/category-Lt-tests: Likewise.
33554         * modules/unictype/category-Lu-tests: Likewise.
33555         * modules/unictype/category-M-tests: Likewise.
33556         * modules/unictype/category-Mc-tests: Likewise.
33557         * modules/unictype/category-Me-tests: Likewise.
33558         * modules/unictype/category-Mn-tests: Likewise.
33559         * modules/unictype/category-N-tests: Likewise.
33560         * modules/unictype/category-Nd-tests: Likewise.
33561         * modules/unictype/category-Nl-tests: Likewise.
33562         * modules/unictype/category-No-tests: Likewise.
33563         * modules/unictype/category-P-tests: Likewise.
33564         * modules/unictype/category-Pc-tests: Likewise.
33565         * modules/unictype/category-Pd-tests: Likewise.
33566         * modules/unictype/category-Pe-tests: Likewise.
33567         * modules/unictype/category-Pf-tests: Likewise.
33568         * modules/unictype/category-Pi-tests: Likewise.
33569         * modules/unictype/category-Po-tests: Likewise.
33570         * modules/unictype/category-Ps-tests: Likewise.
33571         * modules/unictype/category-S-tests: Likewise.
33572         * modules/unictype/category-Sc-tests: Likewise.
33573         * modules/unictype/category-Sk-tests: Likewise.
33574         * modules/unictype/category-Sm-tests: Likewise.
33575         * modules/unictype/category-So-tests: Likewise.
33576         * modules/unictype/category-Z-tests: Likewise.
33577         * modules/unictype/category-Zl-tests: Likewise.
33578         * modules/unictype/category-Zp-tests: Likewise.
33579         * modules/unictype/category-Zs-tests: Likewise.
33580         * modules/unictype/category-and-not-tests: Likewise.
33581         * modules/unictype/category-and-tests: Likewise.
33582         * modules/unictype/category-byname-tests: Likewise.
33583         * modules/unictype/category-name-tests: Likewise.
33584         * modules/unictype/category-none-tests: Likewise.
33585         * modules/unictype/category-of-tests: Likewise.
33586         * modules/unictype/category-or-tests: Likewise.
33587         * modules/unictype/category-test-withtable-tests: Likewise.
33588         * modules/unictype/combining-class-tests: Likewise.
33589         * modules/unictype/ctype-alnum-tests: Likewise.
33590         * modules/unictype/ctype-alpha-tests: Likewise.
33591         * modules/unictype/ctype-blank-tests: Likewise.
33592         * modules/unictype/ctype-cntrl-tests: Likewise.
33593         * modules/unictype/ctype-digit-tests: Likewise.
33594         * modules/unictype/ctype-graph-tests: Likewise.
33595         * modules/unictype/ctype-lower-tests: Likewise.
33596         * modules/unictype/ctype-print-tests: Likewise.
33597         * modules/unictype/ctype-punct-tests: Likewise.
33598         * modules/unictype/ctype-space-tests: Likewise.
33599         * modules/unictype/ctype-upper-tests: Likewise.
33600         * modules/unictype/ctype-xdigit-tests: Likewise.
33601         * modules/unictype/decimal-digit-tests: Likewise.
33602         * modules/unictype/digit-tests: Likewise.
33603         * modules/unictype/mirror-tests: Likewise.
33604         * modules/unictype/numeric-tests: Likewise.
33605         * modules/unictype/property-alphabetic-tests: Likewise.
33606         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
33607         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
33608         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
33609         * modules/unictype/property-bidi-block-separator-tests: Likewise.
33610         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
33611         * modules/unictype/property-bidi-common-separator-tests: Likewise.
33612         * modules/unictype/property-bidi-control-tests: Likewise.
33613         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
33614         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
33615         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
33616         * modules/unictype/property-bidi-european-digit-tests: Likewise.
33617         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
33618         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
33619         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
33620         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
33621         * modules/unictype/property-bidi-pdf-tests: Likewise.
33622         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
33623         * modules/unictype/property-bidi-whitespace-tests: Likewise.
33624         * modules/unictype/property-byname-tests: Likewise.
33625         * modules/unictype/property-combining-tests: Likewise.
33626         * modules/unictype/property-composite-tests: Likewise.
33627         * modules/unictype/property-currency-symbol-tests: Likewise.
33628         * modules/unictype/property-dash-tests: Likewise.
33629         * modules/unictype/property-decimal-digit-tests: Likewise.
33630         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
33631         * modules/unictype/property-deprecated-tests: Likewise.
33632         * modules/unictype/property-diacritic-tests: Likewise.
33633         * modules/unictype/property-extender-tests: Likewise.
33634         * modules/unictype/property-format-control-tests: Likewise.
33635         * modules/unictype/property-grapheme-base-tests: Likewise.
33636         * modules/unictype/property-grapheme-extend-tests: Likewise.
33637         * modules/unictype/property-grapheme-link-tests: Likewise.
33638         * modules/unictype/property-hex-digit-tests: Likewise.
33639         * modules/unictype/property-hyphen-tests: Likewise.
33640         * modules/unictype/property-id-continue-tests: Likewise.
33641         * modules/unictype/property-id-start-tests: Likewise.
33642         * modules/unictype/property-ideographic-tests: Likewise.
33643         * modules/unictype/property-ids-binary-operator-tests: Likewise.
33644         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
33645         * modules/unictype/property-ignorable-control-tests: Likewise.
33646         * modules/unictype/property-iso-control-tests: Likewise.
33647         * modules/unictype/property-join-control-tests: Likewise.
33648         * modules/unictype/property-left-of-pair-tests: Likewise.
33649         * modules/unictype/property-line-separator-tests: Likewise.
33650         * modules/unictype/property-logical-order-exception-tests: Likewise.
33651         * modules/unictype/property-lowercase-tests: Likewise.
33652         * modules/unictype/property-math-tests: Likewise.
33653         * modules/unictype/property-non-break-tests: Likewise.
33654         * modules/unictype/property-not-a-character-tests: Likewise.
33655         * modules/unictype/property-numeric-tests: Likewise.
33656         * modules/unictype/property-other-alphabetic-tests: Likewise.
33657         * modules/unictype/property-other-default-ignorable-code-point-tests:
33658         Likewise.
33659         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
33660         * modules/unictype/property-other-id-continue-tests: Likewise.
33661         * modules/unictype/property-other-id-start-tests: Likewise.
33662         * modules/unictype/property-other-lowercase-tests: Likewise.
33663         * modules/unictype/property-other-math-tests: Likewise.
33664         * modules/unictype/property-other-uppercase-tests: Likewise.
33665         * modules/unictype/property-paired-punctuation-tests: Likewise.
33666         * modules/unictype/property-paragraph-separator-tests: Likewise.
33667         * modules/unictype/property-pattern-syntax-tests: Likewise.
33668         * modules/unictype/property-pattern-white-space-tests: Likewise.
33669         * modules/unictype/property-private-use-tests: Likewise.
33670         * modules/unictype/property-punctuation-tests: Likewise.
33671         * modules/unictype/property-quotation-mark-tests: Likewise.
33672         * modules/unictype/property-radical-tests: Likewise.
33673         * modules/unictype/property-sentence-terminal-tests: Likewise.
33674         * modules/unictype/property-soft-dotted-tests: Likewise.
33675         * modules/unictype/property-space-tests: Likewise.
33676         * modules/unictype/property-terminal-punctuation-tests: Likewise.
33677         * modules/unictype/property-test-tests: Likewise.
33678         * modules/unictype/property-titlecase-tests: Likewise.
33679         * modules/unictype/property-unassigned-code-value-tests: Likewise.
33680         * modules/unictype/property-unified-ideograph-tests: Likewise.
33681         * modules/unictype/property-uppercase-tests: Likewise.
33682         * modules/unictype/property-variation-selector-tests: Likewise.
33683         * modules/unictype/property-white-space-tests: Likewise.
33684         * modules/unictype/property-xid-continue-tests: Likewise.
33685         * modules/unictype/property-xid-start-tests: Likewise.
33686         * modules/unictype/property-zero-width-tests: Likewise.
33687         * modules/unictype/scripts-tests: Likewise.
33688         * modules/unictype/syntax-c-ident-tests: Likewise.
33689         * modules/unictype/syntax-c-whitespace-tests: Likewise.
33690         * modules/unictype/syntax-java-ident-tests: Likewise.
33691         * modules/unictype/syntax-java-whitespace-tests: Likewise.
33692         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
33693         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
33694         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
33695         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
33696         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
33697         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
33698         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
33699         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
33700         * modules/uniname/uniname-tests: Likewise.
33701         * modules/uninorm/canonical-decomposition-tests: Likewise.
33702         * modules/uninorm/compat-decomposition-tests: Likewise.
33703         * modules/uninorm/composition-tests: Likewise.
33704         * modules/uninorm/decomposing-form-tests: Likewise.
33705         * modules/uninorm/decomposition-tests: Likewise.
33706         * modules/uninorm/filter-tests: Likewise.
33707         * modules/uninorm/nfc-tests: Likewise.
33708         * modules/uninorm/nfd-tests: Likewise.
33709         * modules/uninorm/nfkc-tests: Likewise.
33710         * modules/uninorm/nfkd-tests: Likewise.
33711         * modules/uninorm/u8-normcmp-tests: Likewise.
33712         * modules/uninorm/u8-normcoll-tests: Likewise.
33713         * modules/uninorm/u16-normcmp-tests: Likewise.
33714         * modules/uninorm/u16-normcoll-tests: Likewise.
33715         * modules/uninorm/u32-normcmp-tests: Likewise.
33716         * modules/uninorm/u32-normcoll-tests: Likewise.
33717         * modules/unistdio/u8-asnprintf-tests: Likewise.
33718         * modules/unistdio/u8-vasnprintf-tests: Likewise.
33719         * modules/unistdio/u8-vasprintf-tests: Likewise.
33720         * modules/unistdio/u8-vsnprintf-tests: Likewise.
33721         * modules/unistdio/u8-vsprintf-tests: Likewise.
33722         * modules/unistdio/u16-asnprintf-tests: Likewise.
33723         * modules/unistdio/u16-vasnprintf-tests: Likewise.
33724         * modules/unistdio/u16-vasprintf-tests: Likewise.
33725         * modules/unistdio/u16-vsnprintf-tests: Likewise.
33726         * modules/unistdio/u16-vsprintf-tests: Likewise.
33727         * modules/unistdio/u32-asnprintf-tests: Likewise.
33728         * modules/unistdio/u32-vasnprintf-tests: Likewise.
33729         * modules/unistdio/u32-vasprintf-tests: Likewise.
33730         * modules/unistdio/u32-vsnprintf-tests: Likewise.
33731         * modules/unistdio/u32-vsprintf-tests: Likewise.
33732         * modules/unistdio/ulc-asnprintf-tests: Likewise.
33733         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
33734         * modules/unistdio/ulc-vasprintf-tests: Likewise.
33735         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
33736         * modules/unistdio/ulc-vsprintf-tests: Likewise.
33737         * modules/unistr/u8-check-tests: Likewise.
33738         * modules/unistr/u8-chr-tests: Likewise.
33739         * modules/unistr/u8-cmp-tests: Likewise.
33740         * modules/unistr/u8-cmp2-tests: Likewise.
33741         * modules/unistr/u8-cpy-alloc-tests: Likewise.
33742         * modules/unistr/u8-cpy-tests: Likewise.
33743         * modules/unistr/u8-mblen-tests: Likewise.
33744         * modules/unistr/u8-mbsnlen-tests: Likewise.
33745         * modules/unistr/u8-mbtouc-tests: Likewise.
33746         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
33747         * modules/unistr/u8-mbtoucr-tests: Likewise.
33748         * modules/unistr/u8-move-tests: Likewise.
33749         * modules/unistr/u8-next-tests: Likewise.
33750         * modules/unistr/u8-prev-tests: Likewise.
33751         * modules/unistr/u8-set-tests: Likewise.
33752         * modules/unistr/u8-stpcpy-tests: Likewise.
33753         * modules/unistr/u8-stpncpy-tests: Likewise.
33754         * modules/unistr/u8-strcat-tests: Likewise.
33755         * modules/unistr/u8-strcmp-tests: Likewise.
33756         * modules/unistr/u8-strcoll-tests: Likewise.
33757         * modules/unistr/u8-strcpy-tests: Likewise.
33758         * modules/unistr/u8-strdup-tests: Likewise.
33759         * modules/unistr/u8-strlen-tests: Likewise.
33760         * modules/unistr/u8-strmblen-tests: Likewise.
33761         * modules/unistr/u8-strmbtouc-tests: Likewise.
33762         * modules/unistr/u8-strncat-tests: Likewise.
33763         * modules/unistr/u8-strncmp-tests: Likewise.
33764         * modules/unistr/u8-strncpy-tests: Likewise.
33765         * modules/unistr/u8-strnlen-tests: Likewise.
33766         * modules/unistr/u8-to-u16-tests: Likewise.
33767         * modules/unistr/u8-to-u32-tests: Likewise.
33768         * modules/unistr/u8-uctomb-tests: Likewise.
33769         * modules/unistr/u16-check-tests: Likewise.
33770         * modules/unistr/u16-chr-tests: Likewise.
33771         * modules/unistr/u16-cmp-tests: Likewise.
33772         * modules/unistr/u16-cmp2-tests: Likewise.
33773         * modules/unistr/u16-cpy-alloc-tests: Likewise.
33774         * modules/unistr/u16-cpy-tests: Likewise.
33775         * modules/unistr/u16-mblen-tests: Likewise.
33776         * modules/unistr/u16-mbsnlen-tests: Likewise.
33777         * modules/unistr/u16-mbtouc-tests: Likewise.
33778         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
33779         * modules/unistr/u16-mbtoucr-tests: Likewise.
33780         * modules/unistr/u16-move-tests: Likewise.
33781         * modules/unistr/u16-next-tests: Likewise.
33782         * modules/unistr/u16-prev-tests: Likewise.
33783         * modules/unistr/u16-set-tests: Likewise.
33784         * modules/unistr/u16-stpcpy-tests: Likewise.
33785         * modules/unistr/u16-stpncpy-tests: Likewise.
33786         * modules/unistr/u16-strcat-tests: Likewise.
33787         * modules/unistr/u16-strcmp-tests: Likewise.
33788         * modules/unistr/u16-strcoll-tests: Likewise.
33789         * modules/unistr/u16-strcpy-tests: Likewise.
33790         * modules/unistr/u16-strdup-tests: Likewise.
33791         * modules/unistr/u16-strlen-tests: Likewise.
33792         * modules/unistr/u16-strmblen-tests: Likewise.
33793         * modules/unistr/u16-strmbtouc-tests: Likewise.
33794         * modules/unistr/u16-strncat-tests: Likewise.
33795         * modules/unistr/u16-strncmp-tests: Likewise.
33796         * modules/unistr/u16-strncpy-tests: Likewise.
33797         * modules/unistr/u16-strnlen-tests: Likewise.
33798         * modules/unistr/u16-to-u32-tests: Likewise.
33799         * modules/unistr/u16-to-u8-tests: Likewise.
33800         * modules/unistr/u16-uctomb-tests: Likewise.
33801         * modules/unistr/u32-check-tests: Likewise.
33802         * modules/unistr/u32-chr-tests: Likewise.
33803         * modules/unistr/u32-cmp-tests: Likewise.
33804         * modules/unistr/u32-cmp2-tests: Likewise.
33805         * modules/unistr/u32-cpy-alloc-tests: Likewise.
33806         * modules/unistr/u32-cpy-tests: Likewise.
33807         * modules/unistr/u32-mblen-tests: Likewise.
33808         * modules/unistr/u32-mbsnlen-tests: Likewise.
33809         * modules/unistr/u32-mbtouc-tests: Likewise.
33810         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
33811         * modules/unistr/u32-mbtoucr-tests: Likewise.
33812         * modules/unistr/u32-move-tests: Likewise.
33813         * modules/unistr/u32-next-tests: Likewise.
33814         * modules/unistr/u32-prev-tests: Likewise.
33815         * modules/unistr/u32-set-tests: Likewise.
33816         * modules/unistr/u32-stpcpy-tests: Likewise.
33817         * modules/unistr/u32-stpncpy-tests: Likewise.
33818         * modules/unistr/u32-strcat-tests: Likewise.
33819         * modules/unistr/u32-strcmp-tests: Likewise.
33820         * modules/unistr/u32-strcoll-tests: Likewise.
33821         * modules/unistr/u32-strcpy-tests: Likewise.
33822         * modules/unistr/u32-strdup-tests: Likewise.
33823         * modules/unistr/u32-strlen-tests: Likewise.
33824         * modules/unistr/u32-strmblen-tests: Likewise.
33825         * modules/unistr/u32-strmbtouc-tests: Likewise.
33826         * modules/unistr/u32-strncat-tests: Likewise.
33827         * modules/unistr/u32-strncmp-tests: Likewise.
33828         * modules/unistr/u32-strncpy-tests: Likewise.
33829         * modules/unistr/u32-strnlen-tests: Likewise.
33830         * modules/unistr/u32-to-u16-tests: Likewise.
33831         * modules/unistr/u32-to-u8-tests: Likewise.
33832         * modules/unistr/u32-uctomb-tests: Likewise.
33833         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
33834         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
33835         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
33836         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
33837         * modules/uniwidth/u8-strwidth-tests: Likewise.
33838         * modules/uniwidth/u8-width-tests: Likewise.
33839         * modules/uniwidth/u16-strwidth-tests: Likewise.
33840         * modules/uniwidth/u16-width-tests: Likewise.
33841         * modules/uniwidth/u32-strwidth-tests: Likewise.
33842         * modules/uniwidth/u32-width-tests: Likewise.
33843         * modules/uniwidth/width-tests: Likewise.
33844
33845 2010-05-18  Richard Jones  <rjones@redhat.com>
33846
33847         doc: users.txt: list hivex
33848         * users.txt: Add hivex.
33849
33850 2010-05-18  Richard Jones  <rjones@redhat.com>
33851
33852         doc: users.txt: list febootstrap
33853         * users.txt: Add febootstrap.
33854
33855 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
33856
33857         bootstrap: fix an error when gnulib is not used as a git submodule
33858         * build-aux/bootstrap (gnulib_path): If its length is zero then
33859         assign "gnulib" to it.
33860         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
33861
33862 2010-05-16  Bruno Haible  <bruno@clisp.org>
33863
33864         Avoid autoconf warnings about AM_ICONV.
33865         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
33866         2.64.
33867
33868 2010-05-16  Bruno Haible  <bruno@clisp.org>
33869
33870         absolute-header: Make the macro usable in more situations.
33871         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
33872         from gl_ABSOLUTE_HEADER.
33873         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
33874
33875 2010-05-16  James Youngman  <jay@gnu.org>
33876
33877         doc: update users.txt
33878         * users.txt: Add CSSC.
33879
33880 2010-05-16  Jim Meyering  <meyering@redhat.com>
33881
33882         init.sh: fix an error in the previous change; add more comments
33883         * tests/init.sh: Compare exit code in loop against 9, not 2.
33884         Patch by Bruno Haible.
33885         Make the two tests more similar by adding an empty "then" clause.
33886         Add comments.
33887
33888         init.sh: avoid unnecessary shell re-exec
33889         * tests/init.sh: Improve the re-exec-required check to first test the
33890         current shell.  If it passes the test, do not search for a shell that
33891         does pass, and do not re-exec.  This test is particularly contorted to
33892         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
33893         of $(...) evokes a syntax error and causes immediate shell exit with
33894         status 2.  Bruno Haible reported that the re-exec made it impossible
33895         to single-step through any init.sh-using script.
33896
33897 2010-05-16  Bruno Haible  <bruno@clisp.org>
33898
33899         Fix collision between gnulib's and libintl's printf replacements.
33900         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
33901         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
33902         (printf): When using GNU C, map the __printf__ function to rpl_printf
33903         via __asm__. When not using GNU C, define rpl_printf instead of
33904         __printf__.
33905         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
33906         commit.
33907         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
33908         commit.
33909         * m4/asm-underscore.m4: New file.
33910         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
33911         * modules/stdio (Files): Add m4/asm-underscore.m4.
33912         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
33913         Reported by Ben Pfaff.
33914
33915 2010-05-16  Bruno Haible  <bruno@clisp.org>
33916
33917         verify: Avoid skipping the test on openSUSE 11.0.
33918         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
33919
33920 2010-05-13  Bruno Haible  <bruno@clisp.org>
33921
33922         Avoid useless warnings from G++.
33923         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
33924         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
33925         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33926
33927 2010-05-11  Jim Meyering  <meyering@redhat.com>
33928
33929         maint.mk: tweak preceding change
33930         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
33931         regexps tighter by anchoring at EOL, and make the new group "shy"
33932         for slightly decreased overhead.
33933
33934 2010-05-11  Eric Blake  <eblake@redhat.com>
33935
33936         maint.mk: gnulib doesn't guarantee NSIG
33937         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
33938
33939 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33940
33941         test-pwrite.c: Remove unused variable declaration.
33942         * tests/test-pwrite.c (main): Remove read_buf declaration.
33943
33944         Remove useless test-pwrite.sh file.
33945         * tests/test-pwrite.sh: Delete file.
33946         * modules/pwrite-tests: Remove references.
33947         Reported by Bruno Haible.
33948
33949 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33950
33951         init.sh: fix a typo
33952         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
33953
33954 2010-05-10  Jim Meyering  <meyering@redhat.com>
33955
33956         maint.mk: avoid using a temporary file in the always-defined-macros check
33957         * top/maint.mk (.re-defmac): Remove rule.
33958         (gl_trap_): Remove definition.
33959         (sc_prohibit_always-defined_macros): Rewrite not to create and
33960         depend on a temporary file.  Instead, depend on GNU grep's ability
33961         to read a list of regular expressions from stdin when given "-f -".
33962
33963 2010-05-09  Bruno Haible  <bruno@clisp.org>
33964
33965         Update to GNU gettext 0.18, part 1.
33966         * m4/gettext.m4: Update to GNU gettext 0.18.
33967         * m4/intl.m4: Likewise.
33968         * m4/po.m4: Likewise.
33969         * modules/gettext (Files): Add m4/fcntl-o.m4.
33970         (configure.ac): Require gettext infrastructure from version 0.18.
33971
33972 2010-05-09  Jim Meyering  <meyering@redhat.com>
33973
33974         init.sh: enable MALLOC_PERTURB_
33975         * tests/init.sh: Enable glibc's malloc-perturbing option.
33976
33977         maint.mk: improve sc_cross_check_PATH_usage_in_tests
33978         With my recent change in init.sh from the two-line form:
33979             -#   : ${srcdir=.}
33980             -#   . "$srcdir/init.sh"; path_prepend_ .
33981             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
33982         I noticed that using the one-line form would cause this test
33983         to fail with a false-positive, or to stop working altogether,
33984         depending on whether help-version changed or all the tests did.
33985         * top/maint.mk (_hv_regex): Remove this definition.
33986         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
33987         (_hv_regex_strong): Use a stronger regex to check for conformance.
33988         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
33989         Give a separate diagnostic for lack of conforming use.
33990
33991         maint.mk: prohibit definition of symbols defined by gnulib
33992         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
33993         definition of symbols defined by gnulib.
33994
33995 2010-05-09  Bruno Haible  <bruno@clisp.org>
33996
33997         acl: Avoid test failure on Cygwin-hosted mingw.
33998         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
33999
34000 2010-05-09  Bruno Haible  <bruno@clisp.org>
34001
34002         error: Use system's fcntl function.
34003         * lib/error.c (fcntl): Undefine.
34004
34005 2010-05-09  Jim Meyering  <meyering@redhat.com>
34006
34007         verify: adjust formatting to be more consistent
34008         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
34009         argument-list '('s, and after one comma.
34010
34011 2010-05-09  Bruno Haible  <bruno@clisp.org>
34012
34013         error: More reliable output on mingw.
34014         * lib/error.c: Include <windows.h>.
34015         (is_open): New function.
34016         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
34017         defined.
34018
34019 2010-05-09  Bruno Haible  <bruno@clisp.org>
34020
34021         vasnprintf: Fix syntax errors in libintl build on mingw.
34022         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
34023         pad_ourselves and prec_ourselves after use.
34024
34025 2010-05-08  Bruno Haible  <bruno@clisp.org>
34026
34027         * lib/config.charset: Update comments for Cygwin 1.7.
34028         * lib/localcharset.c: Likewise.
34029
34030 2010-05-07  Jim Meyering  <meyering@redhat.com>
34031
34032         init.sh: improve comments
34033         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
34034         . "${srcdir=.}/init.sh"; path_prepend_ .
34035         Add a note about path_prepend_ and the alternative of using
34036         TESTS_ENVIRONMENT.
34037
34038 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
34039
34040         exclude: Unescape hashed patterns in wildcard mode.
34041         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
34042         to the hash list.
34043         * tests/test-exclude8.sh: New test case.
34044         * modules/exclude-tests: Add new test.
34045
34046 2010-05-05  Eric Blake  <eblake@redhat.com>
34047
34048         verify: automate tests
34049         * modules/verify-tests: New module.
34050         * tests/test-verify.sh: New file.
34051         * tests/test-verify.c: Guard each negative test with a unique id.
34052         Also avoid warning about unused left hand of comma expressions.
34053
34054 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
34055
34056         Further improvements to verify.h, suggested by Eric Blake.
34057         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
34058         the GL_* versions, to avoid collision with OpenGL.
34059         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
34060         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
34061         than testing merely whether it's defined.
34062
34063         Modify verify.h to pacify gcc -Wredundant_decls.
34064         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
34065         These use the prefix "GL_" since they're likely to be useful elsewhere.
34066         We may need to break them out into a different .h file.
34067         (__COUNTER__): Define to 0 if the compiler doesn't support it.
34068         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
34069         of verify_function__.
34070
34071 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
34072
34073         Tests for module pwrite.
34074         * modules/pwrite-tests: New file.
34075         * tests/test-pwrite.sh: New file.
34076         * tests/test-pwrite.c: New file.
34077
34078         New module pwrite.
34079         * lib/unistd.in.h (pwrite): New declaration.
34080         * lib/pwrite.c: New file, from glibc with modifications.
34081         * m4/pwrite.m4: New file.
34082         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
34083         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
34084         REPLACE_PWRITE.
34085         * modules/pwrite: New file.
34086         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
34087         REPLACE_PWRITE.
34088         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
34089         * doc/posix-functions/pwrite.texi: Mention the new module.
34090
34091 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
34092
34093         pread: Update documentation.
34094         * doc/posix-functions/pread.texi: Mention the 'pread' module.
34095
34096 2010-05-04  Eric Blake  <eblake@redhat.com>
34097
34098         docs: update cygwin progress
34099         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
34100         this bug.
34101         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
34102         Added in cygwin 1.7.2.
34103         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
34104         Likewise.
34105         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
34106         Likewise.
34107         * doc/glibc-functions/dup3.texi (dup3): Likewise.
34108         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
34109         * doc/glibc-functions/accept4.texi (accept4): Likewise.
34110         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
34111         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
34112         Mention nproc module.
34113         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
34114         bug in cygwin 1.7.5 addition.
34115         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
34116         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
34117         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
34118         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
34119         1.7.5.
34120         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
34121         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
34122         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
34123         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
34124         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
34125         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
34126         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
34127         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
34128         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
34129         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
34130         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
34131         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
34132         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
34133         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
34134         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
34135         Likewise.
34136         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
34137         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
34138         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
34139         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
34140         Likewise.
34141         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
34142         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
34143         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
34144         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
34145         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
34146         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
34147         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
34148         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
34149         Likewise.
34150         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
34151         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
34152         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
34153         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
34154         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
34155         Likewise.
34156         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
34157         Likewise.
34158         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
34159         Likewise.
34160         * doc/glibc-functions/xdrrec_endofrecord.texi
34161         (xdrrec_endofrecord): Likewise.
34162         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
34163         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
34164         Likewise.
34165         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
34166         Likewise.
34167
34168 2010-05-04  Jim Meyering  <meyering@redhat.com>
34169
34170         gendocs.sh: make its "-s FILE" option more useful
34171         * build-aux/gendocs.sh: When honoring the -s FILE option, update
34172         $PACKAGE to reflect the probably-different basename of "FILE".
34173
34174 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
34175
34176         bootstrap: don't ignore download_po_files failure
34177         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
34178         failure.
34179
34180 2010-05-03  Jim Meyering  <meyering@redhat.com>
34181
34182         maint.mk: allow to pass options to gendocs.sh
34183         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
34184         (gendocs_options_): New overridable variable.
34185
34186         gnu-web-doc-update: don't ignore configure or build failure
34187         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
34188
34189         announce-gen: backslash-escape '@'s in --help output
34190         * build-aux/announce-gen: Fix syntax errors.
34191
34192         maint.mk, announce-gen: allow project-specific announcement mail headers
34193         * top/maint.mk (translation_project_): Define default.
34194         (announcement_Cc_, announcement_mail_headers_): Likewise.
34195         (announcement): Invoke announce-gen with new --mail-headers option.
34196         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
34197
34198         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
34199         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
34200         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
34201         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
34202         line in the "err2" output file when running "make check" in verbose
34203         mode (i.e., with set -x enabled).
34204
34205 2010-05-03  Bruno Haible  <bruno@clisp.org>
34206
34207         wctob: Fix for weird platforms.
34208         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
34209         argument value.
34210
34211 2010-05-03  Jim Meyering  <meyering@redhat.com>
34212
34213         maint.mk: prohibit unwarranted use of <strings.h>
34214         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
34215         strings.h in a file that does not also use strcasecmp, strncasecmp,
34216         ffs or ffsll.
34217
34218         maint.mk: remove obsolete comments
34219         * top/maint.mk: Remove stale, commented-out rules.
34220
34221 2010-05-02  Bruno Haible  <bruno@clisp.org>
34222
34223         wcwidth: Declare also when it's aliased.
34224         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
34225         macro.
34226
34227 2010-05-02  Bruno Haible  <bruno@clisp.org>
34228
34229         Fix regression from 2010-04-25.
34230         * gnulib-tool (func_modules_transitive_closure): Check the status of
34231         all modules, not only of the tests that are of the form foo-tests where
34232         foo is a module.
34233
34234 2010-05-02  Bruno Haible  <bruno@clisp.org>
34235
34236         wctob: Work around nasty Cygwin 1.7.2 bug.
34237         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
34238         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
34239
34240 2010-05-01  Bruno Haible  <bruno@clisp.org>
34241
34242         fpurge: Sharper test.
34243         * tests/test-fpurge.c (main): Add one more ftell check.
34244         * modules/fpurge-tests (Depends-on): Add ftell.
34245         Suggested by Eric Blake.
34246
34247 2010-05-01  Bruno Haible  <bruno@clisp.org>
34248
34249         ftello: Another test.
34250         * tests/test-ftello3.c: New file.
34251         * modules/ftello-tests (Files): Add it.
34252         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
34253         MOSTLYCLEANFILES.
34254
34255         ftell: Another test.
34256         * tests/test-ftell3.c: New file.
34257         * modules/ftell-tests (Files): Add it.
34258         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
34259         MOSTLYCLEANFILES.
34260
34261 2010-05-01  Bruno Haible  <bruno@clisp.org>
34262
34263         ftell, ftello: Work around Solaris bug.
34264         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
34265         * lib/ftello.c: Include stdio-impl.h.
34266         (ftello): On Solaris, when _IOWRT is set, compute the result without
34267         looking at _IOREAD.
34268         * modules/ftello (Files): Add lib/stdio-impl.h.
34269         * doc/posix-functions/ftell.texi: Mention Solaris bug.
34270         * doc/posix-functions/ftello.texi: Likewise.
34271         Reported by Eric Blake.
34272
34273 2010-05-01  Bruno Haible  <bruno@clisp.org>
34274
34275         freading: Adapt to special meaning of _IOREAD flag on Solaris.
34276         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
34277         the _IOWRT flag is also set.
34278
34279 2010-05-01  Bruno Haible  <bruno@clisp.org>
34280
34281         Fix doc about a HP-UX stdio bug.
34282         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
34283         * doc/posix-functions/ftello.texi: Likewise.
34284
34285 2010-05-01  Bruno Haible  <bruno@clisp.org>
34286
34287         lseek test: Fix failure on Solaris.
34288         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
34289         output.
34290
34291 2010-04-30  Jim Meyering  <meyering@redhat.com>
34292
34293         bootstrap: don't ignore failure to generate po*/Makevars
34294         * build-aux/bootstrap (with_gettext): Don't ignore failure
34295         to create po/Makevars or runtime-po/Makevars.
34296
34297 2010-04-29  Eric Blake  <eblake@redhat.com>
34298
34299         headers: relax license to LGPLv2+
34300         * modules/fcntl-h (License): Relax license.
34301         * modules/getopt-posix (License): Likewise.
34302         * modules/locale (License): Likewise.
34303         * modules/math (License): Likewise.
34304         * modules/pty (License): Likewise.
34305         * modules/sched (License): Likewise.
34306         * modules/search (License): Likewise.
34307         * modules/spawn (License): Likewise.
34308         * modules/stdarg (License): Likewise.
34309         * modules/sysexits (License): Likewise.
34310
34311 2010-04-29  Jim Meyering  <meyering@redhat.com>
34312
34313         inttypes: relax license to LGPLv2+
34314         * modules/inttypes (License): Relax license.
34315
34316 2010-04-29  Simon Josefsson  <simon@josefsson.org>
34317
34318         * top/maint.mk (indent): Run twice to produce idempotent results.
34319
34320 2010-04-28  Bruno Haible  <bruno@clisp.org>
34321
34322         getdate: Generate getdate.c in the source directory.
34323         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
34324         MOSTLYCLEANFILES.
34325         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
34326
34327 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
34328
34329         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
34330         is not declared as a const *; avoid warnings in that case.
34331
34332 2010-04-28  Eric Blake  <eblake@redhat.com>
34333
34334         canonicalize-lgpl: avoid compiler warning
34335         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
34336         declaration' / 'extraneous semicolon' warning with some compilers.
34337         Reported by Andreas Gruenbacher.
34338
34339 2010-04-28  Jim Meyering  <meyering@redhat.com>
34340
34341         init.sh: ensure a more reliable exit status when exiting via trap
34342         * tests/init.sh (setup_): Don't rely on $? in signal handler.
34343         Inspired by patches from Dmitry V. Levin.
34344         Also trap on signal 3 (SIGQUIT).
34345
34346 2010-04-27  Bruno Haible  <bruno@clisp.org>
34347
34348         Update doc about utimes().
34349         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
34350         'utimens' module.
34351         Reported by Andreas Gruenbacher <agruen@suse.de>.
34352
34353 2010-04-27  Eric Blake  <eblake@redhat.com>
34354
34355         full-read, full-write: relax license
34356         * modules/full-read (License): Drop to LGPLv2+.
34357         * modules/full-write (License): Likewise.
34358         * modules/safe-read (License): Likewise.
34359         * modules/safe-write (License): Likewise.
34360
34361         pthread: mention library for linking
34362         * modules/pthread (Link): Mention $(LIB_PTHREAD).
34363
34364 2010-04-27  Jim Meyering  <meyering@redhat.com>
34365
34366         maint.mk: fix a bug introduced in last change
34367         * top/maint.mk (gl_assured_headers_): Now that all names are on
34368         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
34369         is not anchored to end of word, it should be adequate.
34370
34371         maint.mk: avoid side-effect in latest syntax-check
34372         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
34373         to run commands via $(shell...), and hence to incur cost only when
34374         the new rule is actually run.
34375
34376         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
34377         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
34378         and use that to create a regexp used to detect all #if HAVE_..._H uses.
34379         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
34380         (gl_assured_headers_, az_, AZ_): Define.
34381         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
34382
34383 2010-04-26  Jim Meyering  <jim@meyering.net>
34384             Bruno Haible  <bruno@clisp.org>
34385
34386         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
34387         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
34388         Prompted by an exchange with Gilles Espinasse.
34389
34390 2010-04-26  Jim Meyering  <meyering@redhat.com>
34391
34392         git-version-gen: aesthetic tweak
34393         * build-aux/git-version-gen: Use "$nl" rather than a literal,
34394         so that the command remains on a single line.
34395
34396 2010-04-26  Eric Blake  <eblake@redhat.com>
34397
34398         git-version-gen: allow use on EBCDIC hosts
34399         * build-aux/git-version-gen (dirty): Use literal rather than tying
34400         ourselves to ascii.
34401         Reported by Steve Goetze.
34402
34403 2010-04-25  Bruno Haible  <bruno@clisp.org>
34404
34405         netdb: Add support for GNULIB_POSIXCHECK.
34406         * lib/netdb.in.h: Include warn-on-use.h.
34407         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
34408         functions are used when GNULIB_POSIXCHECK is defined and the
34409         getaddrinfo module is not in use.
34410         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
34411         freeaddrinfo, gai_strerror, getnameinfo are declared.
34412         * modules/netdb (Depends-on): Add warn-on-use.
34413         (Makefile.am): Include warn-on-use.h in netdb.h.
34414
34415 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
34416
34417         build: avoid "make check" failure without .git/ directory
34418         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
34419         there is no .git/ directory.
34420
34421 2010-04-25  Bruno Haible  <bruno@clisp.org>
34422
34423         ptsname: Fix misuse of ttyname_r.
34424         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
34425         of errno.
34426
34427 2010-04-25  Bruno Haible  <bruno@clisp.org>
34428
34429         ttyname_r: Make it work on Solaris 10.
34430         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
34431         if the system function has the POSIX declaration. Test whether the
34432         function fails if the buffer is less than 128 bytes large.
34433         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
34434         system's ttyname_r function. Provide a reasonably large buffer.
34435         * modules/ttyname_r (Depends-on): Add extensions.
34436         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
34437
34438 2010-04-25  Bruno Haible  <bruno@clisp.org>
34439
34440         Use the 'extensions' module for some more functions on Solaris.
34441         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
34442         module.
34443         * doc/posix-functions/ctime_r.texi: Likewise.
34444         * doc/posix-functions/getgrgid_r.texi: Likewise.
34445         * doc/posix-functions/getgrnam_r.texi: Likewise.
34446         * doc/posix-functions/getpwnam_r.texi: Likewise.
34447         * doc/posix-functions/getpwuid_r.texi: Likewise.
34448         * doc/posix-functions/readdir_r.texi: Likewise.
34449         * doc/posix-functions/sigwait.texi: Likewise.
34450         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
34451         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
34452
34453 2010-04-25  Bruno Haible  <bruno@clisp.org>
34454
34455         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
34456         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
34457         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
34458         * lib/ttyname_r.c: Include <limits.h>.
34459         (ttyname_r): Define using the system's ttyname_r function, if it exists
34460         and not on Solaris.
34461         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
34462         set.
34463         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
34464         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
34465         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
34466         Reported by Simon Josefsson.
34467
34468 2010-04-25  Bruno Haible  <bruno@clisp.org>
34469
34470         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
34471         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
34472         * doc/posix-functions/ctime_r.texi: Likewise.
34473         * doc/posix-functions/getgrgid_r.texi: Likewise.
34474         * doc/posix-functions/getgrnam_r.texi: Likewise.
34475         * doc/posix-functions/getlogin_r.texi: Likewise.
34476         * doc/posix-functions/getpwnam_r.texi: Likewise.
34477         * doc/posix-functions/getpwuid_r.texi: Likewise.
34478         * doc/posix-functions/readdir_r.texi: Likewise.
34479         * doc/posix-functions/sigwait.texi: Likewise.
34480         * doc/posix-functions/ttyname_r.texi: Likewise.
34481         Reported by Simon Josefsson.
34482
34483 2010-04-25  Bruno Haible  <bruno@clisp.org>
34484
34485         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
34486         * gnulib-tool (func_usage): Document that --with-*-tests options apply
34487         also to --create-testdir.
34488         (func_acceptable): Don't consider the status of *-tests modules here.
34489         (func_modules_transitive_closure): Consider it here, before including a
34490         test module.
34491         (func_import, func_create_testdir): Set inc_all_direct_tests,
34492         inc_all_indirect_tests.
34493         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
34494         --create-testdir and --create-megatestdir.
34495
34496 2010-04-25  Bruno Haible  <bruno@clisp.org>
34497
34498         gnulib-tool: Add --without-*-tests options.
34499         * gnulib-tool (func_usage): Document the --without-*-tests options.
34500         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
34501         excl_unportable_tests): New variables.
34502         Fail if they are specified with --import or --update.
34503         (func_acceptable): Respect the excl_*_tests variables.
34504         (func_import): Set the excl_*_tests variables to empty.
34505
34506 2010-04-25  Simon Josefsson  <simon@josefsson.org>
34507             Bruno Haible  <bruno@clisp.org>
34508
34509         Work around a MacOS X 10.4 bug with openpty.
34510         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
34511         * tests/test-openpty.c (main): Close the master side explicitly.
34512
34513 2010-04-25  Bruno Haible  <bruno@clisp.org>
34514
34515         strnlen: Fix a C++ test error on MacOS X and Solaris.
34516         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
34517         the function is not declared.
34518         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
34519         Simon Josefsson.
34520
34521 2010-04-24  Bruno Haible  <bruno@clisp.org>
34522
34523         Avoid a gcc warning.
34524         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
34525         of correct type for %08lx directive.
34526         Reported by Eric Blake.
34527
34528 2010-04-24  Bruno Haible  <bruno@clisp.org>
34529
34530         vasnprintf: Correct errno value in case of out-of-memory.
34531         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
34532         or sprintf. Use the errno value from SNPRINTF or sprintf.
34533         Reported by Ian Beckwith <ianb@erislabs.net>.
34534
34535 2010-04-24  Bruno Haible  <bruno@clisp.org>
34536
34537         ansi-c++-opt: Find correct compiler when cross-compiling.
34538         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
34539         AC_CHECK_PROGS.
34540         Reported by Simon Josefsson.
34541
34542 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
34543
34544         vc-list-files: Add support for subversion
34545         * build-aux/vc-list-files: Use "svn list" to generate the list of
34546         files controlled by subversion.
34547
34548 2010-04-23  Jim Meyering  <meyering@redhat.com>
34549
34550         vc-list-files tests: convert to use init.sh
34551         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
34552         path_prepend_.
34553         Use Exit, not exit.
34554         Use skip_ rather than open coding it.
34555         Remove trap set-up and compare definitions.
34556         * tests/test-vc-list-files-git.sh: Likewise.
34557         * modules/vc-list-files-tests (Files): Add tests/init.sh.
34558
34559 2010-04-22  Simon Josefsson  <simon@josefsson.org>
34560
34561         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
34562         backup files.
34563
34564 2010-04-21  Simon Josefsson  <simon@josefsson.org>
34565
34566         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
34567
34568 2010-04-20  Eric Blake  <eblake@redhat.com>
34569
34570         tests: be robust to ignored SIGPIPE
34571         * tests/test-select-in.sh: Consume all output.
34572         * tests/test-lseek.sh: Check correct exit status, while avoiding
34573         EPIPE.
34574
34575 2010-04-20  Simon Josefsson  <simon@josefsson.org>
34576             Bruno Haible  <bruno@clisp.org>
34577
34578         visibility: Don't use -fvisibility if it leads to a warning.
34579         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
34580         yes, don't pretend that visibility works if it leads to a warning.
34581         Reported by Mike Gran <spk121@yahoo.com>.
34582
34583 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
34584
34585         * build-aux/bootstrap: Use "git -h" for testing for supported options
34586         instead of "git --help".  The short-form option only shows a summary,
34587         and doesn't layout the full man page.  Grep for the full option name
34588         in the summary, too.
34589
34590 2010-04-19  Bruno Haible  <bruno@clisp.org>
34591
34592         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
34593         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
34594         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
34595         mention of RELOCATABLE_STRIP.
34596         Reported by Sylvain Beucler <beuc@beuc.net>.
34597
34598 2010-04-19  Bruno Haible  <bruno@clisp.org>
34599
34600         * lib/diffseq.h: Fix typo in comment.
34601         Reported by Eric Blake.
34602
34603 2010-04-19  Bruno Haible  <bruno@clisp.org>
34604
34605         ioctl: Move autoconf macro to a .m4 file.
34606         * m4/ioctl.m4: New file, extracted from modules/ioctl.
34607         * modules/ioctl (Files): Add it.
34608         (configure.ac): Simply invoke gl_FUNC_IOCTL.
34609         Reported by Ian Beckwith <ianb@erislabs.net>.
34610
34611 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
34612             Bruno Haible  <bruno@clisp.org>
34613
34614         diffseq: Accommodate use-case with abstract arrays.
34615         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
34616         is not defined.
34617         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
34618         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
34619
34620 2010-04-18  Bruno Haible  <bruno@clisp.org>
34621
34622         * doc/posix-headers/stdbool.texi: More precise wording.
34623
34624 2010-04-17  Jim Meyering  <meyering@redhat.com>
34625
34626         maint.mk: use gnu-style indentation in an embedded perl script
34627         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
34628         Rename variable: s/two/last_two_bytes/
34629
34630 2010-04-16  Eric Blake  <eblake@redhat.com>
34631
34632         test-stdbool: skip test that fails with Solaris CC
34633         * tests/test-stdbool.c (f): Skip test that causes compilation
34634         error under buggy C++ compiler.
34635         * lib/stdbool.in.h: Document the limitation.
34636         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
34637
34638         setenv: allow compilation with C++
34639         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
34640         register keyword.
34641
34642         stdint: allow test to pass with C++
34643         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
34644
34645         getopt: allow compilation with C++
34646         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
34647         struct.
34648         * lib/getopt.c (_getopt_internal_r): Use correct type.
34649         Reported by Dagobert Michelson, via Joel E. Denny.
34650
34651 2010-04-16  Bruno Haible  <bruno@clisp.org>
34652
34653         Override netdb.h always.
34654         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
34655         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
34656         Reported by Ludovic Courtès <ludo@gnu.org>.
34657
34658 2010-04-15  Bruno Haible  <bruno@clisp.org>
34659
34660         openpty: Fix mistake from 2010-03-21.
34661         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
34662         Reported by Simon Josefsson.
34663
34664 2010-04-15  Eric Blake  <eblake@redhat.com>
34665
34666         test-forkpty: fix expected signature
34667         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
34668         Reported by Simon Josefsson.
34669
34670 2010-04-15  Jim Meyering  <meyering@redhat.com>
34671
34672         maint.mk: texinfo_suffix_re_: correct the default regexp
34673         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
34674
34675         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
34676         make it configurable via texinfo_suffix_re_.
34677
34678 2010-04-14  Eric Blake  <eblake@redhat.com>
34679
34680         strtok_r: relax license to LGPLv2+
34681         * modules/strtok_r (License): Relax license.
34682         Reported by Matthias Bolte.
34683
34684 2010-04-14  Simon Josefsson  <simon@josefsson.org>
34685
34686         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
34687         version 1.4.4 by default instead of requiring the libgcrypt
34688         version used during build.  This makes it possible to use the
34689         application with older but still binary compatible libgcrypt
34690         versions.
34691
34692 2010-04-13  Eric Blake  <eblake@redhat.com>
34693
34694         getopt-gnu: match recent glibc fixes and posix ruling
34695         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
34696         '+' handling, when requesting extensions.
34697         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
34698         'W;' handling.
34699         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
34700         * doc/posix-functions/getopt.texi (getopt): Document this.
34701         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
34702         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34703         Likewise.
34704
34705         getopt: merge bug fixes from glibc
34706         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
34707         diagnostics.  Honor '+:' correctly.  Reject ';'.
34708
34709         getopt-posix: detect MacOS bug
34710         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
34711         optind when missing a required argument.
34712         * doc/posix-functions/getopt.texi (getopt): Document the bug.
34713         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
34714         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34715         Likewise.
34716
34717         getopt-posix: avoid spurious failure on Solaris
34718         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
34719         an indicator that setting optind=1 is sufficient for reset.
34720
34721         getopt-posix: avoid spurious failure on FreeBSD
34722         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
34723         in POSIX mode, since the m4 test uses it.
34724
34725         gnulib-tool: silence warning on BSD sh
34726         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
34727
34728 2010-04-13  Jim Meyering  <meyering@redhat.com>
34729
34730         doc: users.txt: GNU patch now uses gnulib
34731         * users.txt: Add patch.
34732
34733 2010-04-12  Jim Meyering  <meyering@redhat.com>
34734
34735         maint.mk: generate more concise timing data for syntax-check rules
34736         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
34737         " done" from each line that reports a syntax-check test duration.
34738
34739 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
34740
34741         git-version-gen: use "git update-index..." rather than "git status"
34742         * build-aux/git-version-gen: Use git update-index --refresh, not
34743         "git status".  With some versions of git, "git status" would fail
34744         to update the index and result in an unwarranted "-dirty" suffix.
34745
34746 2010-04-11  Jim Meyering  <meyering@redhat.com>
34747
34748         openat: correct formatting (no semantic change)
34749         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
34750         Suggested by Bruno Haible.
34751
34752 2010-04-11  Bruno Haible  <bruno@clisp.org>
34753
34754         Stricter declaration checking in testdirs.
34755         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34756         If for_tests is true, augment AM_CPPFLAGS to define
34757         GNULIB_STRICT_CHECKING.
34758         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
34759         GNULIB_STRICT_CHECKING is defined, verify that the function is
34760         declared.
34761
34762 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
34763             Bruno Haible  <bruno@clisp.org>
34764
34765         libunistring: Improve configure output.
34766         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
34767         Don't say "consider installing GNU libunistring" when checking again
34768         with libiconv.
34769
34770 2010-04-11  Bruno Haible  <bruno@clisp.org>
34771
34772         libunistring: Correct value of $LTLIBUNISTRING.
34773         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
34774         correct the value of $LTLIBUNISTRING.
34775
34776 2010-04-11  Bruno Haible  <bruno@clisp.org>
34777
34778         havelib: Add static libraries to LIBS in the right order.
34779         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
34780         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
34781
34782 2010-04-11  Bruno Haible  <bruno@clisp.org>
34783
34784         libunistring: Detect libunistring also when it depends on libiconv.
34785         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
34786         the second AC_LIB_HAVE_LINKFLAGS invocation.
34787
34788 2010-04-11  James Youngman  <jay@gnu.org>
34789
34790         close-stream: declare local scalars to be "const"
34791         * lib/close-stream.c (close_stream): Make boolean variables const
34792         to document the fact that we set but do not change them.
34793
34794 2010-04-11  Bruno Haible  <bruno@clisp.org>
34795
34796         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
34797
34798 2010-04-11  Jim Meyering  <meyering@redhat.com>
34799
34800         maint.mk: don't include dist-check.mk
34801         * top/maint.mk: Remove bogus include directive.
34802
34803         maint.mk: improve empty-line-at-EOF check
34804         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
34805         solution, rather than tail+Perl-based one.  The latter would read
34806         a few kilobytes from the end of each file, and did not handle empty
34807         files properly.
34808
34809         maint.mk: print the elapsed time for each syntax-check rule
34810         * top/maint.mk (sc_m_rules_): Save start time in a file.
34811         (sc_z_rules_): New rules: remove temp file and print elapsed time.
34812         (local-check): Interpose the .z rules
34813
34814 2010-04-11  Jim Meyering  <meyering@redhat.com>
34815
34816         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
34817         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
34818         empty file with one that ends in an empty line.
34819
34820 2010-04-10  Bruno Haible  <bruno@clisp.org>
34821
34822         mkdir: Make it work on mingw64.
34823         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
34824         * lib/mkdir.c: Update comment.
34825         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
34826
34827 2010-04-10  Bruno Haible  <bruno@clisp.org>
34828
34829         Don't override improved macro from newer autoconf.
34830         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
34831         autoconf >= 2.62.
34832         Reported by Joel E. Denny <jdenny@clemson.edu>.
34833
34834 2010-04-10  Jim Meyering  <meyering@redhat.com>
34835
34836         maint.mk: new syntax-check rule: prohibit empty lines at end of file
34837         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
34838
34839         maint.mk: correct a diagnostic
34840         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
34841         in diagnostic; now use $prohibit.
34842
34843 2010-04-10  Bruno Haible  <address@hidden>
34844
34845         fchownat: Fix a C++ test error on Solaris 8.
34846         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
34847         the function does not exist.
34848
34849 2010-04-10  Bruno Haible  <bruno@clisp.org>
34850
34851         vasnprintf: Add more tests.
34852         * tests/test-vasnprintf-posix.c: Include <errno.h>.
34853         (test_function): Test converting an invalid wide string.
34854
34855         vasnprintf: Correct handling of unconvertible wide string arguments.
34856         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
34857         VASNPRINTF.
34858         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
34859         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
34860         smaller than the expected maximum need for the directive. Set errno to
34861         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
34862         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
34863         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
34864         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
34865         * modules/vasnprintf (Files): Add m4/printf.m4.
34866         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34867
34868 2010-04-10  Bruno Haible  <bruno@clisp.org>
34869
34870         vasnprintf: Fix crash in %ls directive.
34871         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
34872         string is passed as argument to %ls, with no precision and no width.
34873         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34874
34875 2010-04-10  Bruno Haible  <bruno@clisp.org>
34876
34877         vasnprintf: Fix multiple test failures on mingw.
34878         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
34879         _snprintf, or snwprintf, not _snwprintf.
34880
34881 2010-04-10  Bruno Haible  <bruno@clisp.org>
34882
34883         write: Fix a C++ test error on mingw.
34884         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
34885
34886 2010-04-10  Bruno Haible  <bruno@clisp.org>
34887
34888         vasnprintf test: Reduce code duplication.
34889         * tests/test-vasnprintf.c (test_function): New function, extracted from
34890         test_vasnprintf.
34891         (test_vasnprintf, test_asnprintf): Invoke it.
34892
34893 2010-04-10  Bruno Haible  <bruno@clisp.org>
34894
34895         strnlen: Fix warning in C++ mode on MacOS X.
34896         * lib/string.in.h (strnlen): Use the modern idiom.
34897         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
34898         defining strnlen as a macro already in <config.h>.
34899         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34900         REPLACE_STRNLEN.
34901         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
34902         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34903
34904 2010-04-08  James Youngman  <jay@gnu.org>
34905
34906         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
34907         the example.
34908
34909 2010-04-09  Jim Meyering  <meyering@redhat.com>
34910
34911         maint.mk: print better diagnostic when there is no $(_hv_file)
34912         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
34913         announce that when $(_hv_file) (aka help-version) does not exist.
34914
34915         init.sh: run tr in the "C" locale to avoid multibyte interpretation
34916         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
34917         not try to interpret its random input bytes.  Jarno Rajahalme reported
34918         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
34919         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
34920         (mktempd_): Likewise, just in case.
34921
34922         ftruncate: add two years to projected module removal date: 2012
34923         * m4/ftruncate.m4: Adjust comments.
34924
34925         ftruncate: mark module as obsolete; even MinGW provides it, now
34926         * modules/ftruncate (Status): Obsolete.
34927         (Notice): Say that.
34928         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
34929         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
34930
34931 2010-04-08  Bruno Haible  <bruno@clisp.org>
34932
34933         Fix side effects from tests-related modules.
34934         * modules/dprintf-posix (Comment): New section.
34935         * modules/fprintf-posix (Comment): Likewise.
34936         * modules/obstack-printf-posix (Comment): Likewise.
34937         * modules/printf-posix (Comment): Likewise.
34938         * modules/snprintf-posix (Comment): Likewise.
34939         * modules/sprintf-posix (Comment): Likewise.
34940         * modules/vasnprintf-posix (Comment): Likewise.
34941         * modules/vasprintf-posix (Comment): Likewise.
34942         * modules/vdprintf-posix (Comment): Likewise.
34943         * modules/vfprintf-posix (Comment): Likewise.
34944         * modules/vprintf-posix (Comment): Likewise.
34945         * modules/vsnprintf-posix (Comment): Likewise.
34946         * modules/vsprintf-posix (Comment): Likewise.
34947         * modules/xprintf-posix (Comment): Likewise.
34948         * modules/xvasprintf-posix (Comment): Likewise.
34949         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
34950         * modules/floorf-tests (Depends-on): Likewise.
34951         * modules/round-tests (Depends-on): Likewise.
34952         * modules/roundf-tests (Depends-on): Likewise.
34953         * modules/trunc-tests (Depends-on): Likewise.
34954         * modules/truncf-tests (Depends-on): Likewise.
34955         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
34956         'fprintf-posix' module is not present.
34957         * tests/test-floorf2.c (check): Likewise.
34958         * tests/test-trunc2.c (check): Likewise.
34959         * tests/test-truncf2.c (check): Likewise.
34960         * tests/test-round2.c (equal): Likewise.
34961         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34962
34963 2010-04-07  Karl Berry  <karl@gnu.org>
34964
34965         * config/srclist.txt,
34966         * config/srclistvars.sh,
34967         * config/srclist-update: doc fixes.
34968
34969 2010-04-07  Jim Meyering  <meyering@redhat.com>
34970
34971         maint.mk: add a PATH crosschecking syntax-check rule
34972         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
34973         Useful if you use a test like the one in help-version (coreutils,
34974         diffutils, grep, gzip) that ensures $(VERSION) matches what is
34975         printed by prog --version.
34976
34977 2010-04-06  Bruno Haible  <bruno@clisp.org>
34978
34979         Fix link error on mingw.
34980         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
34981         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
34982
34983 2010-04-06  Bruno Haible  <bruno@clisp.org>
34984
34985         Assume rmdir exists.
34986         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
34987
34988 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
34989
34990         doc: update users.txt
34991         * users.txt: Add gcal.
34992
34993 2010-04-06  Jim Meyering  <meyering@redhat.com>
34994
34995         init.sh: simply unset TMPDIR rather than risking env -i
34996         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
34997         although it probably works fine on all Unix-based systems, some
34998         systems (Cygwin?) cannot tolerate a totally cleared environment.
34999         Suggestion from Eric Blake.
35000
35001 2010-04-06  Jim Meyering  <meyering@redhat.com>
35002
35003         init.sh: portability fix: use env's POSIX-specified -i option not -u
35004         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
35005         than unportable env -u.  Solaris 5.11's env lacks support for -u.
35006
35007 2010-04-05  Bruno Haible  <bruno@clisp.org>
35008
35009         btowc: Work around Cygwin 1.7.2 bug.
35010         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
35011         does not map NUL to 0.
35012         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
35013
35014 2010-04-05  Bruno Haible  <bruno@clisp.org>
35015
35016         Make the multithread modules work on Cygwin 1.7.2.
35017         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
35018         imported symbols can be declared weak, so that it returns "no" on
35019         Cygwin 1.7.2.
35020
35021 2010-04-05  Bruno Haible  <bruno@clisp.org>
35022
35023         Use the module 'strncat'.
35024         * modules/unistr/u8-strncat (Depends-on): Add strncat.
35025
35026         Tests for module 'strncat'.
35027         * modules/strncat-tests: New file.
35028         * tests/test-strncat.c: New file.
35029
35030         New module 'strncat'.
35031         * lib/string.in.h (strncat): New declaration.
35032         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
35033         * m4/strncat.m4: New file, based on m4/memchr.m4.
35034         * modules/strncat: New file.
35035         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
35036         is declared.
35037         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
35038         REPLACE_STRNCAT.
35039         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
35040         REPLACE_STRNCAT.
35041         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
35042         module.
35043         * tests/test-string-c++.cc: Check signature of strncat.
35044
35045 2010-04-05  Jim Meyering  <meyering@redhat.com>
35046
35047         xstrtoumax-tests: convert to use init.sh
35048         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
35049         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
35050         Use Exit, not exit.
35051         Remove uses of $EXEEXT and "./" to run a program in the current dir.
35052
35053         xstrtoimax-tests: convert to use init.sh
35054         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
35055         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
35056         Use Exit, not exit.
35057         Remove uses of $EXEEXT and "./" to run a program in the current dir.
35058
35059 2010-04-05  Bruno Haible  <bruno@clisp.org>
35060
35061         sys_socket: Avoid #define replacements in C++ mode.
35062         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
35063         warning to the function if possible, rather than #defining the symbol
35064         to a dysfunctional alias.
35065
35066 2010-04-05  Bruno Haible  <bruno@clisp.org>
35067
35068         fseeko: Fix C++ test error on mingw.
35069         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
35070         gl_FUNC_FSEEKO.
35071         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
35072         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
35073         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
35074         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
35075
35076 2010-04-05  Bruno Haible  <bruno@clisp.org>
35077
35078         duplocale: Improve test output.
35079         * tests/test-duplocale.c (main): Print reason for skipped test.
35080
35081 2010-04-05  Bruno Haible  <bruno@clisp.org>
35082
35083         Assume rmdir exists.
35084         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
35085         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
35086
35087 2010-04-05  Bruno Haible  <bruno@clisp.org>
35088
35089         Fix link error on Solaris 8 with cc.
35090         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
35091
35092 2010-04-05  Bruno Haible  <bruno@clisp.org>
35093
35094         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
35095         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
35096
35097 2010-04-05  Bruno Haible  <bruno@clisp.org>
35098
35099         vasprintf: Update documentation.
35100         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
35101
35102 2010-04-05  Bruno Haible  <bruno@clisp.org>
35103
35104         ptsname: Improve test.
35105         * tests/test-ptsname.c (main): Also try the various master names of BSD
35106         systems.
35107
35108 2010-04-05  Bruno Haible  <bruno@clisp.org>
35109
35110         memchr: Avoid a possible C++ test error.
35111         * lib/string.in.h (memchr): Provide declaration if function is missing.
35112         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
35113         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
35114         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
35115         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
35116
35117 2010-04-05  Bruno Haible  <bruno@clisp.org>
35118
35119         strtok_r: Improve idiom.
35120         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
35121         AC_LIBOBJ is used.
35122
35123 2010-04-05  Bruno Haible  <bruno@clisp.org>
35124
35125         strdup: Improve idiom.
35126         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
35127         AC_LIBOBJ is used.
35128         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
35129         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
35130         when AC_LIBOBJ is used.
35131
35132 2010-04-05  Bruno Haible  <bruno@clisp.org>
35133
35134         mbsinit, mbrtowc, wcrtomb: Improve idioms.
35135         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
35136         don't set REPLACE_MBSINIT to 1.
35137         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
35138         don't set REPLACE_MBRTOWC to 1.
35139         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
35140         exist, don't set REPLACE_MBSRTOWCS to 1.
35141         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
35142         exist, don't set REPLACE_MBSNRTOWCS to 1.
35143         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
35144         don't set REPLACE_WCRTOMB to 1.
35145         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
35146         exist, don't set REPLACE_WCSRTOMBS to 1.
35147         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
35148         exist, don't set REPLACE_WCSNRTOMBS to 1.
35149
35150 2010-04-05  Bruno Haible  <bruno@clisp.org>
35151
35152         ldexpl: Improve idiom.
35153         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
35154         make sure to set HAVE_DECL_LDEXPL to 0.
35155
35156 2010-04-05  Jim Meyering  <meyering@redhat.com>
35157
35158         xstrtol-tests: convert to use init.sh
35159         * modules/xstrtol-tests (Files): Add tests/init.sh.
35160         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
35161         Use Exit, not exit.
35162         Remove uses of $EXEEXT and "./" to run a program in the current dir.
35163
35164         atexit-tests: convert to use init.sh
35165         * modules/atexit-tests (Files): Add tests/init.sh.
35166         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
35167         Use Exit, not exit.
35168         Remove uses of $EXEEXT and "./" to run a program in the current dir.
35169
35170         init.sh: fix typo
35171         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
35172
35173         init.sh: make it easier for a test script to write to the tty, ...
35174         when using automake's parallel-tests mode.
35175         * tests/init.sh (stderr_fileno_): Define overridable variable.
35176         (warn_): New function, to use it.
35177         (fail_, skip_, framework_failure_): Use warn_.
35178
35179 2010-04-04  Bruno Haible  <bruno@clisp.org>
35180
35181         btowc: Avoid warning.
35182         * lib/btowc.c: Include <stdlib.h>.
35183         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
35184
35185 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
35186             Bruno Haible  <bruno@clisp.org>
35187
35188         wchar: Port to NetBSD 1.5.
35189         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
35190         * lib/wctype.in.h (WEOF): Likewise.
35191
35192 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
35193             Bruno Haible  <bruno@clisp.org>
35194
35195         Port extended stdio to NetBSD 1.5.
35196         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
35197         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
35198         older.
35199
35200 2010-04-04  Bruno Haible  <bruno@clisp.org>
35201
35202         string: Remove unused substitution.
35203         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
35204         HAVE_DECL_STRERROR.
35205         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
35206
35207 2010-04-04  Bruno Haible  <bruno@clisp.org>
35208
35209         strtod: Avoid a possible C++ test error.
35210         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
35211         set REPLACE_STRTOD.
35212
35213 2010-04-04  Bruno Haible  <bruno@clisp.org>
35214
35215         strerror: Update documentation.
35216         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
35217
35218 2010-04-04  Bruno Haible  <bruno@clisp.org>
35219
35220         stdio: Fix some C++ test errors on Solaris 8 with GCC.
35221         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
35222         _GL_CXXALIAS_SYS_CAST.
35223
35224 2010-04-04  Bruno Haible  <bruno@clisp.org>
35225
35226         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
35227         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
35228         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
35229         REPLACE_FREXPL to 1.
35230         * doc/posix-functions/frexpl.texi: Update documentation.
35231
35232 2010-04-04  Bruno Haible  <bruno@clisp.org>
35233
35234         math: Fix some C++ test errors on Solaris 8 and Cygwin.
35235         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
35236
35237 2010-04-04  Bruno Haible  <bruno@clisp.org>
35238
35239         Implement nanosleep for native Windows.
35240         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
35241
35242 2010-04-04  Bruno Haible  <bruno@clisp.org>
35243
35244         math: Fix some C++ test errors on Solaris 8.
35245         * lib/math.in.h (truncf, trunc): Use simpler idiom.
35246
35247 2010-04-04  Bruno Haible  <bruno@clisp.org>
35248
35249         math: Fix some C++ test errors on Cygwin.
35250         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
35251         truncl): Provide declaration if the system does not have it.
35252         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
35253         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
35254         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
35255         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
35256         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
35257         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
35258         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
35259         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
35260         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
35261         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
35262         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
35263         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
35264         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
35265         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
35266         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
35267         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
35268         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
35269         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
35270         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
35271         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
35272         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
35273         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
35274
35275 2010-04-04  Bruno Haible  <bruno@clisp.org>
35276
35277         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
35278         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
35279         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
35280         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
35281         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
35282         * m4/isinf.m4 (gl_ISINF): Likewise.
35283         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
35284
35285 2010-04-04  Bruno Haible  <bruno@clisp.org>
35286
35287         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
35288         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
35289
35290 2010-04-04  Bruno Haible  <bruno@clisp.org>
35291
35292         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
35293         * modules/tmpfile (configure.ac): Update.
35294
35295         tmpfile: Fix C++ test error on mingw.
35296         * lib/stdio.in.h (tmpfile): New declaration.
35297         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
35298         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
35299         * modules/tmpfile (Depends-on): Add stdio.
35300         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
35301         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
35302         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
35303         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
35304         REPLACE_TMPFILE.
35305         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
35306
35307 2010-04-04  Bruno Haible  <bruno@clisp.org>
35308
35309         ioctl: Fix C++ test error on mingw.
35310         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
35311         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
35312         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
35313
35314 2010-04-03  Bruno Haible  <bruno@clisp.org>
35315
35316         wcwidth: Fix C++ test error on mingw.
35317         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
35318         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
35319         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
35320
35321 2010-04-03  Bruno Haible  <bruno@clisp.org>
35322
35323         nanosleep: Fix C++ test error on mingw.
35324         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
35325         * lib/time.in.h (nanosleep): Use modern idiom.
35326         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
35327         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
35328         REPLACE_NANOSLEEP to 1.
35329         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
35330         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
35331
35332 2010-04-03  Bruno Haible  <bruno@clisp.org>
35333
35334         strptime: Fix C++ test error on mingw.
35335         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
35336         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
35337         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
35338         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
35339         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
35340         not REPLACE_STRPTIME.
35341         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
35342         REPLACE_STRPTIME.
35343
35344 2010-04-03  Bruno Haible  <bruno@clisp.org>
35345
35346         timegm: Fix C++ test error on mingw.
35347         * lib/time.in.h (timegm): Use modern idiom.
35348         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
35349         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
35350         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
35351         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
35352
35353 2010-04-03  Bruno Haible  <bruno@clisp.org>
35354
35355         timegm: Assume declaration if function exists.
35356         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
35357         if it exists. Don't clobber ac_cv_func_timegm.
35358
35359 2010-04-03  Bruno Haible  <bruno@clisp.org>
35360
35361         time_r: Fix C++ test error on mingw.
35362         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
35363         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
35364         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
35365         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
35366         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
35367
35368 2010-04-03  Bruno Haible  <bruno@clisp.org>
35369
35370         time_r: Minor updates.
35371         * modules/time_r (Description): Mention the provided functions.
35372         * lib/time_r.c: Don't include <string.h>.
35373         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
35374         * doc/posix-functions/localtime_r.texi: Likewise.
35375
35376 2010-04-03  Bruno Haible  <bruno@clisp.org>
35377
35378         time: Fix regression introduced on 2010-03-08.
35379         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
35380         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
35381
35382 2010-04-03  Jim Meyering  <meyering@redhat.com>
35383
35384         maint.mk: don't silently disable project-specific syntax-check rules
35385         * top/maint.mk (_prohibit_regexp): Define, to help people realize
35386         that they need to convert their project-specific syntax-check rules
35387         to use the new _sc_search_regexp.
35388
35389 2010-04-03  Bruno Haible  <bruno@clisp.org>
35390
35391         fchdir: Fix regression introduced on 2010-03-08.
35392         * lib/unistd.in.h (fchdir): Fix declaration.
35393         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
35394         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
35395         REPLACE_FCHDIR.
35396         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
35397         REPLACE_FCHDIR.
35398
35399 2010-04-03  Bruno Haible  <bruno@clisp.org>
35400
35401         getpagesize: Fix C++ test error on mingw.
35402         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
35403         system does not declare the function.
35404         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
35405         declared.
35406         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35407         HAVE_DECL_GETPAGESIZE.
35408         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
35409
35410 2010-04-03  Bruno Haible  <bruno@clisp.org>
35411
35412         stdio: Make C++ tests work on mingw.
35413         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
35414         does not declare the function.
35415
35416 2010-04-03  Bruno Haible  <bruno@clisp.org>
35417
35418         ftello: Fix C++ test error on mingw.
35419         * lib/stdio.in.h (ftello): Use modern idiom.
35420         * lib/ftello.c (ftello): Renamed from rpl_ftello.
35421         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
35422         is missing and that it needs to be replaced.
35423         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
35424         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
35425         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
35426
35427 2010-04-03  Bruno Haible  <bruno@clisp.org>
35428
35429         fseeko: Fix C++ test error on mingw.
35430         * lib/stdio.in.h (fseeko): Use modern idiom.
35431         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
35432         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
35433         is missing and that it needs to be replaced.
35434         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
35435         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
35436         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
35437
35438 2010-04-03  Bruno Haible  <bruno@clisp.org>
35439
35440         mkstemp: Fix C++ test error on mingw.
35441         * lib/stdlib.in.h (mkstemp): Use modern idiom.
35442         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
35443         function is missing and that it needs to be replaced.
35444         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
35445         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
35446
35447 2010-04-03  Bruno Haible  <bruno@clisp.org>
35448
35449         stpncpy: Fix C++ test error on mingw.
35450         * lib/string.in.h (stpncpy): Use modern idiom.
35451         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
35452         function is missing and that it needs to be replaced.
35453         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35454         REPLACE_STPNCPY.
35455         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
35456
35457 2010-04-03  Bruno Haible  <bruno@clisp.org>
35458
35459         sys_stat: Fix C++ test error on mingw.
35460         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
35461         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
35462
35463 2010-04-03  Bruno Haible  <bruno@clisp.org>
35464
35465         pty: Update doc.
35466         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
35467
35468 2010-04-03  Bruno Haible  <bruno@clisp.org>
35469
35470         unistd: Fix C++ test error on mingw.
35471         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
35472
35473 2010-04-03  Bruno Haible  <bruno@clisp.org>
35474
35475         Update doc regarding mingw.
35476         * doc/glibc-functions/openpty.texi: Update regarding mingw.
35477         * doc/glibc-functions/login_tty.texi: Likewise.
35478         * doc/glibc-functions/forkpty.texi: Likewise.
35479
35480 2010-04-03  Bruno Haible  <bruno@clisp.org>
35481
35482         stdlib: Avoid compilation failure of c-strtold on mingw.
35483         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
35484
35485 2010-04-03  Bruno Haible  <bruno@clisp.org>
35486
35487         locale: Make C++ tests work on Cygwin and mingw.
35488         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
35489         cannot provide the function.
35490         Reported by Simon Josefsson.
35491
35492 2010-04-03  Bruno Haible  <bruno@clisp.org>
35493
35494         localename: Port to MacOS X 10.6.
35495         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
35496         memory layout of the locales in MacOS X 10.6 as well.
35497         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
35498
35499 2010-04-02  Bruno Haible  <bruno@clisp.org>
35500
35501         gnulib-tool: Ensure that long-running tests are executed last.
35502         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
35503         running tests after the one for the other tests.
35504
35505 2010-04-02  Bruno Haible  <bruno@clisp.org>
35506
35507         gnulib-tool: Ensure the tests in the main directory are executed first.
35508         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
35509         start with the current directory.
35510
35511 2010-04-02  Bruno Haible  <bruno@clisp.org>
35512
35513         Tests for module 'havelib', moved here from GNU gettext.
35514         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
35515         modifications.
35516         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
35517         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
35518         with modifications.
35519         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
35520         modifications.
35521         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
35522         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
35523         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
35524         with modifications.
35525         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
35526         with modifications.
35527         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
35528         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
35529         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
35530         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
35531         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
35532         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
35533         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
35534         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
35535         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
35536         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
35537         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
35538         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
35539         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
35540         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
35541         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
35542         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
35543         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
35544         with modifications.
35545         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
35546         with modifications.
35547         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
35548         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
35549         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
35550         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
35551         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
35552         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
35553         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
35554         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
35555         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
35556         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
35557         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
35558         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
35559         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
35560         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
35561         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
35562         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
35563         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
35564         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
35565         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
35566         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
35567         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
35568         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
35569         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
35570         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
35571         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
35572         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
35573         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
35574         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
35575         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
35576         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
35577         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
35578         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
35579         * tests/havelib/rpathx/rpathx.c: New file, from
35580         gettext/autoconf-lib-link.
35581         * tests/havelib/rpathx/Makefile.am: New file, from
35582         gettext/autoconf-lib-link.
35583         * tests/havelib/rpathx/configure.ac: New file, from
35584         gettext/autoconf-lib-link with modifications.
35585         * tests/havelib/rpathy/rpathy.c: New file, from
35586         gettext/autoconf-lib-link.
35587         * tests/havelib/rpathy/Makefile.am: New file, from
35588         gettext/autoconf-lib-link.
35589         * tests/havelib/rpathy/configure.ac: New file, from
35590         gettext/autoconf-lib-link with modifications.
35591         * tests/havelib/rpathz/rpathz.c: New file, from
35592         gettext/autoconf-lib-link.
35593         * tests/havelib/rpathz/Makefile.am: New file, from
35594         gettext/autoconf-lib-link.
35595         * tests/havelib/rpathz/configure.ac: New file, from
35596         gettext/autoconf-lib-link with modifications.
35597         * tests/havelib/rpathlx/usex.c: New file, from
35598         gettext/autoconf-lib-link.
35599         * tests/havelib/rpathlx/Makefile.am: New file, from
35600         gettext/autoconf-lib-link.
35601         * tests/havelib/rpathlx/configure.ac: New file, from
35602         gettext/autoconf-lib-link with modifications.
35603         * tests/havelib/rpathly/usey.c: New file, from
35604         gettext/autoconf-lib-link.
35605         * tests/havelib/rpathly/Makefile.am: New file, from
35606         gettext/autoconf-lib-link.
35607         * tests/havelib/rpathly/configure.ac: New file, from
35608         gettext/autoconf-lib-link with modifications.
35609         * tests/havelib/rpathlz/usez.c: New file, from
35610         gettext/autoconf-lib-link.
35611         * tests/havelib/rpathlz/Makefile.am: New file, from
35612         gettext/autoconf-lib-link.
35613         * tests/havelib/rpathlz/configure.ac: New file, from
35614         gettext/autoconf-lib-link with modifications.
35615         * tests/havelib/rpathlyx/usey.c: New file, from
35616         gettext/autoconf-lib-link.
35617         * tests/havelib/rpathlyx/Makefile.am: New file, from
35618         gettext/autoconf-lib-link.
35619         * tests/havelib/rpathlyx/configure.ac: New file, from
35620         gettext/autoconf-lib-link with modifications.
35621         * tests/havelib/rpathlzyx/usez.c: New file, from
35622         gettext/autoconf-lib-link.
35623         * tests/havelib/rpathlzyx/Makefile.am: New file, from
35624         gettext/autoconf-lib-link.
35625         * tests/havelib/rpathlzyx/configure.ac: New file, from
35626         gettext/autoconf-lib-link with modifications.
35627         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
35628         with modifications.
35629
35630 2010-04-02  Bruno Haible  <bruno@clisp.org>
35631
35632         gnulib-tool: Create distributed built sources also for the tests.
35633         * gnulib-tool (func_create_testdir): Also generate distributed built
35634         sources in the tests directory.
35635
35636 2010-04-02  Bruno Haible  <bruno@clisp.org>
35637
35638         gnulib-tool: Obey user's environment variables.
35639         * gnulib-tool (func_create_testdir): When creating built sources,
35640         respect the environment variables for autoconf, automake, etc. given by
35641         the user.
35642
35643 2010-04-02  Bruno Haible  <bruno@clisp.org>
35644
35645         gnulib-tool: Provide the value of --m4-base to modules.
35646         * gnulib-tool (func_import, func_create_testdir): Emit a definition
35647         of gl_m4_base.
35648
35649 2010-04-02  Eric Blake  <eblake@redhat.com>
35650
35651         maint.mk: fix some fallout
35652         * NEWS: Document the incompatible change, and its effect on cfg.mk.
35653         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
35654
35655 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
35656
35657         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
35658         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
35659         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
35660         (sc_cast_of_x_alloc_return_value): Likewise.
35661         (sc_cast_of_alloca_return_value): Likewise.
35662         (sc_space_tab): Likewise.
35663         (sc_prohibit_atoi_atof): Likewise.
35664         (sc_prohibit_magic_number_exit): Likewise.
35665         (sc_error_exit_success): Likewise.
35666         (sc_file_system): Likewise.
35667         (sc_prohibit_have_config_h): Likewise.
35668         (sc_require_config_h): Likewise.
35669         (sc_prohibit_HAVE_MBRTOWC): Likewise.
35670         (sc_obsolete_symbols): Likewise.
35671         (sc_changelog): Likewise.
35672         (sc_program_name): Likewise.
35673         (sc_the_the): Likewise.
35674         (sc_trailing_blank): Likewise.
35675         (sc_two_space_separator_in_usage): Likewise.
35676         (sc_useless_cpp_parens): Likewise.
35677         (sc_GPL_version): Likewise.
35678         (sc_GFDL_version): Likewise.
35679         (sc_texinfo_acronym): Likewise.
35680         (sc_prohibit_cvs_keyword): Likewise.
35681         (sc_prohibit_stat_st_blocks): Likewise.
35682         (sc_prohibit_S_IS_definition): Likewise.
35683         (sc_redundant_const): Likewise.
35684         (sc_makefile_TAB_only_indentation): Likewise.
35685         (sc_m4_quote_check): Likewise.
35686         (sc_makefile_path_separator_check): Likewise.
35687         (sc_copyright_check): Likewise.
35688         (sc_Wundef_boolean): Likewise.
35689         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
35690
35691         maint.mk: match 0 or more whitespace-before-function-call '('
35692         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
35693         that have zero or two-and-more spaces between the function name
35694         and the open parenthesis.
35695         (sc_error_message_warn_fatal): Likewise.
35696         (sc_error_message_uppercase): Likewise.
35697         (sc_error_message_period): Likewise.
35698
35699 2010-03-31  Eric Blake  <eblake@redhat.com>
35700
35701         maint.mk: check for [ as well as test
35702         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
35703         Based on a libvirt report by Matthias Bolte.
35704
35705         gnumakefile: don't squelch _version output
35706         * top/GNUmakefile (_version): Create one-shot dependency rather
35707         than using $(shell) when version must be regenerated.
35708         (_autoreconf): Run verbosely, by default.
35709
35710         sys_time: avoid compiler warnings
35711         * lib/sys_time.in.h (includes): Ensure gcc pragma is
35712         unconditional, fixing regression from 2010-03-29.
35713         Reported by Simon Josefsson.
35714
35715 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
35716
35717         maint.mk: s/_header_without_use/_sc_header_without_use/
35718         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
35719         (sc_prohibit_assert_without_use): Use the new name.
35720         (sc_prohibit_close_stream_without_use): Likewise.
35721         (sc_prohibit_getopt_without_use): Likewise.
35722         (sc_prohibit_quotearg_without_use): Likewise.
35723         (sc_prohibit_quote_without_use): Likewise.
35724         (sc_prohibit_long_options_without_use): Likewise.
35725         (sc_prohibit_inttostr_without_use): Likewise.
35726         (sc_prohibit_ignore_value_without_use): Likewise.
35727         (sc_prohibit_error_without_use): Likewise.
35728         (sc_prohibit_xalloc_without_use): Likewise.
35729         (sc_prohibit_hash_without_use): Likewise.
35730         (sc_prohibit_hash_pjw_without_use): Likewise.
35731         (sc_prohibit_safe_read_without_use): Likewise.
35732         (sc_prohibit_argmatch_without_use): Likewise.
35733         (sc_prohibit_canonicalize_without_use): Likewise.
35734         (sc_prohibit_root_dev_ino_without_use): Likewise.
35735         (sc_prohibit_openat_without_use): Likewise.
35736         (sc_prohibit_c_ctype_without_use): Likewise.
35737         (sc_prohibit_signal_without_use): Likewise.
35738         (sc_prohibit_intprops_without_use): Likewise.
35739
35740 2010-03-30  Eric Blake  <eblake@redhat.com>
35741
35742         maint: improve module indicators
35743         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
35744         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
35745         columns, and avoid extra macro expansion.
35746
35747         fdopendir: work around FreeBSD bug
35748         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
35749         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
35750         * modules/dirent (Makefile.am): Substitute it.
35751         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
35752         declaration.
35753         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
35754         fix.
35755         Reported by Christian Weisgerber <naddy@mips.inka.de>.
35756
35757 2010-03-29  Bruno Haible  <bruno@clisp.org>
35758
35759         Emit #pragma system_header after the inclusion guard, not before.
35760         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
35761         guard that spans the entire file, not before. This enables an
35762         optimization in GCC's preprocessor.
35763         * lib/ctype.in.h: Likewise.
35764         * lib/dirent.in.h: Likewise.
35765         * lib/errno.in.h: Likewise.
35766         * lib/float.in.h: Likewise.
35767         * lib/getopt.in.h: Likewise.
35768         * lib/iconv.in.h: Likewise.
35769         * lib/langinfo.in.h: Likewise.
35770         * lib/locale.in.h: Likewise.
35771         * lib/math.in.h: Likewise.
35772         * lib/netdb.in.h: Likewise.
35773         * lib/netinet_in.in.h: Likewise.
35774         * lib/pty.in.h: Likewise.
35775         * lib/sched.in.h: Likewise.
35776         * lib/se-selinux.in.h: Likewise.
35777         * lib/search.in.h: Likewise.
35778         * lib/spawn.in.h: Likewise.
35779         * lib/stdarg.in.h: Likewise.
35780         * lib/stdint.in.h: Likewise.
35781         * lib/string.in.h: Likewise.
35782         * lib/strings.in.h: Likewise.
35783         * lib/sys_file.in.h: Likewise.
35784         * lib/sys_ioctl.in.h: Likewise.
35785         * lib/sys_time.in.h: Likewise.
35786         * lib/sys_times.in.h: Likewise.
35787         * lib/sys_utsname.in.h: Likewise.
35788         * lib/sys_wait.in.h: Likewise.
35789         * lib/sysexits.in.h: Likewise.
35790         * lib/wctype.in.h: Likewise.
35791
35792 2010-03-28  James Youngman  <jay@gnu.org>
35793
35794         save-cwd: don't leak a file descriptor when the caller execs.
35795         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
35796         saved file descriptor.
35797         * modules/save-cwd (Depends-on): Depend on cloexec.
35798
35799 2010-03-29  Bruno Haible  <bruno@clisp.org>
35800
35801         Remove vestiges of fts-lgpl module.
35802         * lib/fts_.h: Assume GNULIB_FTS is 1.
35803         * lib/fts.c: Likewise.
35804         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35805
35806 2010-03-28  Bruno Haible  <bruno@clisp.org>
35807
35808         Fix definition of tests witness macro.
35809         * gnulib-tool (func_import): Fix definition of witness macro.
35810
35811 2010-03-28  Bruno Haible  <bruno@clisp.org>
35812
35813         Fix ioctl's protoype on glibc systems.
35814         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
35815         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
35816         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
35817         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
35818         signature. If not, arrange to replace the ioctl function.
35819         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
35820         REPLACE_IOCTL.
35821         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
35822         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
35823         Reported by Ludovic Courtès <ludo@gnu.org>.
35824
35825 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
35826
35827         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
35828         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
35829         made it so grep -r --include=GLOB* ... did not work.
35830
35831 2010-03-26  Jim Meyering  <meyering@redhat.com>
35832             Eric Blake  <eblake@redhat.com>
35833
35834         maint.mk: prohibit use of test's -o and -a operators
35835         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
35836
35837 2010-03-28  Bruno Haible  <bruno@clisp.org>
35838
35839         Remove unused GNULIB_XYZ macro definitions.
35840         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
35841         invocation.
35842
35843 2010-03-28  Bruno Haible  <bruno@clisp.org>
35844
35845         Mark privileged tests modules.
35846         * modules/idpriv-drop-tests (Status): New section.
35847         * modules/idpriv-droptemp-tests (Status): New section.
35848
35849 2010-03-28  Bruno Haible  <bruno@clisp.org>
35850
35851         Split C++ tests into separate tests modules.
35852         * modules/dirent-c++-tests: New file, extracted from
35853         modules/dirent-tests.
35854         * modules/dirent-tests: Depend on it.
35855         * modules/fcntl-h-c++-tests: New file, extracted from
35856         modules/fcntl-h-tests.
35857         * modules/fcntl-h-tests: Depend on it.
35858         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
35859         * modules/glob-tests: Depend on it.
35860         * modules/iconv-h-c++-tests: New file, extracted from
35861         modules/iconv-h-tests.
35862         * modules/iconv-h-tests: Depend on it.
35863         * modules/langinfo-c++-tests: New file, extracted from
35864         modules/langinfo-tests.
35865         * modules/langinfo-tests: Depend on it.
35866         * modules/locale-c++-tests: New file, extracted from
35867         modules/locale-tests.
35868         * modules/locale-tests: Depend on it.
35869         * modules/math-c++-tests: New file, extracted from modules/math-tests.
35870         * modules/math-tests: Depend on it.
35871         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
35872         * modules/pty-tests: Depend on it.
35873         * modules/search-c++-tests: New file, extracted from
35874         modules/search-tests.
35875         * modules/search-tests: Depend on it.
35876         * modules/signal-c++-tests: New file, extracted from
35877         modules/signal-tests.
35878         * modules/signal-tests: Depend on it.
35879         * modules/spawn-c++-tests: New file, extracted from
35880         modules/spawn-tests.
35881         * modules/spawn-tests: Depend on it.
35882         * modules/stdio-c++-tests: New file, extracted from
35883         modules/stdio-tests.
35884         * modules/stdio-tests: Depend on it.
35885         * modules/stdlib-c++-tests: New file, extracted from
35886         modules/stdlib-tests.
35887         * modules/stdlib-tests: Depend on it.
35888         * modules/string-c++-tests: New file, extracted from
35889         modules/string-tests.
35890         * modules/string-tests: Depend on it.
35891         * modules/sys_ioctl-c++-tests: New file, extracted from
35892         modules/sys_ioctl-tests.
35893         * modules/sys_ioctl-tests: Depend on it.
35894         * modules/sys_select-c++-tests: New file, extracted from
35895         modules/sys_select-tests.
35896         * modules/sys_select-tests: Depend on it.
35897         * modules/sys_socket-c++-tests: New file, extracted from
35898         modules/sys_socket-tests.
35899         * modules/sys_socket-tests: Depend on it.
35900         * modules/sys_stat-c++-tests: New file, extracted from
35901         modules/sys_stat-tests.
35902         * modules/sys_stat-tests: Depend on it.
35903         * modules/sys_time-c++-tests: New file, extracted from
35904         modules/sys_time-tests.
35905         * modules/sys_time-tests: Depend on it.
35906         * modules/time-c++-tests: New file, extracted from modules/time-tests.
35907         * modules/time-tests: Depend on it.
35908         * modules/unistd-c++-tests: New file, extracted from
35909         modules/unistd-tests.
35910         * modules/unistd-tests: Depend on it.
35911         * modules/wchar-c++-tests: New file, extracted from
35912         modules/wchar-tests.
35913         * modules/wchar-tests: Depend on it.
35914         * modules/wctype-c++-tests: New file, extracted from
35915         modules/wctype-tests.
35916         * modules/wctype-tests: Depend on it.
35917         Reported by Simon Josefsson.
35918
35919 2010-03-28  Bruno Haible  <bruno@clisp.org>
35920
35921         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
35922         * gnulib-tool (func_exists_module): New function, extracted from
35923         func_verify_module.
35924         (func_verify_module): Use it.
35925         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
35926         'foo' only if 'foo' exists.
35927         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
35928         module.
35929
35930 2010-03-28  Bruno Haible  <bruno@clisp.org>
35931
35932         gnulib-tool: Add support for special categories of tests.
35933         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
35934         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
35935         (func_usage): Document them.
35936         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
35937         inc_unportable_tests, inc_all_tests): New variables.
35938         (func_acceptable): Consider these variables.
35939         (func_modules_transitive_closure): Make it work when the 'Status' field
35940         consists of multiple words.
35941         (func_import): Store and restore the values of inc_cxx_tests,
35942         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
35943         inc_all_tests in gnulib-comp.m4.
35944         (func_create_testdir): Set inc_all_tests to true.
35945         * doc/gnulib.texi (Extra tests modules): New section.
35946         Suggested by Jim Meyering.
35947
35948 2010-03-28  Bruno Haible  <bruno@clisp.org>
35949
35950         ansi-c++-opt: Allow turning off the C++ build by default.
35951         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
35952         gl_CXX_CHOICE_DEFAULT_NO is defined.
35953         Requested by Eric Blake.
35954
35955 2010-03-28  Bruno Haible  <bruno@clisp.org>
35956
35957         unistd: Avoid #define replacements in C++ mode.
35958         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
35959         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
35960         setsockopt, shutdown, select): In C++, attach a warning to the function
35961         if possible, rather than #defining the symbol to a dysfunctional alias.
35962         Reported by John W. Eaton <jwe@gnu.org>.
35963
35964 2010-03-28  Bruno Haible  <bruno@clisp.org>
35965
35966         Fix link errors on mingw.
35967         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
35968         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
35969         $(LIBSOCKET).
35970         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
35971         $(LIBSOCKET).
35972
35973 2010-03-28  Bruno Haible  <bruno@clisp.org>
35974             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35975
35976         lib-ignore: Determine different options for different compilers.
35977         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
35978         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
35979         Add comments.
35980         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
35981         * NEWS: Mention the change.
35982
35983 2010-03-27  Bruno Haible  <bruno@clisp.org>
35984
35985         Remove unused GNULIB_XYZ macro definitions.
35986         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35987         * modules/fseek (configure.ac): Likewise.
35988         * modules/ioctl (configure.ac): Likewise.
35989         * modules/open (configure.ac): Likewise.
35990         * modules/stdlib-safer (configure.ac): Likewise.
35991
35992 2010-03-27  Bruno Haible  <bruno@clisp.org>
35993
35994         Add a remark about certain modules.
35995         * modules/malloc (Comment): New section.
35996         * modules/realloc (Comment): Likewise.
35997         * modules/sigpipe (Comment): Likewise.
35998
35999 2010-03-27  Bruno Haible  <bruno@clisp.org>
36000
36001         Resolve conflict between the two kinds of module indicators.
36002         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
36003         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
36004         * modules/canonicalize (configure.ac): Invoke
36005         gl_MODULE_INDICATOR_FOR_TESTS.
36006         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
36007         GNULIB_XYZ.
36008         * tests/test-dirent-c++.cc: Likewise.
36009         * tests/test-dirent-safer.c: Likewise.
36010         * tests/test-dup2.c: Likewise.
36011         * tests/test-fchdir.c: Likewise.
36012         * tests/test-fcntl-h-c++.cc: Likewise.
36013         * tests/test-getopt.c: Likewise.
36014         * tests/test-getopt.h: Likewise.
36015         * tests/test-langinfo-c++.cc: Likewise.
36016         * tests/test-locale-c++.cc: Likewise.
36017         * tests/test-math-c++.cc: Likewise.
36018         * tests/test-pty-c++.cc: Likewise.
36019         * tests/test-search-c++.cc: Likewise.
36020         * tests/test-signal-c++.cc: Likewise.
36021         * tests/test-spawn-c++.cc: Likewise.
36022         * tests/test-stdio-c++.cc: Likewise.
36023         * tests/test-stdlib-c++.cc: Likewise.
36024         * tests/test-string-c++.cc: Likewise.
36025         * tests/test-sys_ioctl-c++.cc: Likewise.
36026         * tests/test-sys_select-c++.cc: Likewise.
36027         * tests/test-sys_socket-c++.cc: Likewise.
36028         * tests/test-sys_stat-c++.cc: Likewise.
36029         * tests/test-sys_time-c++.cc: Likewise.
36030         * tests/test-time-c++.cc: Likewise.
36031         * tests/test-unistd-c++.cc: Likewise.
36032         * tests/test-wchar-c++.cc: Likewise.
36033         * tests/uninorm/test-u8-nfc.c: Likewise.
36034         * tests/uninorm/test-u8-nfd.c: Likewise.
36035         * tests/uninorm/test-u8-nfkc.c: Likewise.
36036         * tests/uninorm/test-u8-nfkd.c: Likewise.
36037         * tests/uninorm/test-u16-nfc.c: Likewise.
36038         * tests/uninorm/test-u16-nfd.c: Likewise.
36039         * tests/uninorm/test-u16-nfkc.c: Likewise.
36040         * tests/uninorm/test-u16-nfkd.c: Likewise.
36041         * tests/uninorm/test-u32-nfc.c: Likewise.
36042         * tests/uninorm/test-u32-nfc-big.c: Likewise.
36043         * tests/uninorm/test-u32-nfd.c: Likewise.
36044         * tests/uninorm/test-u32-nfd-big.c: Likewise.
36045         * tests/uninorm/test-u32-nfkc.c: Likewise.
36046         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
36047         * tests/uninorm/test-u32-nfkd.c: Likewise.
36048         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
36049         * tests/uninorm/test-u32-normalize-big.c: Likewise.
36050
36051 2010-03-27  Bruno Haible  <bruno@clisp.org>
36052
36053         Distinguish two kinds of module indicators.
36054         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
36055         gl_MODULE_INDICATOR.
36056         (gl_MODULE_INDICATOR): New macro.
36057         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
36058         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
36059         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
36060         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
36061         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
36062         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
36063         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
36064         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
36065         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
36066         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
36067         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
36068         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
36069         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
36070         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
36071         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
36072         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
36073         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
36074         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
36075         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
36076         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
36077         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
36078         * modules/cloexec (configure.ac): Likewise.
36079         * modules/getopt-gnu (configure.ac): Likewise.
36080         * modules/uninorm/u8-normalize (configure.ac): Likewise.
36081         * modules/uninorm/u16-normalize (configure.ac): Likewise.
36082         * modules/uninorm/u32-normalize (configure.ac): Likewise.
36083         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
36084
36085 2010-03-27  Bruno Haible  <bruno@clisp.org>
36086
36087         New module description field 'Comment'.
36088         * gnulib-tool: New option --extract-comment.
36089         (func_usage): Document it.
36090         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
36091         (func_get_comment): New function.
36092         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
36093
36094 2010-03-27  Bruno Haible  <bruno@clisp.org>
36095
36096         Addendum to 2010-02-07 commit.
36097         * gnulib-tool (func_usage): Document --extract-applicability option.
36098
36099 2010-03-27  Bruno Haible  <bruno@clisp.org>
36100
36101         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
36102         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
36103         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
36104         rather than link errors.
36105
36106 2010-03-27  Bruno Haible  <bruno@clisp.org>
36107
36108         Avoid side effects from tests-related modules on the compilation of lib.
36109         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
36110         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
36111         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
36112         parameter. Emit into AM_CPPFLAGS a definition of the designated C
36113         macro.
36114         (func_import): Define a witness macro. Assign it a value that depends
36115         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
36116         tests-related modules.
36117         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
36118         Reported by Jim Meyering.
36119
36120 2010-03-27  Bruno Haible  <bruno@clisp.org>
36121
36122         Factorize common .m4 code.
36123         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
36124         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
36125         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
36126         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
36127         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
36128         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
36129         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
36130         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
36131         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
36132         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
36133         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
36134         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
36135         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
36136         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
36137         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
36138         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
36139         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
36140         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
36141         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
36142         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
36143         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
36144         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
36145         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
36146         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
36147         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
36148         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
36149         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
36150         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
36151         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
36152         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
36153         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
36154         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
36155
36156 2010-03-27  Bruno Haible  <bruno@clisp.org>
36157
36158         Fix a compilation error on Cygwin with g++ >= 4.3.
36159         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
36160         if it is undefined or if we alias it to chmod.
36161         (lstat): Don't warn about the use of this function if it is undefined
36162         or if we alias it to stat.
36163         Reported by Simon Josefsson.
36164
36165 2010-03-27  Bruno Haible  <bruno@clisp.org>
36166
36167         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
36168         * modules/getlogin (configure.ac): Update.
36169
36170         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
36171         * modules/getlogin_r (configure.ac): Update.
36172
36173         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
36174         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
36175         * modules/inet_ntop (configure.ac): Update.
36176
36177         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
36178         * modules/inet_pton (configure.ac): Update.
36179
36180         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
36181         * modules/mbslen (configure.ac): Update.
36182
36183         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
36184         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
36185         * modules/forkpty (configure.ac): Update.
36186         * modules/openpty (configure.ac): Update.
36187
36188 2010-03-26  Simon Josefsson  <simon@josefsson.org>
36189
36190         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
36191         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
36192
36193 2010-03-25  Eric Blake  <eblake@redhat.com>
36194
36195         maint: use pragma consistently across replacement headers
36196         * lib/ctype.in.h (system_header): Hoist for consistent placement.
36197         * lib/dirent.in.h (system_header): Likewise.
36198         * lib/errno.in.h (system_header): Likewise.
36199         * lib/float.in.h (system_header): Likewise.
36200         * lib/getopt.in.h (system_header): Likewise.
36201         * lib/iconv.in.h (system_header): Likewise.
36202         * lib/inttypes.in.h (system_header): Likewise.
36203         * lib/langinfo.in.h (system_header): Likewise.
36204         * lib/locale.in.h (system_header): Likewise.
36205         * lib/math.in.h (system_header): Likewise.
36206         * lib/netdb.in.h (system_header): Likewise.
36207         * lib/netinet_in.in.h (system_header): Likewise.
36208         * lib/pty.in.h (system_header): Likewise.
36209         * lib/sched.in.h (system_header): Likewise.
36210         * lib/se-selinux.in.h (system_header): Likewise.
36211         * lib/search.in.h (system_header): Likewise.
36212         * lib/spawn.in.h (system_header): Likewise.
36213         * lib/stdarg.in.h (system_header): Likewise.
36214         * lib/stdint.in.h (system_header): Likewise.
36215         * lib/string.in.h (system_header): Likewise.
36216         * lib/strings.in.h (system_header): Likewise.
36217         * lib/sys_file.in.h (system_header): Likewise.
36218         * lib/sys_ioctl.in.h (system_header): Likewise.
36219         * lib/sys_socket.in.h (system_header): Likewise.
36220         * lib/sys_times.in.h (system_header): Likewise.
36221         * lib/sys_utsname.in.h (system_header): Likewise.
36222         * lib/sys_wait.in.h (system_header): Likewise.
36223         * lib/sysexits.in.h (system_header): Likewise.
36224         * lib/unistd.in.h (system_header): Likewise.
36225         * lib/wctype.in.h (system_header): Likewise.
36226
36227         arpa/inet: fix mingw compilation warning
36228         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
36229         Reported by Matthew Bolte.
36230
36231 2010-03-25  Bruno Haible  <bruno@clisp.org>
36232
36233         Avoid collision between gnulib wrapper and libintl wrapper.
36234         * lib/printf.c (printf): Don't define if a printf wrapper is already
36235         defined in intl/printf.c.
36236         Reported by Michel Boaventura <michel@michelboaventura.com>.
36237
36238 2010-03-25  Bruno Haible  <bruno@clisp.org>
36239
36240         Use ANSI C.
36241         * lib/readutmp.h (getutent): Provide ANSI C prototype.
36242
36243 2010-03-25  Bruno Haible  <bruno@clisp.org>
36244
36245         Minor formatting changes.
36246         * lib/acosl.c: Insert space before function argument list.
36247         * lib/argz.c: Likewise.
36248         * lib/asinl.c: Likewise.
36249         * lib/expl.c: Likewise.
36250         * lib/gen-uni-tables.c: Likewise.
36251         * lib/gettext.h: Likewise.
36252         * lib/glthread/lock.h: Likewise.
36253         * lib/tanl.c: Likewise.
36254         * lib/uniname/uniname.c: Likewise.
36255         * tests/test-idpriv-drop.c: Likewise.
36256         * tests/test-idpriv-droptemp.c: Likewise.
36257         * tests/test-lock.c: Likewise.
36258         * tests/test-tls.c: Likewise.
36259         * lib/argp-help.c: Insert space before function-like macro argument
36260         list.
36261         * lib/memcmp.c: Likewise.
36262         * tests/test-base64.c: Likewise.
36263         * lib/localename.c: Insert space before sizeof's argument list.
36264         * lib/safe-alloc.h: Likewise.
36265         * lib/file-set.h: Insert space before macro argument list.
36266         * tests/test-argp.c: Likewise.
36267         * lib/argp-namefrob.h: Insert space before function parameter list.
36268         * lib/getaddrinfo.c: Likewise.
36269         * lib/netdb.in.h: Likewise.
36270         * lib/parse-duration.h: Likewise.
36271         * lib/parse-duration.c: Likewise.
36272         * lib/poll.c: Likewise.
36273         * lib/select.c: Likewise.
36274         * lib/trim.h: Likewise.
36275         * tests/test-usleep.c: Likewise.
36276         * lib/ldexpl.c: Insert space before function parameter list and before
36277         function argument list.
36278         * lib/logl.c: Likewise.
36279         * lib/sqrtl.c: Likewise.
36280         * lib/trim.c: Likewise.
36281         * lib/cosl.c: Use GNU style indentation. Insert space before function
36282         argument list.
36283         * lib/sinl.c: Likewise.
36284         * lib/tsearch.c: Insert space after 'for'.
36285         Reported by Jim Meyering.
36286
36287 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
36288
36289         * maint.mk (sc_Wundef_boolean): Check for the presence of the
36290         config header before grepping, as it's not present before
36291         autoreconf/configure are run.  Reported by Simon Josefsson.
36292
36293 2010-03-23  Bruno Haible  <bruno@clisp.org>
36294
36295         pt_chown: Make it work with automake < 1.11.
36296         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
36297         Reported by Simon Josefsson.
36298
36299 2010-03-23  Bruno Haible  <bruno@clisp.org>
36300
36301         pt_chown: Don't depend on GPLed modules.
36302         * lib/pt_chown.c: Don't include idpriv.h.
36303         (main): Don't drop privileges.
36304         * modules/pt_chown (Depends-on): Remove idpriv-drop.
36305         Reported by Simon Josefsson.
36306
36307 2010-03-24  Simon Josefsson  <simon@josefsson.org>
36308
36309         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
36310         suggestions from karl@freefriends.org (Karl Berry).
36311
36312 2010-03-22  Eric Blake  <eblake@redhat.com>
36313
36314         gethostname: further tweaks
36315         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
36316         are overriding gethostname.
36317         Suggested by Bruno Haible.
36318
36319 2010-03-21  Bruno Haible  <bruno@clisp.org>
36320
36321         Fix comments.
36322         * lib/forkpty.c (rpl_forkpty): Fix comment.
36323         * lib/openpty.c (rpl_openpty): Likewise.
36324         Reported by Eric Blake.
36325
36326 2010-03-22  Eric Blake  <eblake@redhat.com>
36327
36328         gethostname: fix build on mingw
36329         * lib/unistd.in.h (includes): Work around fact that mingw
36330         <winsock2.h> re-includes <unistd.h>, by avoiding any
36331         redeclarations if we are being included by <winsock2.h>.
36332         Reported by Matthias Bolte.
36333
36334 2010-03-21  Bruno Haible  <bruno@clisp.org>
36335
36336         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
36337         * lib/forkpty.c (forkpty): New replacement function, from glibc with
36338         modifications.
36339         * lib/pty.in.h (forkpty): Update declaration. Add comments.
36340         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
36341         provide the replacement.
36342         * modules/forkpty (Depends-on): Add openpty, login_tty.
36343         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
36344         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
36345         * doc/glibc-functions/forkpty.texi: More supported platforms.
36346         * config/srclist.txt: Add forkpty.c (commented).
36347
36348 2010-03-21  Bruno Haible  <bruno@clisp.org>
36349
36350         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
36351         (Makefile.am): Verify that PTY_LIB is defined.
36352
36353         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
36354
36355 2010-03-21  Bruno Haible  <bruno@clisp.org>
36356
36357         Tests for module 'login_tty'.
36358         * modules/login_tty-tests: New file.
36359         * tests/test-login_tty.c: New file.
36360
36361         New module 'login_tty'.
36362         * lib/login_tty.c: New file.
36363         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
36364         * modules/login_tty: New file.
36365         * doc/glibc-functions/login_tty.texi: Mention the new module.
36366
36367 2010-03-21  Bruno Haible  <bruno@clisp.org>
36368
36369         login_tty: Documentation.
36370         * doc/glibc-functions/login_tty.texi: New file.
36371         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
36372
36373 2010-03-21  Bruno Haible  <bruno@clisp.org>
36374
36375         pty: Consistent macro naming.
36376         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
36377         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
36378         * modules/pty (configure.ac): Update.
36379
36380 2010-03-21  Bruno Haible  <bruno@clisp.org>
36381
36382         Tests for openpty: Make stricter.
36383         * tests/test-openpty.c (main): Add test of canonical processing and
36384         erase.
36385         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
36386
36387         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
36388         * lib/openpty.c (openpty): New replacement function.
36389         * lib/pty.in.h: Include <termios.h>.
36390         (openpty): Update declaration. Add comments.
36391         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
36392         is not declared, arrange to provide the replacement. Check for _getpty
36393         and posix_openpt.
36394         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
36395         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
36396         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
36397         * modules/pty-tests (test_pty_c___LDADD): New variable.
36398         * doc/glibc-functions/openpty.texi: More supported platforms.
36399
36400 2010-03-21  Bruno Haible  <bruno@clisp.org>
36401
36402         setenv: Tweaks.
36403         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
36404         the test program.
36405         * doc/posix-functions/setenv.texi: Update platforms list.
36406
36407 2010-03-21  Bruno Haible  <bruno@clisp.org>
36408
36409         New module 'unlockpt'.
36410         * lib/unlockpt.c: New file, from glibc with modifications.
36411         * m4/unlockpt.m4: New file.
36412         * modules/unlockpt: New file.
36413         * lib/stdlib.in.h (unlockpt): New declaration.
36414         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
36415         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
36416         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
36417         HAVE_UNLOCKPT.
36418         * doc/posix-functions/unlockpt.texi: Mention the new module.
36419         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
36420         * config/srclist.txt: Add unlockpt.c (commented).
36421
36422 2010-03-21  Jim Meyering  <meyering@redhat.com>
36423
36424         maint.mk: prohibit inclusion of "intprops.h" without use
36425         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
36426
36427 2010-03-21  Bruno Haible  <bruno@clisp.org>
36428
36429         New module 'grantpt'.
36430         * lib/grantpt.c: New file, from glibc with modifications.
36431         * m4/grantpt.m4: New file.
36432         * modules/grantpt: New file.
36433         * lib/stdlib.in.h (grantpt): New declaration.
36434         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
36435         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
36436         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
36437         HAVE_GRANTPT.
36438         * doc/posix-functions/grantpt.texi: Mention the new module.
36439         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
36440         * config/srclist.txt: Add grantpt.c (commented).
36441
36442 2010-03-21  Bruno Haible  <bruno@clisp.org>
36443
36444         New module 'pt_chown'.
36445         * lib/pt_chown.c: New file, from glibc with modifications.
36446         * lib/pty-private.h: New file, from glibc with modifications.
36447         * modules/pt_chown: New file.
36448         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
36449
36450 2010-03-21  Bruno Haible  <bruno@clisp.org>
36451
36452         Tests for module 'ptsname'.
36453         * modules/ptsname-tests: New file.
36454         * tests/test-ptsname.c: New file.
36455
36456         New module 'ptsname'.
36457         * lib/ptsname.c: New file, from glibc with modifications.
36458         * m4/ptsname.m4: New file.
36459         * modules/ptsname: New file.
36460         * lib/stdlib.in.h (ptsname): New declaration.
36461         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
36462         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
36463         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
36464         HAVE_PTSNAME.
36465         * doc/posix-functions/ptsname.texi: Mention the new module.
36466         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
36467         * config/srclist.txt: Add ptsname.c (commented).
36468
36469 2010-03-21  Bruno Haible  <bruno@clisp.org>
36470
36471         Tests for module 'ttyname_r'.
36472         * modules/ttyname_r-tests: New file.
36473         * tests/test-ttyname_r.c: New file.
36474
36475         New module 'ttyname_r'.
36476         * lib/ttyname_r.c: New file.
36477         * m4/ttyname_r.m4: New file.
36478         * modules/ttyname_r: New file.
36479         * lib/unistd.in.h (ttyname_r): New declaration.
36480         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
36481         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
36482         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
36483         HAVE_TTYNAME_R.
36484         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
36485         * doc/posix-functions/ttyname_r.texi: Mention the new module.
36486
36487 2010-03-20  Bruno Haible  <bruno@clisp.org>
36488
36489         signal: Undefine macro definitions in C++ mode.
36490         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
36491         sigfillset): Undefine macro definitions from the system header in C++
36492         mode.
36493         Reported by John W. Eaton <jwe@gnu.org>.
36494
36495 2010-03-20  Bruno Haible  <bruno@clisp.org>
36496
36497         Ensure no #include statements inside extern "C" { ... }.
36498         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
36499         contain #include statements.
36500         * lib/time.in.h: Likewise.
36501
36502 2010-03-20  Bruno Haible  <bruno@clisp.org>
36503
36504         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
36505         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
36506         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
36507         Reported by John W. Eaton <jwe@gnu.org>.
36508
36509 2010-03-20  Bruno Haible  <bruno@clisp.org>
36510
36511         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
36512         Reported by Jim Meyering.
36513
36514 2010-03-20  Bruno Haible  <bruno@clisp.org>
36515
36516         pipe: Set errno upon failure.
36517         * lib/pipe.h: Specify that when -1 is returned, errno is set.
36518         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
36519         errno value in error message.
36520
36521 2010-03-20  Bruno Haible  <bruno@clisp.org>
36522             Jim Meyering  <meyering@redhat.com>
36523
36524         lchown: Avoid "unused variable" warning.
36525         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
36526
36527 2010-03-20  Bruno Haible  <bruno@clisp.org>
36528
36529         Work around unlink() bug on MacOS X 10.5.6.
36530         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
36531         attempting to unlink a parent directory.
36532         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
36533         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
36534         activate for the replacement function.
36535         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
36536
36537 2010-03-20  Bruno Haible  <bruno@clisp.org>
36538
36539         Fix link errors on Solaris 8.
36540         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
36541         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
36542
36543 2010-03-19  Jim Meyering  <meyering@redhat.com>
36544
36545         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
36546         The _LIBC implementation of build_range_exp correctly honors the
36547         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
36548         However, the non-_LIBC implementation would ignore that syntax-bit
36549         flag and return REG_ERANGE unconditionally.
36550         This change makes it honor that flag.
36551         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
36552         Make two pointer parameters "const".
36553         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
36554         (parse_bracket_exp): Update caller.
36555
36556         regex.m4: correct the reversed range endpoint ([b-a]) test
36557         * m4/regex.m4: When requiring that [b-a] evoke failure,
36558         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
36559         test pass once again for x86-based systems.
36560
36561 2010-03-19  Bruno Haible  <bruno@clisp.org>
36562
36563         scandir: Fix link error on Solaris 8.
36564         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
36565         macros.
36566
36567 2010-03-19  Bruno Haible  <bruno@clisp.org>
36568
36569         getusershell: Fix documentation.
36570         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
36571         module.
36572         * doc/glibc-functions/setusershell.texi: Likewise.
36573
36574         getusershell: Provide declaration, missing on Solaris 9.
36575         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
36576         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
36577         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
36578         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
36579         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36580         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
36581         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
36582         HAVE_GETUSERSHELL.
36583         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
36584
36585 2010-03-19  Bruno Haible  <bruno@clisp.org>
36586
36587         wctype: Provide iswblank function.
36588         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
36589         exists and is fine.
36590         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
36591         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
36592         * tests/test-wctype.c (main): Re-enable the iswblank tests.
36593         * doc/posix-functions/iswblank.texi: Update.
36594
36595 2010-03-19  Bruno Haible  <bruno@clisp.org>
36596
36597         Tests of module 'pty' in C++ mode.
36598         * modules/pty-tests: New file.
36599         * tests/test-pty-c++.cc: New file.
36600         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36601
36602 2010-03-19  Eric Blake  <eblake@redhat.com>
36603
36604         logb: fix documentation
36605         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
36606         1.5 declaration bug.
36607
36608         forkpty, openpty: prefer glibc's const-safe prototype
36609         * lib/forkpty.c (rpl_forkpty): New file.
36610         * lib/openpty.c (rpl_openpty): Likewise.
36611         * modules/forkpty (Files): Distribute it.
36612         * modules/openpty (Files): Likewise.
36613         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
36614         check...
36615         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
36616         replacement for for non-const BSD signature.
36617         * modules/pty (Makefile.am): Substitute witnesses.
36618         * lib/pty.in.h (forkpty, openpty): Declare replacements.
36619         * tests/test-forkpty.c: Update signature check.
36620         * tests/test-openpty.c: Likewise.
36621         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
36622         * doc/glibc-functions/openpty.texi (openpty): Likewise.
36623
36624         forkpty, openpty: split functions into new modules
36625         * modules/pty (Makefile.am): Substitute new witnesses.
36626         (Libraries): Move library detection...
36627         * modules/forkpty: ...into new module.
36628         * modules/openpty: Another new module.
36629         * modules/pty-tests: Rename and split...
36630         * modules/forkpty-tests: ...to this...
36631         * modules/openpty-tests: ...and this.
36632         * tests/test-pty.c: Rename and split...
36633         * tests/test-forkpty.c: ...to this...
36634         * tests/test-openpty.c: ...and this.
36635         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
36636         (gl_PTY): Split library searching...
36637         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
36638         (gl_FORKPTY, gl_OPENPTY): New macros.
36639         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
36640         * NEWS: Mention the split.
36641         * MODULES.html.sh (Misc): Document the modules.
36642         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
36643         * doc/glibc-functions/openpty.texi (openpty): Likewise.
36644
36645         pty: improve replacement header
36646         * lib/pty.in.h: New file.
36647         * modules/pty (Files): Ship it.
36648         (Makefile.am): Always build replacement.
36649         * m4/pty.m4: Rename...
36650         * m4/pty_h.m4: ...to this.
36651         (gl_PTY): Modernize setting of witness macros; update check of
36652         forkpty to take proper advantage of cache.
36653         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
36654
36655         getopt: avoid compiler warning
36656         * lib/getopt.c (attribute_hidden): Remove unused macro.
36657
36658 2010-03-18  Bruno Haible  <bruno@clisp.org>
36659
36660         Fix link errors on Solaris 8.
36661         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
36662         * modules/search-tests (test_search_c___LDADD): Likewise.
36663         * modules/signal-tests (test_signal_c___LDADD): Likewise.
36664         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
36665         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
36666         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
36667         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
36668         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
36669         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
36670
36671 2010-03-18  Bruno Haible  <bruno@clisp.org>
36672
36673         Fix bug introduced on 2010-03-14.
36674         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
36675         (gl_SPAWN_H): Require it.
36676         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
36677         Reported by Simon Josefsson.
36678
36679 2010-03-18  Bruno Haible  <bruno@clisp.org>
36680
36681         Fix typo introduced on 2009-12-31.
36682         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
36683         posix_spawn_file_actions_adddup2.
36684
36685 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
36686         and Eric Blake  <eblake@redhat.com>
36687
36688         test-vc-list-files-git: make more robust
36689         * tests/test-vc-list-files-git.sh: Unset problematic environment
36690         variables.  Chain commands together.
36691
36692 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
36693
36694         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
36695         `AC_CHECK_DECL' invocation.
36696
36697 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
36698
36699         * lib/inttostr.c (inttostr): Make sure the invocation of verify
36700         appears before executable statements. Suggested by Petr Sumbera
36701         <Petr.Sumbera@Sun.COM>.
36702
36703 2010-03-14  Bruno Haible  <bruno@clisp.org>
36704
36705         * tests/test-flock.c (test_exclusive): Comment out a test that causes
36706         portability problems. Instead use a simpler test.
36707         (main): Check that invalid arguments are rejected only on Linux.
36708
36709 2010-03-14  Bruno Haible  <bruno@clisp.org>
36710
36711         Fix bug introduced on 2009-12-31.
36712         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
36713         gl_PREREQ_SYS_H_WINSOCK2 always.
36714         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
36715         SYS_SOCKET_H variable.
36716         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
36717         Update comments.
36718         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
36719         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
36720         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
36721         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
36722         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
36723
36724 2010-03-14  Bruno Haible  <bruno@clisp.org>
36725
36726         Fix values returned by sinl, cosl.
36727         * lib/trigl.h: Add specification comments.
36728         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
36729         that combines the values from the precomputed table with the values of
36730         the Chebyshev polynomials.
36731
36732 2010-03-14  Bruno Haible  <bruno@clisp.org>
36733
36734         Fix compilation error when modules 'posix_spawn[p]' are not used.
36735         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
36736         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
36737
36738 2010-03-14  Bruno Haible  <bruno@clisp.org>
36739
36740         Fix compilation error on mingw when module 'time_r' is not used.
36741         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
36742         is 1.
36743         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
36744         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36745         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
36746         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
36747
36748 2010-03-14  Bruno Haible  <bruno@clisp.org>
36749
36750         Fix compilation error with Sun C.
36751         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
36752         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
36753         instead of GCC specific ULONG_LONG_MAX.
36754         * lib/xstrtoll.c: Likewise.
36755         * lib/xstrtoull.c: Likewise.
36756
36757 2010-03-13  Bruno Haible  <bruno@clisp.org>
36758
36759         Allow the user to disable C++ code and tests.
36760         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
36761         (gl_PROG_ANSI_CXX): Require it.
36762
36763 2010-03-13  Bruno Haible  <bruno@clisp.org>
36764
36765         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
36766         cases.
36767
36768 2010-03-13  Bruno Haible  <bruno@clisp.org>
36769
36770         Test that gnulib does not break the standard C++ headers.
36771         * tests/test-locale-c++2.cc: New file.
36772         * modules/locale-tests (Files): Add it.
36773         (Makefile.am): Compile it for test-locale-c++.
36774         * tests/test-math-c++2.cc: New file.
36775         * modules/math-tests (Files): Add it.
36776         (Makefile.am): Compile it for test-math-c++.
36777         * tests/test-signal-c++2.cc: New file.
36778         * modules/signal-tests (Files): Add it.
36779         (Makefile.am): Compile it for test-signal-c++.
36780         * tests/test-stdio-c++2.cc: New file.
36781         * modules/stdio-tests (Files): Add it.
36782         (Makefile.am): Compile it for test-stdio-c++.
36783         * tests/test-stdlib-c++2.cc: New file.
36784         * modules/stdlib-tests (Files): Add it.
36785         (Makefile.am): Compile it for test-stdlib-c++.
36786         * tests/test-string-c++2.cc: New file.
36787         * modules/string-tests (Files): Add it.
36788         (Makefile.am): Compile it for test-string-c++.
36789         * tests/test-time-c++2.cc: New file.
36790         * modules/time-tests (Files): Add it.
36791         (Makefile.am): Compile it for test-time-c++.
36792         Reported by John W. Eaton <jwe@gnu.org>.
36793
36794 2010-03-13  Bruno Haible  <bruno@clisp.org>
36795
36796         * gnulib-tool (func_usage): Clarify which options are available for
36797         --create-testdir and --create-megatestdir.
36798
36799 2010-03-13  Bruno Haible  <bruno@clisp.org>
36800
36801         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
36802         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
36803         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
36804         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
36805         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
36806         when appropriate.
36807         Reported by Jim Meyering.
36808
36809 2010-03-12  Simon Josefsson  <simon@josefsson.org>
36810
36811         * gnulib-tool (func_import): Explain origin of code.
36812
36813 2010-03-12  Bruno Haible  <bruno@clisp.org>
36814
36815         Fix problem with automake's definition of CXXLINK.
36816         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
36817         Reported by Simon Josefsson and Ludovic Courtès.
36818
36819 2010-03-12  Bruno Haible  <bruno@clisp.org>
36820
36821         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
36822         stable releases.
36823
36824 2010-03-11  Bruno Haible  <bruno@clisp.org>
36825
36826         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
36827         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
36828         whether the system provides one variant or multiple variants of the
36829         function.
36830         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
36831         C++ compilers.
36832         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
36833         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
36834         Reported by Jim Meyering.
36835
36836 2010-03-09  Simon Josefsson  <simon@josefsson.org>
36837
36838         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
36839
36840 2010-03-08  Bruno Haible  <bruno@clisp.org>
36841
36842         gnulib-tool: Add support for --libtool in --create-testdir.
36843         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
36844         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
36845
36846 2010-03-08  Eric Blake  <eblake@redhat.com>
36847
36848         gnulib-tool.texi: mention possibility of git submodule
36849         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
36850         submodules.
36851         * doc/.gitignore: Ignore another generated file.
36852
36853 2010-03-08  Karl Berry  <karl@gnu.org>
36854
36855         * doc/gnulib-tool.texi (VCS Issues): Mention third option
36856         of committing gnulib files while skipping others.
36857
36858 2010-03-07  Bruno Haible  <bruno@clisp.org>
36859
36860         Tests of module 'wctype' in C++ mode.
36861         * tests/test-wctype-c++.cc: New file.
36862         * modules/wctype-tests (Files): Add it and tests/signature.h.
36863         (Depends-on): Add ansi-c++-opt.
36864         (Makefile.am): Arrange to compile and run test-wctype-c++.
36865
36866         Tests of module 'wchar' in C++ mode.
36867         * tests/test-wchar-c++.cc: New file.
36868         * modules/wchar-tests (Files): Add it and tests/signature.h.
36869         (Depends-on): Add ansi-c++-opt.
36870         (Makefile.am): Arrange to compile and run test-wchar-c++.
36871         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
36872         gl_MODULE_INDICATOR.
36873
36874         Tests of module 'unistd' in C++ mode.
36875         * tests/test-unistd-c++.cc: New file.
36876         * modules/unistd-tests (Files): Add it and tests/signature.h.
36877         (Depends-on): Add ansi-c++-opt.
36878         (Makefile.am): Arrange to compile and run test-unistd-c++.
36879         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
36880         gl_MODULE_INDICATOR.
36881
36882         Tests of module 'time' in C++ mode.
36883         * tests/test-time-c++.cc: New file.
36884         * modules/time-tests (Files): Add it and tests/signature.h.
36885         (Depends-on): Add ansi-c++-opt.
36886         (Makefile.am): Arrange to compile and run test-time-c++.
36887         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36888
36889         Tests of module 'sys_time' in C++ mode.
36890         * tests/test-sys_time-c++.cc: New file.
36891         * modules/sys_time-tests (Files): Add it and tests/signature.h.
36892         (Depends-on): Add ansi-c++-opt.
36893         (Makefile.am): Arrange to compile and run test-sys_time-c++.
36894         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
36895         gl_MODULE_INDICATOR.
36896
36897         Tests of module 'sys_stat' in C++ mode.
36898         * tests/test-sys_stat-c++.cc: New file.
36899         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
36900         (Depends-on): Add ansi-c++-opt.
36901         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
36902         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
36903         gl_MODULE_INDICATOR.
36904
36905         Tests of module 'sys_socket' in C++ mode.
36906         * tests/test-sys_socket-c++.cc: New file.
36907         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
36908         (Depends-on): Add ansi-c++-opt.
36909         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
36910         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
36911         gl_MODULE_INDICATOR.
36912
36913         Tests of module 'sys_select' in C++ mode.
36914         * tests/test-sys_select-c++.cc: New file.
36915         * modules/sys_select-tests (Files): Add it and tests/signature.h.
36916         (Depends-on): Add ansi-c++-opt.
36917         (Makefile.am): Arrange to compile and run test-sys_select-c++.
36918         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
36919         gl_MODULE_INDICATOR.
36920
36921         Tests of module 'sys_ioctl' in C++ mode.
36922         * tests/test-sys_ioctl-c++.cc: New file.
36923         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
36924         (Depends-on): Add ansi-c++-opt.
36925         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
36926         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
36927         gl_MODULE_INDICATOR.
36928
36929         Tests of module 'string' in C++ mode.
36930         * tests/test-string-c++.cc: New file.
36931         * modules/string-tests (Files): Add it and tests/signature.h.
36932         (Depends-on): Add ansi-c++-opt.
36933         (Makefile.am): Arrange to compile and run test-string-c++.
36934         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
36935         gl_MODULE_INDICATOR.
36936
36937         Tests of module 'stdlib' in C++ mode.
36938         * tests/test-stdlib-c++.cc: New file.
36939         * modules/stdlib-tests (Files): Add it and tests/signature.h.
36940         (Depends-on): Add ansi-c++-opt.
36941         (Makefile.am): Arrange to compile and run test-stdlib-c++.
36942         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
36943         gl_MODULE_INDICATOR.
36944
36945         Tests of module 'stdio' in C++ mode.
36946         * tests/test-stdio-c++.cc: New file.
36947         * modules/stdio-tests (Files): Add it and tests/signature.h.
36948         (Depends-on): Add ansi-c++-opt.
36949         (Makefile.am): Arrange to compile and run test-stdio-c++.
36950         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
36951         gl_MODULE_INDICATOR.
36952
36953         Tests of module 'spawn' in C++ mode.
36954         * tests/test-spawn-c++.cc: New file.
36955         * modules/spawn-tests (Files): Add it and tests/signature.h.
36956         (Depends-on): Add ansi-c++-opt.
36957         (Makefile.am): Arrange to compile and run test-spawn-c++.
36958         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
36959         gl_MODULE_INDICATOR.
36960
36961         Tests of module 'signal' in C++ mode.
36962         * tests/test-signal-c++.cc: New file.
36963         * modules/signal-tests (Files): Add it and tests/signature.h.
36964         (Depends-on): Add ansi-c++-opt.
36965         (Makefile.am): Arrange to compile and run test-signal-c++.
36966         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
36967         gl_MODULE_INDICATOR.
36968
36969         Tests of module 'search' in C++ mode.
36970         * tests/test-search-c++.cc: New file.
36971         * modules/search-tests (Files): Add it and tests/signature.h.
36972         (Depends-on): Add ansi-c++-opt.
36973         (Makefile.am): Arrange to compile and run test-search-c++.
36974         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
36975         gl_MODULE_INDICATOR.
36976
36977         Tests of module 'math' in C++ mode.
36978         * tests/test-math-c++.cc: New file.
36979         * modules/math-tests (Files): Add it and tests/signature.h.
36980         (Depends-on): Add ansi-c++-opt.
36981         (Makefile.am): Arrange to compile and run test-math-c++.
36982         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36983
36984         Tests of module 'locale' in C++ mode.
36985         * tests/test-locale-c++.cc: New file.
36986         * modules/locale-tests (Files): Add it and tests/signature.h.
36987         (Depends-on): Add ansi-c++-opt.
36988         (Makefile.am): Arrange to compile and run test-locale-c++.
36989         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
36990         gl_MODULE_INDICATOR.
36991
36992         Tests of module 'langinfo' in C++ mode.
36993         * tests/test-langinfo-c++.cc: New file.
36994         * modules/langinfo-tests (Files): Add it and tests/signature.h.
36995         (Depends-on): Add ansi-c++-opt.
36996         (Makefile.am): Arrange to compile and run test-langinfo-c++.
36997         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
36998         gl_MODULE_INDICATOR.
36999
37000         Tests of module 'iconv-h' in C++ mode.
37001         * tests/test-iconv-h-c++.cc: New file.
37002         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
37003         (Depends-on): Add ansi-c++-opt.
37004         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
37005
37006         Tests of module 'glob' in C++ mode.
37007         * tests/test-glob-c++.cc: New file.
37008         * modules/glob-tests (Files): Add it.
37009         (Depends-on): Add ansi-c++-opt.
37010         (Makefile.am): Arrange to compile and run test-glob-c++.
37011
37012         Tests of module 'fcntl-h' in C++ mode.
37013         * tests/test-fcntl-h-c++.cc: New file.
37014         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
37015         (Depends-on): Add ansi-c++-opt.
37016         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
37017         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
37018         gl_MODULE_INDICATOR.
37019
37020         Tests of module 'dirent' in C++ mode.
37021         * tests/test-dirent-c++.cc: New file.
37022         * modules/dirent-tests (Files): Add it and tests/signature.h.
37023         (Depends-on): Add ansi-c++-opt.
37024         (Makefile.am): Arrange to compile and run test-dirent-c++.
37025         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
37026         gl_MODULE_INDICATOR.
37027
37028         New module 'ansi-c++-opt'.
37029         * modules/ansi-c++-opt: New file.
37030         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
37031
37032         Document C++ namespace mode.
37033         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
37034
37035         wctype: Avoid #define replacements in C++ mode.
37036         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
37037         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
37038         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
37039         In C++, define a namespaced alias symbol.
37040         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
37041         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
37042         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
37043         rule.
37044
37045         wchar: Avoid #define replacements in C++ mode.
37046         * lib/wchar.in.h: Include c++defs.h.
37047         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
37048         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
37049         symbol.
37050         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
37051         * modules/wchar (Depends-on): Add c++defs.
37052         (Makefile.am): Update wchar.h rule.
37053
37054         unistd: Avoid #define replacements in C++ mode.
37055         * lib/unistd.in.h: Include c++defs.h.
37056         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
37057         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
37058         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
37059         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
37060         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
37061         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
37062         symbol.
37063         (environ): Update.
37064         * modules/unistd (Depends-on): Add c++defs.
37065         (Makefile.am): Update unistd.h rule.
37066
37067         time: Avoid #define replacements in C++ mode.
37068         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
37069         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
37070         define a namespaced alias symbol.
37071         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
37072         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
37073         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
37074         * modules/time (Depends-on): Add c++defs, warn-on-use.
37075         (Makefile.am): Update time.h rule.
37076         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
37077         * modules/nanosleep (configure.ac): Likewise.
37078         * modules/strptime (configure.ac): Likewise.
37079         * modules/timegm (configure.ac): Likewise.
37080
37081         sys_time: Avoid #define replacements in C++ mode.
37082         * lib/sys_time.in.h: Include c++defs.h.
37083         (gettimeofday): In C++, define a namespaced alias symbol.
37084         * modules/sys_time (Depends-on): Add c++defs.
37085         (Makefile.am): Update sys/time.h rule.
37086
37087         sys_stat: Avoid #define replacements in C++ mode.
37088         * lib/sys_stat.in.h: Include c++defs.h.
37089         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
37090         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
37091         namespaced alias symbol.
37092         In C++, define a namespaced alias symbol.
37093         * modules/sys_stat (Depends-on): Add c++defs.
37094         (Makefile.am): Update sys/stat.h rule.
37095
37096         sys_socket: Avoid #define replacements in C++ mode.
37097         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
37098         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
37099         definitions also when the system has a <sys/socket.h>.
37100         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
37101         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
37102         In C++, define a namespaced alias symbol.
37103         * modules/sys_socket (Depends-on): Add c++defs.
37104         (Makefile.am): Update sys/socket.h rule.
37105
37106         sys_select: Avoid #define replacements in C++ mode.
37107         * lib/sys_select.in.h: Include c++defs.h. Enable the function
37108         definitions also when the system has a <sys/select.h>.
37109         (select): In C++, define a namespaced alias symbol.
37110         * modules/sys_select (Depends-on): Add c++defs.
37111         (Makefile.am): Update sys/select.h rule.
37112
37113         sys_ioctl: Avoid #define replacements in C++ mode.
37114         * lib/sys_ioctl.in.h: Include c++defs.h.
37115         (ioctl): In C++, define a namespaced alias symbol.
37116         * modules/sys_ioctl (Depends-on): Add c++defs.
37117         (Makefile.am): Update sys/ioctl.h rule.
37118
37119         string: Avoid #define replacements in C++ mode.
37120         * lib/string.in.h: Include c++defs.h.
37121         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
37122         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
37123         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
37124         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
37125         strsignal, strverscmp): In C++, define a namespaced alias symbol.
37126         * modules/string (Depends-on): Add c++defs.
37127         (Makefile.am): Update string.h rule.
37128
37129         stdlib: Avoid #define replacements in C++ mode.
37130         * lib/stdlib.in.h: Include c++defs.h.
37131         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
37132         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
37133         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
37134         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
37135         symbol.
37136         * modules/stdlib (Depends-on): Add c++defs.
37137         (Makefile.am): Update stdlib.h rule.
37138
37139         stdio: Avoid #define replacements in C++ mode.
37140         * lib/stdio.in.h: Include c++defs.h.
37141         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
37142         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
37143         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
37144         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
37145         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
37146         namespaced alias symbol.
37147         * modules/stdio (Depends-on): Add c++defs.
37148         (Makefile.am): Update stdio.h rule.
37149
37150         spawn: Avoid #define replacements in C++ mode.
37151         * lib/spawn.in.h: Include c++defs.h.
37152         (posix_spawn, posix_spawnp, posix_spawnattr_init,
37153         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
37154         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
37155         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
37156         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
37157         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
37158         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
37159         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
37160         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
37161         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
37162         In C++, define a namespaced alias symbol.
37163         * modules/spawn (Depends-on): Add c++defs.
37164         (Makefile.am): Update spawn.h rule.
37165
37166         signal: Avoid #define replacements in C++ mode.
37167         * lib/signal.in.h: Include c++defs.h.
37168         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
37169         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
37170         namespaced alias symbol.
37171         * modules/signal (Depends-on): Add c++defs.
37172         (Makefile.am): Update signal.h rule.
37173
37174         search: Avoid #define replacements in C++ mode.
37175         * lib/search.in.h: Include c++defs.h.
37176         (_gl_search_compar_fn, _gl_search_action_fn): New types.
37177         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
37178         symbol.
37179         * modules/search (Depends-on): Add c++defs.
37180         (Makefile.am): Update search.h rule.
37181
37182         math: Avoid #define replacements in C++ mode.
37183         * lib/math.in.h: Include c++defs.h.
37184         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
37185         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
37186         trunc, truncl): In C++, define a namespaced alias symbol.
37187         * modules/math (Depends-on): Add c++defs.
37188         (Makefile.am): Update math.h rule.
37189
37190         locale: Avoid #define replacements in C++ mode.
37191         * lib/locale.in.h: Include c++defs.h.
37192         (duplocale): In C++, define a namespaced alias symbol.
37193         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
37194         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
37195         * modules/locale (Depends-on): Add c++defs.
37196         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
37197
37198         langinfo: Avoid #define replacements in C++ mode.
37199         * lib/langinfo.in.h: Include c++defs.h.
37200         (nl_langinfo): In C++, define a namespaced alias symbol.
37201         * modules/langinfo (Depends-on): Add c++defs.
37202         (Makefile.am): Update langinfo.h rule.
37203
37204         iconv-h: Avoid #define replacements in C++ mode.
37205         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
37206         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
37207         symbol.
37208         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
37209         whenever iconv is present.
37210         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
37211         (Makefile.am): Update iconv.h rule.
37212
37213         glob: Avoid #define replacements in C++ mode.
37214         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
37215         (_gl_glob_errfunc_fn): New type.
37216         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
37217         symbol.
37218         * modules/glob (Depends-on): Add c++defs, warn-on-use.
37219         (Makefile.am): Update glob.h rule.
37220
37221         fcntl-h: Avoid #define replacements in C++ mode.
37222         * lib/fcntl.in.h: Include c++defs.h.
37223         (fcntl, open, openat): In C++, define a namespaced alias symbol.
37224         * modules/fcntl-h (Depends-on): Add c++defs.
37225         (Makefile.am): Update fcntl.h rule.
37226
37227         dirent: Avoid #define replacements in C++ mode.
37228         * lib/dirent.in.h: Include c++defs.h.
37229         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
37230         namespaced alias symbol.
37231         (dirfd): Update declaration.
37232         * modules/dirent (Depends-on): Add c++defs.
37233         (Makefile.am): Update dirent.h rule.
37234
37235         ctype: Make it usable in C++ code.
37236         * lib/ctype.in.h: Include c++defs.h.
37237         (isblank): Declare as extern "C".
37238         * modules/ctype (Depends-on): Add c++defs.
37239         (Makefile.am): Update ctype.h rule.
37240
37241         New module 'c++defs'.
37242         * modules/c++defs: New file.
37243         * build-aux/c++defs.h: New file.
37244         Reported by John W. Eaton <jwe@gnu.org>.
37245
37246 2010-03-07  Bruno Haible  <bruno@clisp.org>
37247
37248         logb: Provide missing declaration for Cygwin.
37249         * lib/math.in.h (logb): New declaration.
37250         * m4/logb.m4: New file.
37251         * modules/logb (Files): Add m4/logb.m4.
37252         (Depends-on): Add math.
37253         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
37254         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
37255         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
37256         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
37257         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
37258
37259 2010-03-07  Bruno Haible  <bruno@clisp.org>
37260
37261         Fix test-cond link error.
37262         * tests/test-cond.c: Include <stdio.h>.
37263
37264 2010-03-07  Bruno Haible  <bruno@clisp.org>
37265
37266         Fix test-dirent-safer link error.
37267         * modules/dirent-safer-tests (Makefile.am): Define
37268         test_dirent_safer_LDADD.
37269
37270 2010-03-07  Bruno Haible  <bruno@clisp.org>
37271
37272         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
37273         among default module list.
37274
37275 2010-03-07  Bruno Haible  <bruno@clisp.org>
37276
37277         Fix link error on platforms with GNU libiconv.
37278         * modules/unistr/u8-strcoll-tests (Makefile): Define
37279         test_u8_strcoll_LDADD.
37280         * modules/unistr/u16-strcoll-tests (Makefile): Define
37281         test_u16_strcoll_LDADD.
37282         * modules/unistr/u32-strcoll-tests (Makefile): Define
37283         test_u32_strcoll_LDADD.
37284
37285 2010-03-07  Bruno Haible  <bruno@clisp.org>
37286
37287         Use POSIX declarations for socket functions.
37288         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
37289         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
37290         rpl_sendto): Change declaration to match POSIX.
37291         * lib/connect.c (rpl_connect): Likewise.
37292         * lib/accept.c (rpl_accept): Likewise.
37293         * lib/bind.c (rpl_bind): Likewise.
37294         * lib/getpeername.c (rpl_getpeername): Likewise.
37295         * lib/getsockname.c (rpl_getsockname): Likewise.
37296         * lib/recv.c (rpl_recv): Likewise.
37297         * lib/send.c (rpl_send): Likewise.
37298         * lib/recvfrom.c (rpl_recvfrom): Likewise.
37299         * lib/sendto.c (rpl_sendto): Likewise.
37300
37301 2010-03-06  Bruno Haible  <bruno@clisp.org>
37302
37303         Clarify access, euidaccess, faccessat.
37304         * doc/posix-functions/faccessat.texi: Mention security problem under
37305         "Other problems", not "Portability problems".
37306         * doc/posix-functions/access.texi: Likewise. Mention a related security
37307         problem.
37308         * doc/glibc-functions/euidaccess.texi: Mention security problems.
37309         * lib/euidaccess.c: Add comments about platforms.
37310         * lib/unistd.in.h (access, euidaccess): Add warnings.
37311
37312 2010-03-07  Bruno Haible  <bruno@clisp.org>
37313
37314         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
37315         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
37316         (POSIX_SPAWN_SETSCHEDULER): Likewise.
37317         (POSIX_SPAWN_USEVFORK): Define in a way that works when
37318         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
37319         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
37320         declare when POSIX_SPAWN_SETSCHEDULER is zero.
37321         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
37322         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
37323         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
37324         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
37325         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
37326         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
37327         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
37328         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
37329         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
37330         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
37331         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
37332         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
37333         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
37334         Likewise.
37335         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
37336         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
37337         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
37338         Likewise.
37339         * tests/test-spawn.c (main): Make it work when
37340         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
37341
37342 2010-03-07  Bruno Haible  <bruno@clisp.org>
37343
37344         Fix incorrect Makefile.am generation in German locale.
37345         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
37346         Execute sed command with character range in C locale.
37347
37348 2010-03-06  Bruno Haible  <bruno@clisp.org>
37349
37350         Tests for module 'iconv-h'.
37351         * modules/iconv-h-tests: New file.
37352         * tests/test-iconv-h.c: New file.
37353
37354         New module 'iconv-h'.
37355         * modules/iconv-h: New file.
37356         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
37357         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
37358         (configure.ac): Remove gl_ICONV_H.
37359         (Makefile.am): Remove rule for iconv.h.
37360
37361 2010-03-06  Bruno Haible  <bruno@clisp.org>
37362
37363         More consistent naming of *.m4 files.
37364         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
37365         * modules/wctype (Files): Update.
37366
37367         More consistent naming of *.m4 files.
37368         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
37369         * modules/wchar (Files): Update.
37370
37371 2010-03-06  Jim Meyering  <meyering@redhat.com>
37372
37373         euidaccess: relax license to LGPLv2+
37374         * modules/euidaccess (License): Relax to LGPLv2+.
37375
37376 2010-03-06  Bruno Haible  <bruno@clisp.org>
37377
37378         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
37379         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
37380         (Makefile.am): Augment lib_SOURCES instead.
37381
37382 2010-03-04  Jim Meyering  <meyering@redhat.com>
37383
37384         utime: remove obsolete module
37385         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
37386         unnecessary for years, and has been marked as obsolete for 10 months.
37387         * modules/utime: Remove file.
37388         * lib/utime.c: Remove file.
37389         * m4/utime.m4: Remove file.
37390         * m4/utimes-null.m4: Remove file.
37391         * doc/posix-functions/utime.texi (utime): Remove reference to
37392         the module.  Move the sole "fixed by gnulib" item into the
37393         "problems not fixed by Gnulib" list.
37394         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
37395
37396 2010-03-05  Simon Josefsson  <simon@josefsson.org>
37397
37398         * modules/exit (License): Relax license to LGPLv2+.
37399         (Status): Mark as obsolete.
37400         * NEWS: Mention deprecated 'exit' module.
37401         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
37402         of now obsolete 'exit'.
37403
37404 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37405
37406         fts-lgpl: remove unused module
37407         * modules/fts-lgpl: Remove.
37408         * MODULES.html.sh (func_all_modules): Adjust.
37409         * check-module (find_included_lib_files): Adjust.
37410         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
37411
37412 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
37413
37414         copy-acl: enhance Solaris ACL error handling
37415         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
37416         * lib/set-mode-acl.c (qset_acl): Likewise.
37417
37418 2010-03-02  Bruno Haible  <bruno@clisp.org>
37419
37420         spawn: Don't override the system defined values on FreeBSD 8.
37421         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
37422         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
37423         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
37424         if HAVE_POSIX_SPAWN is 1.
37425         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
37426
37427 2010-03-01  Bruno Haible  <bruno@clisp.org>
37428
37429         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
37430         regarding Automake.
37431
37432 2010-02-25  Bruno Haible  <bruno@clisp.org>
37433
37434         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
37435         * gnulib-tool: Define 'echo' as a function only before the ksh alias
37436         setting, not afterwards.
37437         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
37438
37439 2010-02-24  Eric Blake  <eblake@redhat.com>
37440
37441         bootstrap, git-version-gen: use timestamp
37442         * build-aux/git-version-gen (scriptversion): Force UTC.
37443         * build-aux/bootstrap (scriptversion): New variable.
37444
37445         bootstrap: allow older git
37446         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
37447         older than 1.6.4.  Requested by the libvirt project.
37448
37449 2010-02-23  Eric Blake  <eblake@redhat.com>
37450
37451         warn-on-use: work with old autoconf
37452         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
37453         AS_VAR semantics of autoconf 2.60.
37454         Reported by Bruno Haible.
37455
37456         bootstrap: improve some comments
37457         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
37458         clarification comments.
37459
37460         gettimeofday: provide correct function
37461         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
37462         when replacement is declared, otherwise provide gettimeofday.
37463         Reported by Michael Goffioul.
37464
37465 2010-02-23  Jim Meyering  <meyering@redhat.com>
37466
37467         lib-ignore: relax license to "unlimited", not LGPLv2+
37468         * modules/lib-ignore (License): Relax to "unlimited".
37469
37470 2010-02-23  Jim Meyering  <meyering@redhat.com>
37471
37472         lib-ignore: relax license to LGPLv2+
37473         * modules/lib-ignore (License): Relax to LGPLv2+.
37474
37475 2010-02-22  Eric Blake  <eblake@redhat.com>
37476
37477         lseek: avoid bash 3.2 broken pipe bug
37478         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
37479         warning from bash 3.2.
37480         Reported by Ben Pfaff, with analysis from Bruno Haible.
37481
37482         bootstrap: support non-FSF copyright holder
37483         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
37484         bootstrap.conf override of COPYRIGHT_HOLDER.
37485         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
37486
37487         bootstrap: interoperate with gettext 0.14.1
37488         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
37489
37490         bootstrap: allow for alternate submodule location
37491         * build-aux/bootstrap (gnulib_path): New variable; use instead of
37492         hardcoding submodule location.
37493         (gnulib_mk): Allow direct use of Makefile.am.
37494
37495         bootstrap: use GNULIB_SRCDIR to reduce disk usage
37496         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
37497         rather than reconfiguring where the submodule points.
37498
37499         gettimeofday: restore support for platforms that lack function
37500         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
37501         replacement if function is missing.
37502         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
37503         * modules/sys_time (Makefile.am): Substitute it.
37504         * lib/sys_time.in.h (gettimeofday): Check it.
37505         Reported by Michael Goffioul.
37506
37507 2010-02-21  Bruno Haible  <bruno@clisp.org>
37508
37509         * lib/stdio.in.h (obstack_printf): Fix typo.
37510
37511 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
37512
37513         vc-list-files: use bzr ls's -R option
37514         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
37515         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
37516
37517 2010-02-21  Jim Meyering  <meyering@redhat.com>
37518
37519         init.sh: fix EXEEXT shims to work also for names like test-prog
37520         * tests/init.sh: Re-exec a better shell, when needed.
37521         If the current shell lacks support for posix $(...), an init.sh-using
37522         test will now try to find a shell that supports that.  If EXEEXT is
37523         nonempty, we also require support for hyphen-in-alias-name and shell
37524         substitutions like ${var#glob}.  Failure to find such a shell results
37525         in a skipped test.
37526
37527 2010-02-21  Bruno Haible  <bruno@clisp.org>
37528
37529         Really work around around "broken pipe" error message from bash 3.2.
37530         * gnulib-tool (func_reset_sigpipe): Remove function.
37531         (echo): In bash 3.2, define to a function that uses printf.
37532         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
37533
37534 2010-02-20  Bruno Haible  <bruno@clisp.org>
37535
37536         Restore support for automake 1.9.6 with autoconf 2.61.
37537         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
37538         Reported by James Youngman <jay@gnu.org>.
37539
37540 2010-02-20  Bruno Haible  <bruno@clisp.org>
37541
37542         Improve *printf warning condition.
37543         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
37544         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
37545         and the function is overridden due to SIGPIPE emulation.
37546
37547 2010-02-20  Bruno Haible  <bruno@clisp.org>
37548
37549         * lib/stdio.in.h: Tweak comments.
37550
37551 2010-02-19  Bruno Haible  <bruno@clisp.org>
37552
37553         Make it easier to find modules. New gnulib-tool option '--find'.
37554         * gnulib-tool: New option --find.
37555         (func_usage): Document it.
37556         (func_sanitize_modulelist): New function, extracted from
37557         func_all_modules.
37558         (func_all_modules): Invoke it.
37559         * doc/gnulib-tool.texi (Which modules?): New node.
37560
37561 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
37562
37563         * lib/sys_select.in.h: Provide select replacement even if
37564         sys/select.h exists on a system, for Interix.
37565
37566 2010-02-18  Jim Meyering  <meyering@redhat.com>
37567
37568         init.sh: don't use $(...) just yet
37569         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
37570         to accommodate e.g., Solaris' /bin/sh.
37571
37572 2010-02-17  Bruno Haible  <bruno@clisp.org>
37573
37574         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
37575         Reported by Ludovic Courtès <ludo@gnu.org>.
37576
37577 2010-02-16  Simon Josefsson  <simon@josefsson.org>
37578
37579         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
37580         linking with -lintl.
37581
37582 2010-02-17  Simon Josefsson  <simon@josefsson.org>
37583
37584         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
37585         if not provided by the system's netdb.h.  Reported by
37586         ludo@gnu.org (Ludovic Courtès).
37587
37588 2010-02-15  Jim Meyering  <meyering@redhat.com>
37589
37590         init.sh: improve portability and efficiency
37591         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
37592         "dummy" in a for loop.
37593         Use '!', not '^' to select the complement of a character set used
37594         in a "case" statement.
37595         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
37596         Suggestions from Eric Blake.
37597
37598         init.sh: automatically accommodate programs with the .exe suffix
37599         Automatically arrange for an invocation of "prog" to execute the
37600         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
37601         may use the simpler "prog", yet still work when built on a system
37602         that requires specifying the added suffix.
37603         Do this by constructing a function named "prog" that invokes
37604         "prog.exe" for each .exe file in selected directories.
37605         * tests/init.sh (find_exe_basenames_): New function.
37606         (create_exe_shim_functions_): New function.
37607         (path_prepend_): Use it.
37608
37609         maint.mk: mark syntax-check sc_*.m rules as .PHONY
37610         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
37611         "make -t syntax-check" doesn't create a ton of sc_*.m files.
37612
37613 2010-02-14  Jim Meyering  <meyering@redhat.com>
37614
37615         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
37616         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
37617         (sc_prohibit_hash_pjw_without_use): New rule.
37618
37619         maint.mk: allow the default upload destination dir to be overridden
37620         * top/maint.mk (upload_dest_dir_): Define with a default that
37621         preserves the status quo.
37622         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
37623         Reported by Peter Simons.
37624
37625         maint.mk: prohibit inclusion of "hash.h" without_use
37626         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
37627
37628 2010-02-10  Jim Meyering  <meyering@redhat.com>
37629
37630         maint.mk: prohibit inclusion of "ignore-value.h" without_use
37631         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
37632
37633 2010-02-09  Eric Blake  <ebb9@byu.net>
37634         and Bruno Haible  <bruno@clisp.org>
37635
37636         obstack-printf-posix: ensure declaration
37637         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
37638         extracted from gl_FUNC_OBSTACK_PRINTF.
37639         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
37640         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
37641         Likewise.
37642         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
37643         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
37644         0.
37645
37646 2010-02-08  Bruno Haible  <bruno@clisp.org>
37647
37648         gnulib-tool: Fix typo in 2010-02-07 commit.
37649         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
37650         Reported by Eric Blake.
37651
37652 2010-02-07  Bruno Haible  <bruno@clisp.org>
37653
37654         gnulib-tool: Fix up caching patches.
37655         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
37656         option --no-cache. Use associative arrays when supported by the shell.
37657         (sed_comments): New variable.
37658         (modcache): Renamed from do_cache.
37659         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
37660         abbreviate unnecessarily.
37661         (have_associative): New variable.
37662         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
37663         way also for ksh and zsh.
37664         (func_init_sed_convert_to_cache_statements): New function, extracted
37665         from func_cache_lookup_module. Add support for associative arrays.
37666         Don't set the c_MODULE_cached variable here. Ignore all lines before
37667         the first field header. Remove only the final newline, not all trailing
37668         newlines. Support empty fields correctly. Limit the use of 'eval' to
37669         assignments.
37670         (func_get_description, func_get_status, func_get_notice,
37671         func_get_applicability, func_get_filelist, func_get_dependencies,
37672         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
37673         func_get_automake_snippet, func_get_include_directive,
37674         func_get_link_directive, func_get_license, func_get_maintainer):
37675         Update documentation. List the unoptimized code first. Add support for
37676         associative arrays. Limit the use of 'eval' to assignments.
37677         (func_get_applicability): Undo stylistic pessimisations.
37678         (func_get_automake_snippet, func_get_include_directive): Reduce code
37679         duplication.
37680         (func_modules_transitive_closure, func_modules_add_dummy,
37681         func_modules_notice, func_modules_to_filelist, func_add_file,
37682         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
37683         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
37684         func_create_testdir, func_create_megatestdir): Update documentation.
37685
37686 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37687
37688         * gnulib-tool (func_cache_lookup_module): Store the module name
37689         belonging to the cache variable; error out if two different
37690         module names map to the same cache variable name.
37691
37692 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37693
37694         gnulib-tool: Make caching optional.
37695         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
37696         Update matching short versions of --no-changelog.
37697         (func_usage): Update.
37698         (sed_extract_cache_prog): Renamed from ...
37699         (sed_extract_prog): ... this; revert to old extraction script.
37700         (func_get_description, func_get_status)
37701         (func_get_notice, func_get_applicability, func_get_filelist)
37702         (func_get_dependencies, func_get_autoconf_early_snippet)
37703         (func_get_autoconf_snippet, func_get_automake_snippet)
37704         (func_get_include_directive, func_get_link_directive)
37705         (func_get_license, func_get_maintainer): If $do_cache is false,
37706         use old, non-caching extraction scripts.
37707         Suggestion by Bruno Haible.
37708
37709 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37710
37711         gnulib-tool: cache module metainformation.
37712         * gnulib-tool (sed_extract_prog): Match newline before each
37713         header, and rewrite header to a shell variable suffix.
37714         (func_cache_var, func_cache_lookup_module): New functions,
37715         to turn a module name into a cache variable prefix, and to
37716         look up and cache module metainformation.
37717         (func_get_description, func_get_status)
37718         (func_get_notice, func_get_applicability, func_get_filelist)
37719         (func_get_dependencies, func_get_autoconf_early_snippet)
37720         (func_get_autoconf_snippet, func_get_automake_snippet)
37721         (func_get_include_directive, func_get_link_directive)
37722         (func_get_license, func_get_maintainer): Use
37723         func_cache_lookup_module.
37724
37725 2010-02-07  Bruno Haible  <bruno@clisp.org>
37726
37727         fnctl: Fix missing dependency.
37728         * modules/fcntl (Depends-on): Add getdtablesize.
37729         Reported by John W. Eaton <jwe@gnu.org>.
37730
37731 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37732
37733         Argp: fix recognition of short alias options.
37734
37735         * lib/argp-parse.c (convert_options): Fix improper use of
37736         `|' between character values.
37737         * tests/test-argp.c (group1_option): New alias option
37738         --read (-r).
37739         (group1_parser): Special handling for 'r'.
37740         (test15): New test case.
37741         (test_fun): Add test15.
37742         * tests/test-argp-2.sh: Update expected --help and --usage
37743         outputs.
37744
37745 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37746
37747         * tests/test-argp.c: Fix indentation.
37748
37749 2010-02-04  Eric Blake  <ebb9@byu.net>
37750
37751         gettimeofday: expose type of second argument
37752         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
37753         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
37754         * tests/test-gettimeofday.c: Use it to silence warning.
37755         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
37756         the issue.
37757
37758 2010-02-03  Jim Meyering  <meyering@redhat.com>
37759
37760         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
37761         * lib/regcomp.c (TYPE_SIGNED): Define.
37762         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
37763
37764         regcomp.c: avoid a new -Wshadow warning
37765         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
37766
37767 2010-02-01  Jim Meyering  <meyering@redhat.com>
37768
37769         removing useless parentheses in cpp #define directives
37770         For motivation, see commit c0221df4, "define STREQ(a,b)
37771         consistently, removing useless parentheses"
37772         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
37773         * lib/mountlist.c (MNT_IGNORE): Likewise.
37774         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
37775
37776 2010-02-01  Eric Blake  <ebb9@byu.net>
37777
37778         sys_time: use link-warning
37779         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
37780         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
37781         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
37782         * modules/sys_time (Depends-on): Add warn-on-use.
37783         (Makefile.am): Always build replacement.
37784         (configure.ac): Update substitutions.
37785         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
37786         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
37787         bother with SYS_TIME_H.
37788         * modules/gettimeofday (configure.ac): Declare indicator.
37789         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
37790         in use.
37791
37792         closein-tests: silence compiler warning
37793         * tests/test-closein.c (main): Ignore fread result.
37794         * modules/closein-tests (Depends-on): Add ignore-value.
37795
37796         tests: silence warning about system return
37797         * tests/test-areadlink-with-size.c (main): Ignore system result.
37798         * tests/test-areadlink.c (main): Likewise.
37799         * tests/test-areadlinkat-with-size.c (main): Likewise.
37800         * tests/test-areadlinkat.c (main): Likewise.
37801         * tests/test-canonicalize-lgpl.c (main): Likewise.
37802         * tests/test-canonicalize.c (main): Likewise.
37803         * tests/test-chown.c (main): Likewise.
37804         * tests/test-fchownat.c (main): Likewise.
37805         * tests/test-fdutimensat.c (main): Likewise.
37806         * tests/test-fstatat.c (main): Likewise.
37807         * tests/test-futimens.c (main): Likewise.
37808         * tests/test-lchown.c (main): Likewise.
37809         * tests/test-link.c (main): Likewise.
37810         * tests/test-linkat.c (main): Likewise.
37811         * tests/test-lstat.c (main): Likewise.
37812         * tests/test-mkdir.c (main): Likewise.
37813         * tests/test-mkdirat.c (main): Likewise.
37814         * tests/test-mkfifo.c (main): Likewise.
37815         * tests/test-mkfifoat.c (main): Likewise.
37816         * tests/test-mknod.c (main): Likewise.
37817         * tests/test-readlink.c (main): Likewise.
37818         * tests/test-remove.c (main): Likewise.
37819         * tests/test-rename.c (main): Likewise.
37820         * tests/test-renameat.c (main): Likewise.
37821         * tests/test-rmdir.c (main): Likewise.
37822         * tests/test-symlink.c (main): Likewise.
37823         * tests/test-symlinkat.c (main): Likewise.
37824         * tests/test-unlink.c (main): Likewise.
37825         * tests/test-unlinkat.c (main): Likewise.
37826         * tests/test-utimens.c (main): Likewise.
37827         * tests/test-utimensat.c (main): Likewise.
37828         * modules/areadlink-tests (Depends-on): Add ignore-value.
37829         * modules/areadlink-with-size-tests (Depends-on): Likewise.
37830         * modules/areadlinkat-tests (Depends-on): Likewise.
37831         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
37832         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37833         * modules/canonicalize-tests (Depends-on): Likewise.
37834         * modules/chown-tests (Depends-on): Likewise.
37835         * modules/fdutimensat-tests (Depends-on): Likewise.
37836         * modules/futimens-tests (Depends-on): Likewise.
37837         * modules/lchown-tests (Depends-on): Likewise.
37838         * modules/link-tests (Depends-on): Likewise.
37839         * modules/linkat-tests (Depends-on): Likewise.
37840         * modules/lstat-tests (Depends-on): Likewise.
37841         * modules/mkdir-tests (Depends-on): Likewise.
37842         * modules/mkfifo-tests (Depends-on): Likewise.
37843         * modules/mkfifoat-tests (Depends-on): Likewise.
37844         * modules/mknod-tests (Depends-on): Likewise.
37845         * modules/openat-tests (Depends-on): Likewise.
37846         * modules/readlink-tests (Depends-on): Likewise.
37847         * modules/remove-tests (Depends-on): Likewise.
37848         * modules/rename-tests (Depends-on): Likewise.
37849         * modules/renameat-tests (Depends-on): Likewise.
37850         * modules/rmdir-tests (Depends-on): Likewise.
37851         * modules/symlink-tests (Depends-on): Likewise.
37852         * modules/symlinkat-tests (Depends-on): Likewise.
37853         * modules/unlink-tests (Depends-on): Likewise.
37854         * modules/utimens-tests (Depends-on): Likewise.
37855         * modules/utimensat-tests (Depends-on): Likewise.
37856
37857 2010-01-31  Bruno Haible  <bruno@clisp.org>
37858
37859         Perform the same test for many <math.h> functions.
37860         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
37861         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
37862         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
37863         of gl_MATHFUNC.
37864         * modules/acos (configure.ac): Likewise.
37865         * modules/asin (configure.ac): Likewise.
37866         * modules/atan (configure.ac): Likewise.
37867         * modules/atan2 (configure.ac): Likewise.
37868         * modules/cbrt (configure.ac): Likewise.
37869         * modules/copysign (configure.ac): Likewise.
37870         * modules/cos (configure.ac): Likewise.
37871         * modules/cosh (configure.ac): Likewise.
37872         * modules/erf (configure.ac): Likewise.
37873         * modules/erfc (configure.ac): Likewise.
37874         * modules/exp (configure.ac): Likewise.
37875         * modules/fmod (configure.ac): Likewise.
37876         * modules/hypot (configure.ac): Likewise.
37877         * modules/j0 (configure.ac): Likewise.
37878         * modules/j1 (configure.ac): Likewise.
37879         * modules/jn (configure.ac): Likewise.
37880         * modules/lgamma (configure.ac): Likewise.
37881         * modules/log (configure.ac): Likewise.
37882         * modules/log10 (configure.ac): Likewise.
37883         * modules/log1p (configure.ac): Likewise.
37884         * modules/pow (configure.ac): Likewise.
37885         * modules/remainder (configure.ac): Likewise.
37886         * modules/sin (configure.ac): Likewise.
37887         * modules/sinh (configure.ac): Likewise.
37888         * modules/tan (configure.ac): Likewise.
37889         * modules/tanh (configure.ac): Likewise.
37890         * modules/y0 (configure.ac): Likewise.
37891         * modules/y1 (configure.ac): Likewise.
37892         * modules/yn (configure.ac): Likewise.
37893         Suggested by Paolo Bonzini.
37894
37895 2010-01-31  Bruno Haible  <bruno@clisp.org>
37896
37897         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
37898
37899 2010-01-31  Bruno Haible  <bruno@clisp.org>
37900
37901         Work around getdelim() bug on FreeBSD 8.0.
37902         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
37903         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
37904         not work.
37905         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
37906         is 1.
37907         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
37908         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
37909         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
37910         a non-zero size.
37911         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
37912
37913 2010-01-31  Bruno Haible  <bruno@clisp.org>
37914
37915         Work around getline() bug on FreeBSD 8.0.
37916         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
37917         and a non-zero size.
37918         * tests/test-getline.c (main): Likewise.
37919         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
37920         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
37921
37922 2010-01-28  Eric Blake  <ebb9@byu.net>
37923
37924         regex: fix build failure
37925         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
37926         platforms.
37927
37928 2010-01-28  Jim Meyering  <meyering@redhat.com>
37929
37930         regex: do not ignore memory allocation failure
37931         * lib/regex_internal.c (create_cd_newstate): Detect
37932         re_node_set_init_copy failure.   Extracted from glibc commit
37933         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37934
37935         regex: sync more white-space changes from libc
37936         * lib/regex_internal.c: White-space only changes.
37937         * lib/regexec.c: Likewise.
37938
37939         regex: add many uses of __attribute_warn_unused_result__
37940         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
37941         * lib/regexec.c: Likewise.
37942         Extracted from a messy glibc commit.
37943
37944         regcomp.c: spelling and merge-artifact from glibc
37945         * lib/regcomp.c: Merge remainder of glibc's
37946         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37947
37948         regcomp.c: sync white-space changes from glibc
37949         * lib/regcomp.c: Merge to accommodate white space
37950         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37951
37952         regcomp.c: do not ignore internal return values
37953         * lib/regcomp.c: Do not ignore internal return values.
37954         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
37955         but without its white-space changes and spelling fixes.
37956
37957         regex_internal.h: define __attribute_warn_unused_result__
37958         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
37959
37960         maint: add a syntax-check rule to check for vulnerable Makefile.in
37961         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
37962
37963 2010-01-27  Jim Meyering  <meyering@redhat.com>
37964
37965         ncftpput-ftp: clean up spaces
37966         * build-aux/ncftpput-ftp: Make Copyright line consistent.
37967         Remove trailing blanks.
37968
37969 2010-01-27  Simon Josefsson  <simon@josefsson.org>
37970
37971         * build-aux/git-version-gen: Fix copyright statement.
37972         * build-aux/gnupload: Likewise.
37973         * tests/test-arcfour.c: Likewise.
37974         * tests/test-arctwo.c: Likewise.
37975         * tests/test-count-one-bits.c: Likewise.
37976         * tests/test-crc.c: Likewise.
37977         * tests/test-des.c: Likewise.
37978         * tests/test-gc-arcfour.c: Likewise.
37979         * tests/test-gc-arctwo.c: Likewise.
37980         * tests/test-gc-des.c: Likewise.
37981         * tests/test-gc-hmac-md5.c: Likewise.
37982         * tests/test-gc-hmac-sha1.c: Likewise.
37983         * tests/test-gc-md2.c: Likewise.
37984         * tests/test-gc-md4.c: Likewise.
37985         * tests/test-gc-md5.c: Likewise.
37986         * tests/test-gc-pbkdf2-sha1.c: Likewise.
37987         * tests/test-gc-rijndael.c: Likewise.
37988         * tests/test-gc-sha1.c: Likewise.
37989         * tests/test-gc.c: Likewise.
37990         * tests/test-gethostname.c: Likewise.
37991         * tests/test-gettimeofday.c: Likewise.
37992         * tests/test-hash.c: Likewise.
37993         * tests/test-hmac-md5.c: Likewise.
37994         * tests/test-hmac-sha1.c: Likewise.
37995         * tests/test-md2.c: Likewise.
37996         * tests/test-md4.c: Likewise.
37997         * tests/test-md5.c: Likewise.
37998         * tests/test-memchr.c: Likewise.
37999         * tests/test-memchr2.c: Likewise.
38000         * tests/test-memcmp.c: Likewise.
38001         * tests/test-memmem.c: Likewise.
38002         * tests/test-memrchr.c: Likewise.
38003         * tests/test-rawmemchr.c: Likewise.
38004         * tests/test-read-file.c: Likewise.
38005         * tests/test-rijndael.c: Likewise.
38006         * tests/test-sockets.c: Likewise.
38007         * tests/test-strchrnul.c: Likewise.
38008         * tests/test-strstr.c: Likewise.
38009         * tests/test-strtod.c: Likewise.
38010         * build-aux/ncftpput-ftp: Likewise.
38011
38012 2010-01-26  Eric Blake  <ebb9@byu.net>
38013
38014         ignore-value: update recommended header name
38015         * modules/ignore-value (Include): Only use <> for headers that
38016         exist in glibc.
38017
38018 2010-01-26  Jim Meyering  <meyering@redhat.com>
38019
38020         test-userspec.c: avoid compiler warnings
38021         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
38022         and "initialization discards qualifiers..." warnings.
38023         Put the first "uid" in its own scope, and make char* members "const".
38024
38025 2010-01-25  Bruno Haible  <bruno@clisp.org>
38026
38027         gnulib-tool: Make warning diagnostics consistent.
38028         * gnulib-tool (func_warning): New function.
38029         Use it everywhere where gnulib-tool produces output to stderr and it is
38030         not a fatal error.
38031
38032 2010-01-25  Bruno Haible  <bruno@clisp.org>
38033
38034         Fix test dependencies.
38035         * modules/xstrtol-tests (Depends-on): Add inttypes.
38036         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
38037
38038 2010-01-25 Pádraig Brady <P@draigBrady.com>
38039
38040         syntax-check: detect incorrect boolean macro values in config.h
38041         * modules/maintainer-makefile (configure.ac): Parameterize the location
38042         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
38043         The logic is from Eric Blake and the location indicated by Jim Meyering.
38044         Note the more natural CONFIG_HEADER name is prohibited by automake
38045         for backwards compatibility reasons.
38046         * top/maint.mk (sc_Wundef_boolean): New rule.
38047
38048 2010-01-25  Jim Meyering  <meyering@redhat.com>
38049
38050         bootstrap: detect MacOS 10.6's shasum, too
38051         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
38052         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
38053
38054 2010-01-23  Jim Meyering  <meyering@redhat.com>
38055
38056         xstrtoll: new module
38057         * modules/xstrtoll: New file.
38058         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
38059         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
38060         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
38061         ./configure fails if you use this module and lack "long long".
38062         * modules/xstrtoll-tests: New module.
38063         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
38064         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
38065         new init.sh-based test framework.
38066
38067 2010-01-24  Bruno Haible  <bruno@clisp.org>
38068
38069         Tests for module 'yn'.
38070         * modules/yn-tests: New file.
38071         * tests/test-yn.c: New file.
38072
38073         Tests for module 'y1'.
38074         * modules/y1-tests: New file.
38075         * tests/test-y1.c: New file.
38076
38077         Tests for module 'y0'.
38078         * modules/y0-tests: New file.
38079         * tests/test-y0.c: New file.
38080
38081         Tests for module 'tanh'.
38082         * modules/tanh-tests: New file.
38083         * tests/test-tanh.c: New file.
38084
38085         Tests for module 'tan'.
38086         * modules/tan-tests: New file.
38087         * tests/test-tan.c: New file.
38088
38089         Tests for module 'sqrt'.
38090         * modules/sqrt-tests: New file.
38091         * tests/test-sqrt.c: New file.
38092
38093         Tests for module 'sinh'.
38094         * modules/sinh-tests: New file.
38095         * tests/test-sinh.c: New file.
38096
38097         Tests for module 'sin'.
38098         * modules/sin-tests: New file.
38099         * tests/test-sin.c: New file.
38100
38101         Tests for module 'rint'.
38102         * modules/rint-tests: New file.
38103         * tests/test-rint.c: New file.
38104
38105         Tests for module 'remainder'.
38106         * modules/remainder-tests: New file.
38107         * tests/test-remainder.c: New file.
38108
38109         Tests for module 'pow'.
38110         * modules/pow-tests: New file.
38111         * tests/test-pow.c: New file.
38112
38113         Tests for module 'nextafter'.
38114         * modules/nextafter-tests: New file.
38115         * tests/test-nextafter.c: New file.
38116
38117         Tests for module 'modf'.
38118         * modules/modf-tests: New file.
38119         * tests/test-modf.c: New file.
38120
38121         Tests for module 'logb'.
38122         * modules/logb-tests: New file.
38123         * tests/test-logb.c: New file.
38124
38125         Tests for module 'log1p'.
38126         * modules/log1p-tests: New file.
38127         * tests/test-log1p.c: New file.
38128
38129         Tests for module 'log10'.
38130         * modules/log10-tests: New file.
38131         * tests/test-log10.c: New file.
38132
38133         Tests for module 'log'.
38134         * modules/log-tests: New file.
38135         * tests/test-log.c: New file.
38136
38137         Tests for module 'lgamma'.
38138         * modules/lgamma-tests: New file.
38139         * tests/test-lgamma.c: New file.
38140
38141         Tests for module 'ldexp'.
38142         * modules/ldexp-tests: New file.
38143         * tests/test-ldexp.c: New file.
38144
38145         Tests for module 'jn'.
38146         * modules/jn-tests: New file.
38147         * tests/test-jn.c: New file.
38148
38149         Tests for module 'j1'.
38150         * modules/j1-tests: New file.
38151         * tests/test-j1.c: New file.
38152
38153         Tests for module 'j0'.
38154         * modules/j0-tests: New file.
38155         * tests/test-j0.c: New file.
38156
38157         Tests for module 'hypot'.
38158         * modules/hypot-tests: New file.
38159         * tests/test-hypot.c: New file.
38160
38161         Tests for module 'fmod'.
38162         * modules/fmod-tests: New file.
38163         * tests/test-fmod.c: New file.
38164
38165         Tests for module 'fabs'.
38166         * modules/fabs-tests: New file.
38167         * tests/test-fabs.c: New file.
38168
38169         Tests for module 'exp'.
38170         * modules/exp-tests: New file.
38171         * tests/test-exp.c: New file.
38172
38173         Tests for module 'erfc'.
38174         * modules/erfc-tests: New file.
38175         * tests/test-erfc.c: New file.
38176
38177         Tests for module 'erf'.
38178         * modules/erf-tests: New file.
38179         * tests/test-erf.c: New file.
38180
38181         Tests for module 'cosh'.
38182         * modules/cosh-tests: New file.
38183         * tests/test-cosh.c: New file.
38184
38185         Tests for module 'cos'.
38186         * modules/cos-tests: New file.
38187         * tests/test-cos.c: New file.
38188
38189         Tests for module 'copysign'.
38190         * modules/copysign-tests: New file.
38191         * tests/test-copysign.c: New file.
38192
38193         Tests for module 'cbrt'.
38194         * modules/cbrt-tests: New file.
38195         * tests/test-cbrt.c: New file.
38196
38197         Tests for module 'atan2'.
38198         * modules/atan2-tests: New file.
38199         * tests/test-atan2.c: New file.
38200
38201         Tests for module 'atan'.
38202         * modules/atan-tests: New file.
38203         * tests/test-atan.c: New file.
38204
38205         Tests for module 'asin'.
38206         * modules/asin-tests: New file.
38207         * tests/test-asin.c: New file.
38208
38209         Tests for module 'acos'.
38210         * modules/acos-tests: New file.
38211         * tests/test-acos.c: New file.
38212
38213 2010-01-24  Bruno Haible  <bruno@clisp.org>
38214
38215         Fix tests for common <math.h> functions.
38216         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
38217         code snippet that references the function pointer, rather than merely
38218         calling the function. Substitute the FUNC_LIBM variable.
38219         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
38220         * modules/acos (configure.ac): Likewise.
38221         * modules/asin (configure.ac): Likewise.
38222         * modules/atan (configure.ac): Likewise.
38223         * modules/atan2 (configure.ac): Likewise.
38224         * modules/cbrt (configure.ac): Likewise.
38225         * modules/copysign (configure.ac): Likewise.
38226         * modules/cos (configure.ac): Likewise.
38227         * modules/cosh (configure.ac): Likewise.
38228         * modules/erf (configure.ac): Likewise.
38229         * modules/erfc (configure.ac): Likewise.
38230         * modules/exp (configure.ac): Likewise.
38231         * modules/fabs (configure.ac): Likewise.
38232         * modules/fmod (configure.ac): Likewise.
38233         * modules/hypot (configure.ac): Likewise.
38234         * modules/j0 (configure.ac): Likewise.
38235         * modules/j1 (configure.ac): Likewise.
38236         * modules/jn (configure.ac): Likewise.
38237         * modules/ldexp (configure.ac): Likewise.
38238         * modules/lgamma (configure.ac): Likewise.
38239         * modules/log (configure.ac): Likewise.
38240         * modules/log10 (configure.ac): Likewise.
38241         * modules/log1p (configure.ac): Likewise.
38242         * modules/logb (configure.ac): Likewise.
38243         * modules/modf (configure.ac): Likewise.
38244         * modules/nextafter (configure.ac): Likewise.
38245         * modules/pow (configure.ac): Likewise.
38246         * modules/remainder (configure.ac): Likewise.
38247         * modules/rint (configure.ac): Likewise.
38248         * modules/sin (configure.ac): Likewise.
38249         * modules/sinh (configure.ac): Likewise.
38250         * modules/tan (configure.ac): Likewise.
38251         * modules/tanh (configure.ac): Likewise.
38252         * modules/y0 (configure.ac): Likewise.
38253         * modules/y1 (configure.ac): Likewise.
38254         * modules/yn (configure.ac): Likewise.
38255
38256 2010-01-24  Bruno Haible  <bruno@clisp.org>
38257
38258         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
38259         * tests/test-acosl.c (x): New variable.
38260         (main): Store argument in x and fetch it from x.
38261         * tests/test-asinl.c (x): New variable.
38262         (main): Store argument in x and fetch it from x.
38263         * tests/test-atanl.c (x): New variable.
38264         (main): Store argument in x and fetch it from x.
38265         * tests/test-cosl.c (x): New variable.
38266         (main): Store argument in x and fetch it from x.
38267         * tests/test-expl.c (x): New variable.
38268         (main): Store argument in x and fetch it from x.
38269         * tests/test-logl.c (x): New variable.
38270         (main): Store argument in x and fetch it from x.
38271         * tests/test-sinl.c (x): New variable.
38272         (main): Store argument in x and fetch it from x.
38273         * tests/test-sqrtl.c (x): New variable.
38274         (main): Store argument in x and fetch it from x.
38275         * tests/test-tanl.c (x): New variable.
38276         (main): Store argument in x and fetch it from x.
38277
38278 2010-01-24  Bruno Haible  <bruno@clisp.org>
38279
38280         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
38281         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
38282         assignments to the initial TESTS_ENVIRONMENT.
38283         * doc/gnulib.texi (Unit test modules): Document it.
38284         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
38285         TESTS_ENVIRONMENT.
38286         * modules/btowc-tests (Makefile.am): Likewise.
38287         * modules/c-stack-tests (Makefile.am): Likewise.
38288         * modules/c-strcase-tests (Makefile.am): Likewise.
38289         * modules/copy-file-tests (Makefile.am): Likewise.
38290         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
38291         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
38292         * modules/mbrtowc-tests (Makefile.am): Likewise.
38293         * modules/mbscasecmp-tests (Makefile.am): Likewise.
38294         * modules/mbscasestr-tests (Makefile.am): Likewise.
38295         * modules/mbschr-tests (Makefile.am): Likewise.
38296         * modules/mbscspn-tests (Makefile.am): Likewise.
38297         * modules/mbsinit-tests (Makefile.am): Likewise.
38298         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
38299         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
38300         * modules/mbspbrk-tests (Makefile.am): Likewise.
38301         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
38302         * modules/mbsrchr-tests (Makefile.am): Likewise.
38303         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
38304         * modules/mbsspn-tests (Makefile.am): Likewise.
38305         * modules/mbsstr-tests (Makefile.am): Likewise.
38306         * modules/nl_langinfo-tests (Makefile.am): Likewise.
38307         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
38308         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
38309         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
38310         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
38311         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
38312         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
38313         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
38314         * modules/wcrtomb-tests (Makefile.am): Likewise.
38315         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
38316         * modules/wcsrtombs-tests (Makefile.am): Likewise.
38317         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
38318         assignments from TESTS_ENVIRONMENT.
38319         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
38320         augmentation.
38321         * modules/argp-version-etc-tests (Makefile.am): Likewise.
38322         * modules/atexit-tests (Makefile.am): Likewise.
38323         * modules/binary-io-tests (Makefile.am): Likewise.
38324         * modules/closein-tests (Makefile.am): Likewise.
38325         * modules/dprintf-posix-tests (Makefile.am): Likewise.
38326         * modules/exclude-tests (Makefile.am): Likewise.
38327         * modules/fflush-tests (Makefile.am): Likewise.
38328         * modules/fpending-tests (Makefile.am): Likewise.
38329         * modules/fprintf-posix-tests (Makefile.am): Likewise.
38330         * modules/freadahead-tests (Makefile.am): Likewise.
38331         * modules/freadptr-tests (Makefile.am): Likewise.
38332         * modules/freadseek-tests (Makefile.am): Likewise.
38333         * modules/fseek-tests (Makefile.am): Likewise.
38334         * modules/fseeko-tests (Makefile.am): Likewise.
38335         * modules/ftell-tests (Makefile.am): Likewise.
38336         * modules/ftello-tests (Makefile.am): Likewise.
38337         * modules/idpriv-drop-tests (Makefile.am): Likewise.
38338         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
38339         * modules/lseek-tests (Makefile.am): Likewise.
38340         * modules/parse-duration-tests (Makefile.am): Likewise.
38341         * modules/perror-tests (Makefile.am): Likewise.
38342         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
38343         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
38344         * modules/pipe-tests (Makefile.am): Likewise.
38345         * modules/pread-tests (Makefile.am): Likewise.
38346         * modules/printf-posix-tests (Makefile.am): Likewise.
38347         * modules/select-tests (Makefile.am): Likewise.
38348         * modules/sigpipe-tests (Makefile.am): Likewise.
38349         * modules/tsearch-tests (Makefile.am): Likewise.
38350         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
38351         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
38352         * modules/uniname/uniname-tests (Makefile.am): Likewise.
38353         * modules/uniwidth/width-tests (Makefile.am): Likewise.
38354         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
38355         * modules/version-etc-tests (Makefile.am): Likewise.
38356         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
38357         * modules/vprintf-posix-tests (Makefile.am): Likewise.
38358         * modules/xalloc-die-tests (Makefile.am): Likewise.
38359         * modules/xprintf-posix-tests (Makefile.am): Likewise.
38360         * modules/xstrtoimax-tests (Makefile.am): Likewise.
38361         * modules/xstrtol-tests (Makefile.am): Likewise.
38362         * modules/xstrtoumax-tests (Makefile.am): Likewise.
38363         * modules/yesno-tests (Makefile.am): Likewise.
38364         Suggested by Jim Meyering.
38365
38366 2010-01-24  Bruno Haible  <bruno@clisp.org>
38367
38368         More documentation.
38369         * doc/gnulib.texi (Writing modules): New chapter.
38370         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
38371         the new chapter.
38372
38373 2010-01-24  Jim Meyering  <meyering@redhat.com>
38374
38375         maint.mk: do not prepend "./" after filtering
38376         * top/maint.mk (_prepend_srcdir_prefix): New variable
38377         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
38378         "./" when $(srcdir) is ".".
38379
38380         define STREQ(a,b) consistently, removing useless parentheses
38381         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
38382         since the only risk is that "a" or "b" contains an unparenthesized
38383         comma, but if either did that, STREQ would have 3 or more arguments.
38384         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
38385         * lib/fts.c (STREQ): Remove unnecessary parentheses.
38386         * lib/hash-triple.c (STREQ): Likewise.
38387         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
38388         * lib/getugroups.c (STREQ): Likewise.
38389
38390 2010-01-23  Jim Meyering  <meyering@redhat.com>
38391
38392         maint.mk: fix syntax-check in a non-srcdir build directory
38393         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
38394         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
38395
38396 2010-01-22  Jim Meyering  <meyering@redhat.com>
38397
38398         userspec: add unit tests
38399         * tests/test-userspec.c: New file.
38400         * modules/userspec-tests: Likewise.
38401
38402 2010-01-21  Jim Meyering  <meyering@redhat.com>
38403
38404         maint.mk: handle source file names containing "." robustly
38405         * top/maint.mk (_dot_escaped_srcdir): Define.
38406         (VC_LIST): Use it in LHS of sed substitution.
38407
38408 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
38409
38410         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
38411         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
38412         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
38413         from a non-srcdir build.
38414
38415 2010-01-20  Eric Blake  <ebb9@byu.net>
38416
38417         warn-on-use: use instead of link-warning
38418         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
38419         * modules/unistd (Depends-on, Makefile.am): Likewise.
38420         * modules/arpa_inet (Depends-on): Replace link-warning with
38421         warn-on-use.
38422         (Makefile.am): Update rules accordingly.
38423         * modules/ctype (Depends-on, Makefile.am): Likewise.
38424         * modules/dirent (Depends-on, Makefile.am): Likewise.
38425         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
38426         * modules/inttypes (Depends-on, Makefile.am): Likewise.
38427         * modules/langinfo (Depends-on, Makefile.am): Likewise.
38428         * modules/locale (Depends-on, Makefile.am): Likewise.
38429         * modules/math (Depends-on, Makefile.am): Likewise.
38430         * modules/search (Depends-on, Makefile.am): Likewise.
38431         * modules/signal (Depends-on, Makefile.am): Likewise.
38432         * modules/spawn (Depends-on, Makefile.am): Likewise.
38433         * modules/stdlib (Depends-on, Makefile.am): Likewise.
38434         * modules/string (Depends-on, Makefile.am): Likewise.
38435         * modules/strings (Depends-on, Makefile.am): Likewise.
38436         * modules/sys_file (Depends-on, Makefile.am): Likewise.
38437         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
38438         * modules/sys_select (Depends-on, Makefile.am): Likewise.
38439         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
38440         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
38441         * modules/sys_times (Depends-on, Makefile.am): Likewise.
38442         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
38443         * modules/wchar (Depends-on, Makefile.am): Likewise.
38444         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
38445         should be poisoned.
38446         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
38447         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
38448         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
38449         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
38450         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
38451         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
38452         * m4/math_h.m4 (gl_MATH_H): Likewise.
38453         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
38454         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
38455         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
38456         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
38457         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
38458         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
38459         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
38460         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
38461         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
38462         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38463         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
38464         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
38465         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
38466         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
38467         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
38468         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
38469         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
38470         GL_LINK_WARNING.
38471         * lib/ctype.in.h: Likewise.
38472         * lib/dirent.in.h: Likewise.
38473         * lib/fcntl.in.h: Likewise.
38474         * lib/inttypes.in.h: Likewise.
38475         * lib/langinfo.in.h: Likewise.
38476         * lib/locale.in.h: Likewise.
38477         * lib/math.in.h: Likewise.
38478         * lib/search.in.h: Likewise.
38479         * lib/signal.in.h: Likewise.
38480         * lib/spawn.in.h: Likewise.
38481         * lib/stdio.in.h: Likewise.
38482         * lib/stdlib.in.h: Likewise.
38483         * lib/string.in.h: Likewise.
38484         * lib/strings.in.h: Likewise.
38485         * lib/sys_file.in.h: Likewise.
38486         * lib/sys_ioctl.in.h: Likewise.
38487         * lib/sys_select.in.h: Likewise.
38488         * lib/sys_socket.in.h: Likewise.
38489         * lib/sys_stat.in.h: Likewise.
38490         * lib/sys_times.in.h: Likewise.
38491         * lib/sys_utsname.in.h: Likewise.
38492         * lib/unistd.in.h: Likewise.
38493         * lib/wchar.in.h: Likewise.
38494
38495 2010-01-20  Bruno Haible  <bruno@clisp.org>
38496
38497         Avoid duplicate -lm.
38498         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
38499         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
38500         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
38501         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
38502         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
38503         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
38504         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
38505         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
38506         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
38507         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
38508         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
38509         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
38510         Reported by Paolo Bonzini.
38511
38512 2010-01-19  Bruno Haible  <bruno@clisp.org>
38513
38514         langinfo, nl_langinfo: Relicense under LGPLv2+.
38515         * modules/langinfo (License): Change to LGPLv2+.
38516         * modules/nl_langinfo (License): Likewise.
38517         Patch by David Lutterkort <lutter@redhat.com>.
38518
38519 2010-01-19  Bruno Haible  <bruno@clisp.org>
38520
38521         Avoid compilation error with cc on OSF/1 5.1.
38522         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
38523         statement, not before.
38524         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38525
38526 2010-01-18  Bruno Haible  <bruno@clisp.org>
38527
38528         Avoid a link error due to the __printf__ symbol.
38529         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
38530         and 2.6.x.
38531         (__format__, __printf__): Remove definitions.
38532         * lib/argp-fmtstream.h: Likewise.
38533         * lib/argp.h: Likewise.
38534         * lib/error.h: Likewise.
38535         * lib/vasnprintf.h: Likewise.
38536         * lib/xprintf.h: Likewise.
38537         * lib/xvasprintf.h: Likewise.
38538         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38539
38540 2010-01-18  Bruno Haible  <bruno@clisp.org>
38541
38542         Tests for module 'tanl'.
38543         * modules/tanl-tests: New file.
38544         * tests/test-tanl.c: New file.
38545
38546         Tests for module 'sqrtl'.
38547         * modules/sqrtl-tests: New file.
38548         * tests/test-sqrtl.c: New file.
38549
38550         Tests for module 'sinl'.
38551         * modules/sinl-tests: New file.
38552         * tests/test-sinl.c: New file.
38553
38554         Tests for module 'logl'.
38555         * modules/logl-tests: New file.
38556         * tests/test-logl.c: New file.
38557
38558         Tests for module 'expl'.
38559         * modules/expl-tests: New file.
38560         * tests/test-expl.c: New file.
38561
38562         Tests for module 'cosl'.
38563         * modules/cosl-tests: New file.
38564         * tests/test-cosl.c: New file.
38565
38566         Tests for module 'atanl'.
38567         * modules/atanl-tests: New file.
38568         * tests/test-atanl.c: New file.
38569
38570         Tests for module 'asinl'.
38571         * modules/asinl-tests: New file.
38572         * tests/test-asinl.c: New file.
38573
38574         Tests for module 'acosl'.
38575         * modules/acosl-tests: New file.
38576         * tests/test-acosl.c: New file.
38577
38578         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
38579         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
38580         tanl): Use the standard gnulib idiom.
38581         * lib/cosl.c: Don't include trigl.c and sincosl.c.
38582         * lib/sinl.c: Likewise.
38583         * lib/tanl.c: Don't include trigl.c.
38584         (kernel_tanl): Make static.
38585         * lib/sincosl.c: Include trigl.h first.
38586         * lib/trigl.c: Likewise.
38587         * m4/acosl.m4: New file.
38588         * m4/asinl.m4: New file.
38589         * m4/atanl.m4: New file.
38590         * m4/cosl.m4: New file.
38591         * m4/expl.m4: New file.
38592         * m4/logl.m4: New file.
38593         * m4/sinl.m4: New file.
38594         * m4/sqrtl.m4: New file.
38595         * m4/tanl.m4: New file.
38596         * m4/mathl.m4: Remove file.
38597         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
38598         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
38599         Don't initialize GNULIB_MATHL.
38600         * modules/acosl: New file.
38601         * modules/asinl: New file.
38602         * modules/atanl: New file.
38603         * modules/cosl: New file.
38604         * modules/expl: New file.
38605         * modules/logl: New file.
38606         * modules/sinl: New file.
38607         * modules/sqrtl: New file.
38608         * modules/tanl: New file.
38609         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
38610         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
38611         substitute GNULIB_MATHL.
38612         * modules/mathl: Rewritten.
38613         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
38614         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
38615         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
38616         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
38617         * doc/posix-functions/expl.texi: Mention the 'expl' module.
38618         * doc/posix-functions/logl.texi: Mention the 'logl' module.
38619         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
38620         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
38621         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
38622
38623 2010-01-18  Bruno Haible  <bruno@clisp.org>
38624
38625         sqrt: Make gl_FUNC_SQRT requirable.
38626         * m4/sqrt.m4: New file.
38627         * modules/sqrt (Files): Add it.
38628         (configure.ac): Invoke gl_FUNC_SQRT.
38629
38630 2010-01-18  Bruno Haible  <bruno@clisp.org>
38631
38632         New modules for common <math.h> functions.
38633         * m4/mathfunc.m4: New file.
38634         * modules/acos: New file.
38635         * modules/asin: New file.
38636         * modules/atan: New file.
38637         * modules/atan2: New file.
38638         * modules/cbrt: New file.
38639         * modules/copysign: New file.
38640         * modules/cos: New file.
38641         * modules/cosh: New file.
38642         * modules/erf: New file.
38643         * modules/erfc: New file.
38644         * modules/exp: New file.
38645         * modules/fabs: New file.
38646         * modules/fmod: New file.
38647         * modules/hypot: New file.
38648         * modules/j0: New file.
38649         * modules/j1: New file.
38650         * modules/jn: New file.
38651         * modules/ldexp: New file.
38652         * modules/lgamma: New file.
38653         * modules/log: New file.
38654         * modules/log10: New file.
38655         * modules/log1p: New file.
38656         * modules/logb: New file.
38657         * modules/modf: New file.
38658         * modules/nextafter: New file.
38659         * modules/pow: New file.
38660         * modules/remainder: New file.
38661         * modules/rint: New file.
38662         * modules/sin: New file.
38663         * modules/sinh: New file.
38664         * modules/sqrt: New file.
38665         * modules/tan: New file.
38666         * modules/tanh: New file.
38667         * modules/y0: New file.
38668         * modules/y1: New file.
38669         * modules/yn: New file.
38670         * doc/posix-functions/acos.texi: Mention the 'acos' module.
38671         * doc/posix-functions/asin.texi: Mention the 'asin' module.
38672         * doc/posix-functions/atan.texi: Mention the 'atan' module.
38673         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
38674         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
38675         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
38676         * doc/posix-functions/cos.texi: Mention the 'cos' module.
38677         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
38678         * doc/posix-functions/erf.texi: Mention the 'erf' module.
38679         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
38680         * doc/posix-functions/exp.texi: Mention the 'exp' module.
38681         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
38682         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
38683         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
38684         * doc/posix-functions/j0.texi: Mention the 'j0' module.
38685         * doc/posix-functions/j1.texi: Mention the 'j1' module.
38686         * doc/posix-functions/jn.texi: Mention the 'jn' module.
38687         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
38688         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
38689         * doc/posix-functions/log.texi: Mention the 'log' module.
38690         * doc/posix-functions/log10.texi: Mention the 'log10' module.
38691         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
38692         * doc/posix-functions/logb.texi: Mention the 'logb' module.
38693         * doc/posix-functions/modf.texi: Mention the 'modf' module.
38694         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
38695         * doc/posix-functions/pow.texi: Mention the 'pow' module.
38696         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
38697         * doc/posix-functions/rint.texi: Mention the 'rint' module.
38698         * doc/posix-functions/sin.texi: Mention the 'sin' module.
38699         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
38700         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
38701         * doc/posix-functions/tan.texi: Mention the 'tan' module.
38702         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
38703         * doc/posix-functions/y0.texi: Mention the 'y0' module.
38704         * doc/posix-functions/y1.texi: Mention the 'y1' module.
38705         * doc/posix-functions/yn.texi: Mention the 'yn' module.
38706
38707 2010-01-18  Jim Meyering  <meyering@redhat.com>
38708
38709         ignore-value: relax license to LGPLv2+
38710         * modules/ignore-value (License): Relax to LGPLv2+.
38711
38712         getdate: don't leak when TZ contains two or more '"'s
38713         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
38714         double quote in TZ after the first one.
38715
38716         readtokens: do not leak internal token_lengths buffer
38717         * lib/readtokens.c (readtokens): Free the local, lengths,
38718         when the supplied "token_lengths" parameter is NULL.
38719
38720 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38721
38722         Fix a couple of missing LIBTHREAD link failures on AIX.
38723         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
38724         $(LIBTHREAD).
38725         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
38726
38727         Link test-poll against INET_PTON_LIB.
38728         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
38729         for inet_pton on Solaris 10.
38730
38731 2010-01-17  Bruno Haible  <bruno@clisp.org>
38732
38733         unistdio/*-sprintf: Fix typo in module description.
38734         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
38735         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
38736         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
38737         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
38738         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
38739         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
38740         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
38741         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38742
38743 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38744
38745         gnulib-tool: fix filelist for AIX, HP-UX ksh.
38746         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
38747         variables in shell case patterns, for AIX and HP-UX ksh.
38748
38749         Split large sed scripts, for HP-UX sed.
38750         * modules/stdio: Split sed scripts around 50 sed commands,
38751         to avoid HP-UX limit of 99 commands, in the near future.
38752         * modules/string: Likewise.
38753         * modules/unistd: Likewise.
38754
38755         gnulib-tool: avoid writing in the current directory.
38756         * gnulib-tool (func_emit_lib_Makefile_am)
38757         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
38758         not in the current directory, so concurrent gnulib-tool
38759         instances do not interfere.
38760
38761 2010-01-16  Jim Meyering  <meyering@redhat.com>
38762
38763         doc: update users.txt
38764         * users.txt: Add grep.
38765         (diffutils, gzip): Update URLs.
38766
38767 2010-01-12  Bruno Haible  <bruno@clisp.org>
38768
38769         posix_spawn: Avoid test failure on Cygwin.
38770         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
38771         characters.
38772         Reported by Simon Josefsson.
38773
38774 2010-01-12  Bruno Haible  <bruno@clisp.org>
38775
38776         * tests/test-cond.c (main): When skipping the test, show the reason.
38777
38778 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38779
38780         * lib/striconv.c (str_cd_iconv): Avoid if before free.
38781
38782 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38783
38784         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
38785         VC_LIST_ALWAYS_EXCLUDE_REGEX.
38786
38787 2010-01-12  Eric Blake  <ebb9@byu.net>
38788
38789         build: guarantee AS_VAR_IF
38790         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
38791         (gl_AS_VAR_IF): Move...
38792         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
38793         Reported by Simon Josefsson.
38794
38795 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38796
38797         * lib/stdio.in.h: Fix typo.
38798
38799 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38800
38801         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
38802         libgpg-error.
38803
38804 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38805
38806         * tests/test-xalloc-die.sh: Use $EXEEXT.
38807
38808 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38809             Bruno Haible  <bruno@clisp.org>
38810
38811         getlogin, getlogin_r: Avoid test failure.
38812         * tests/test-getlogin.c: Include <stdio.h>.
38813         (main): Skip the test when the function fails because stdin is not a
38814         tty.
38815         * tests/test-getlogin_r.c: Include <stdio.h>.
38816         (main): Skip the test when the function fails because stdin is not a
38817         tty.
38818
38819 2010-01-11  Eric Blake  <ebb9@byu.net>
38820
38821         tests: avoid more large file warnings
38822         * tests/test-fflush.c: Avoid warning about ftell use.
38823         * tests/test-fseek.c: Avoid warning about fseek use.
38824
38825 2010-01-10  Bruno Haible  <bruno@clisp.org>
38826
38827         nproc: Work better on Linux when /proc and /sys are not mounted.
38828         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
38829         as lower bound when, on glibc/Linux systems,
38830         sysconf (_SC_NPROCESSORS_CONF) returns 1.
38831         Suggested by Pádraig Brady <P@draigbrady.com>.
38832         Reported by Dmitry V. Levin <ldv@altlinux.org>.
38833
38834         nproc: Refactor.
38835         * lib/nproc.c (num_processors_via_affinity_mask): New function,
38836         extracted from num_processors.
38837         (num_processors): Call it.
38838
38839 2010-01-11  Jim Meyering  <meyering@redhat.com>
38840
38841         utimecmp: avoid new warning from upcoming gcc-4.5.0
38842         * lib/utimecmp.c (BILLION): Define using #define rather than an
38843         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
38844
38845 2010-01-11  Eric Blake  <ebb9@byu.net>
38846
38847         math: add portability warnings for classification macros
38848         * modules/math (Depends-on): Add warn-on-use.
38849         (Makefile.am): Provide new substitutions.
38850         * m4/math_h.m4 (gl_MATH_H): Require inline.
38851         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
38852         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
38853         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
38854         implement warnings.
38855
38856         unistd: warn on use of environ without module
38857         * modules/unistd (Depends-on): Add warn-on-use.
38858         (Makefile.am): Provide new substitutions.
38859         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
38860         * lib/unistd.in.h (environ): Wrap with a warning helper function.
38861
38862         stdio: warn on suspicious uses
38863         * modules/stdio (Depends-on): Add warn-on-use.
38864         (Makefile.am): Provide new substitutions.
38865         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
38866         fseeko.
38867         * lib/stdio.in.h (gets): Always warn on use.
38868         (fseek, ftell): Adjust when warnings are issued, and honor
38869         _GL_NO_LARGE_FILES as a way to silence the warning.
38870         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
38871         any warning about large file offsets.
38872         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
38873         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
38874         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
38875         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
38876         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
38877         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
38878         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
38879         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
38880
38881         warn-on-use: new module
38882         * modules/warn-on-use: New file.
38883         * build-aux/warn-on-use.h: Likewise.
38884         * m4/warn-on-use.m4: Likewise.
38885         * MODULES.html.sh (Support for building): Mention it.
38886
38887 2010-01-10  Bruno Haible  <bruno@clisp.org>
38888
38889         Tests for module 'unistr/u32-strdup'.
38890         * modules/unistr/u32-strdup-tests: New file.
38891         * tests/unistr/test-u32-strdup.c: New file.
38892
38893         Tests for module 'unistr/u16-strdup'.
38894         * modules/unistr/u16-strdup-tests: New file.
38895         * tests/unistr/test-u16-strdup.c: New file.
38896
38897         Tests for module 'unistr/u8-strdup'.
38898         * modules/unistr/u8-strdup-tests: New file.
38899         * tests/unistr/test-u8-strdup.c: New file.
38900         * tests/unistr/test-strdup.h: New file.
38901
38902         Tests for module 'unistr/u32-strncmp'.
38903         * modules/unistr/u32-strncmp-tests: New file.
38904         * tests/unistr/test-u32-strncmp.c: New file.
38905
38906         Tests for module 'unistr/u16-strncmp'.
38907         * modules/unistr/u16-strncmp-tests: New file.
38908         * tests/unistr/test-u16-strncmp.c: New file.
38909
38910         Tests for module 'unistr/u8-strncmp'.
38911         * modules/unistr/u8-strncmp-tests: New file.
38912         * tests/unistr/test-u8-strncmp.c: New file.
38913         * tests/unistr/test-strncmp.h: New file.
38914
38915         Tests for module 'unistr/u32-strcoll'.
38916         * modules/unistr/u32-strcoll-tests: New file.
38917         * tests/unistr/test-u32-strcoll.c: New file.
38918
38919         Tests for module 'unistr/u16-strcoll'.
38920         * modules/unistr/u16-strcoll-tests: New file.
38921         * tests/unistr/test-u16-strcoll.c: New file.
38922
38923         Tests for module 'unistr/u8-strcoll'.
38924         * modules/unistr/u8-strcoll-tests: New file.
38925         * tests/unistr/test-u8-strcoll.c: New file.
38926
38927         Tests for module 'unistr/u32-strcmp'.
38928         * modules/unistr/u32-strcmp-tests: New file.
38929         * tests/unistr/test-u32-strcmp.c: New file.
38930         * tests/unistr/test-u32-strcmp.h: New file.
38931
38932         Tests for module 'unistr/u16-strcmp'.
38933         * modules/unistr/u16-strcmp-tests: New file.
38934         * tests/unistr/test-u16-strcmp.c: New file.
38935         * tests/unistr/test-u16-strcmp.h: New file.
38936
38937         Tests for module 'unistr/u8-strcmp'.
38938         * modules/unistr/u8-strcmp-tests: New file.
38939         * tests/unistr/test-u8-strcmp.c: New file.
38940         * tests/unistr/test-u8-strcmp.h: New file.
38941         * tests/unistr/test-strcmp.h: New file.
38942
38943         Tests for module 'unistr/u32-strncat'.
38944         * modules/unistr/u32-strncat-tests: New file.
38945         * tests/unistr/test-u32-strncat.c: New file.
38946
38947         Tests for module 'unistr/u16-strncat'.
38948         * modules/unistr/u16-strncat-tests: New file.
38949         * tests/unistr/test-u16-strncat.c: New file.
38950
38951         Tests for module 'unistr/u8-strncat'.
38952         * modules/unistr/u8-strncat-tests: New file.
38953         * tests/unistr/test-u8-strncat.c: New file.
38954         * tests/unistr/test-strncat.h: New file.
38955
38956         Tests for module 'unistr/u32-strcat'.
38957         * modules/unistr/u32-strcat-tests: New file.
38958         * tests/unistr/test-u32-strcat.c: New file.
38959
38960         Tests for module 'unistr/u16-strcat'.
38961         * modules/unistr/u16-strcat-tests: New file.
38962         * tests/unistr/test-u16-strcat.c: New file.
38963
38964         Tests for module 'unistr/u8-strcat'.
38965         * modules/unistr/u8-strcat-tests: New file.
38966         * tests/unistr/test-u8-strcat.c: New file.
38967         * tests/unistr/test-strcat.h: New file.
38968
38969         Tests for module 'unistr/u32-stpncpy'.
38970         * modules/unistr/u32-stpncpy-tests: New file.
38971         * tests/unistr/test-u32-stpncpy.c: New file.
38972
38973         Tests for module 'unistr/u16-stpncpy'.
38974         * modules/unistr/u16-stpncpy-tests: New file.
38975         * tests/unistr/test-u16-stpncpy.c: New file.
38976
38977         Tests for module 'unistr/u8-stpncpy'.
38978         * modules/unistr/u8-stpncpy-tests: New file.
38979         * tests/unistr/test-u8-stpncpy.c: New file.
38980         * tests/unistr/test-stpncpy.h: New file.
38981
38982         Tests for module 'unistr/u32-strncpy'.
38983         * modules/unistr/u32-strncpy-tests: New file.
38984         * tests/unistr/test-u32-strncpy.c: New file.
38985
38986         Tests for module 'unistr/u16-strncpy'.
38987         * modules/unistr/u16-strncpy-tests: New file.
38988         * tests/unistr/test-u16-strncpy.c: New file.
38989
38990         Tests for module 'unistr/u8-strncpy'.
38991         * modules/unistr/u8-strncpy-tests: New file.
38992         * tests/unistr/test-u8-strncpy.c: New file.
38993         * tests/unistr/test-strncpy.h: New file.
38994
38995         Tests for module 'unistr/u32-stpcpy'.
38996         * modules/unistr/u32-stpcpy-tests: New file.
38997         * tests/unistr/test-u32-stpcpy.c: New file.
38998
38999         Tests for module 'unistr/u16-stpcpy'.
39000         * modules/unistr/u16-stpcpy-tests: New file.
39001         * tests/unistr/test-u16-stpcpy.c: New file.
39002
39003         Tests for module 'unistr/u8-stpcpy'.
39004         * modules/unistr/u8-stpcpy-tests: New file.
39005         * tests/unistr/test-u8-stpcpy.c: New file.
39006         * tests/unistr/test-stpcpy.h: New file.
39007
39008         Tests for module 'unistr/u32-strcpy'.
39009         * modules/unistr/u32-strcpy-tests: New file.
39010         * tests/unistr/test-u32-strcpy.c: New file.
39011
39012         Tests for module 'unistr/u16-strcpy'.
39013         * modules/unistr/u16-strcpy-tests: New file.
39014         * tests/unistr/test-u16-strcpy.c: New file.
39015
39016         Tests for module 'unistr/u8-strcpy'.
39017         * modules/unistr/u8-strcpy-tests: New file.
39018         * tests/unistr/test-u8-strcpy.c: New file.
39019         * tests/unistr/test-strcpy.h: New file.
39020
39021         Tests for module 'unistr/u32-strnlen'.
39022         * modules/unistr/u32-strnlen-tests: New file.
39023         * tests/unistr/test-u32-strnlen.c: New file.
39024
39025         Tests for module 'unistr/u16-strnlen'.
39026         * modules/unistr/u16-strnlen-tests: New file.
39027         * tests/unistr/test-u16-strnlen.c: New file.
39028
39029         Tests for module 'unistr/u8-strnlen'.
39030         * modules/unistr/u8-strnlen-tests: New file.
39031         * tests/unistr/test-u8-strnlen.c: New file.
39032         * tests/unistr/test-strnlen.h: New file.
39033
39034         Tests for module 'unistr/u32-strlen'.
39035         * modules/unistr/u32-strlen-tests: New file.
39036         * tests/unistr/test-u32-strlen.c: New file.
39037
39038         Tests for module 'unistr/u16-strlen'.
39039         * modules/unistr/u16-strlen-tests: New file.
39040         * tests/unistr/test-u16-strlen.c: New file.
39041
39042         Tests for module 'unistr/u8-strlen'.
39043         * modules/unistr/u8-strlen-tests: New file.
39044         * tests/unistr/test-u8-strlen.c: New file.
39045
39046         Tests for module 'unistr/u32-prev'.
39047         * modules/unistr/u32-prev-tests: New file.
39048         * tests/unistr/test-u32-prev.c: New file.
39049
39050         Tests for module 'unistr/u16-prev'.
39051         * modules/unistr/u16-prev-tests: New file.
39052         * tests/unistr/test-u16-prev.c: New file.
39053
39054         Tests for module 'unistr/u8-prev'.
39055         * modules/unistr/u8-prev-tests: New file.
39056         * tests/unistr/test-u8-prev.c: New file.
39057
39058         Tests for module 'unistr/u32-next'.
39059         * modules/unistr/u32-next-tests: New file.
39060         * tests/unistr/test-u32-next.c: New file.
39061
39062         Tests for module 'unistr/u16-next'.
39063         * modules/unistr/u16-next-tests: New file.
39064         * tests/unistr/test-u16-next.c: New file.
39065
39066         Tests for module 'unistr/u8-next'.
39067         * modules/unistr/u8-next-tests: New file.
39068         * tests/unistr/test-u8-next.c: New file.
39069
39070         Tests for module 'unistr/u32-strmbtouc'.
39071         * modules/unistr/u32-strmbtouc-tests: New file.
39072         * tests/unistr/test-u32-strmbtouc.c: New file.
39073
39074         Tests for module 'unistr/u16-strmbtouc'.
39075         * modules/unistr/u16-strmbtouc-tests: New file.
39076         * tests/unistr/test-u16-strmbtouc.c: New file.
39077
39078         Tests for module 'unistr/u8-strmbtouc'.
39079         * modules/unistr/u8-strmbtouc-tests: New file.
39080         * tests/unistr/test-u8-strmbtouc.c: New file.
39081
39082         Tests for module 'unistr/u32-strmblen'.
39083         * modules/unistr/u32-strmblen-tests: New file.
39084         * tests/unistr/test-u32-strmblen.c: New file.
39085
39086         Tests for module 'unistr/u16-strmblen'.
39087         * modules/unistr/u16-strmblen-tests: New file.
39088         * tests/unistr/test-u16-strmblen.c: New file.
39089
39090         Tests for module 'unistr/u8-strmblen'.
39091         * modules/unistr/u8-strmblen-tests: New file.
39092         * tests/unistr/test-u8-strmblen.c: New file.
39093
39094         Tests for module 'unistr/u32-cpy-alloc'.
39095         * modules/unistr/u32-cpy-alloc-tests: New file.
39096         * tests/unistr/test-u32-cpy-alloc.c: New file.
39097
39098         Tests for module 'unistr/u16-cpy-alloc'.
39099         * modules/unistr/u16-cpy-alloc-tests: New file.
39100         * tests/unistr/test-u16-cpy-alloc.c: New file.
39101
39102         Tests for module 'unistr/u8-cpy-alloc'.
39103         * modules/unistr/u8-cpy-alloc-tests: New file.
39104         * tests/unistr/test-u8-cpy-alloc.c: New file.
39105         * tests/unistr/test-cpy-alloc.h: New file.
39106
39107         Tests for module 'unistr/u32-mbsnlen'.
39108         * modules/unistr/u32-mbsnlen-tests: New file.
39109         * tests/unistr/test-u32-mbsnlen.c: New file.
39110
39111         Tests for module 'unistr/u16-mbsnlen'.
39112         * modules/unistr/u16-mbsnlen-tests: New file.
39113         * tests/unistr/test-u16-mbsnlen.c: New file.
39114
39115         Tests for module 'unistr/u8-mbsnlen'.
39116         * modules/unistr/u8-mbsnlen-tests: New file.
39117         * tests/unistr/test-u8-mbsnlen.c: New file.
39118
39119         Tests for module 'unistr/u32-chr'.
39120         * modules/unistr/u32-chr-tests: New file.
39121         * tests/unistr/test-u32-chr.c: New file.
39122
39123         Tests for module 'unistr/u16-chr'.
39124         * modules/unistr/u16-chr-tests: New file.
39125         * tests/unistr/test-u16-chr.c: New file.
39126
39127         Tests for module 'unistr/u8-chr'.
39128         * modules/unistr/u8-chr-tests: New file.
39129         * tests/unistr/test-u8-chr.c: New file.
39130         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
39131
39132         Tests for module 'unistr/u32-cmp2'.
39133         * modules/unistr/u32-cmp2-tests: New file.
39134         * tests/unistr/test-u32-cmp2.c: New file.
39135
39136         Tests for module 'unistr/u16-cmp2'.
39137         * modules/unistr/u16-cmp2-tests: New file.
39138         * tests/unistr/test-u16-cmp2.c: New file.
39139
39140         Tests for module 'unistr/u8-cmp2'.
39141         * modules/unistr/u8-cmp2-tests: New file.
39142         * tests/unistr/test-u8-cmp2.c: New file.
39143         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
39144
39145         Tests for module 'unistr/u32-cmp'.
39146         * modules/unistr/u32-cmp-tests: New file.
39147         * tests/unistr/test-u32-cmp.c: New file.
39148
39149         Tests for module 'unistr/u16-cmp'.
39150         * modules/unistr/u16-cmp-tests: New file.
39151         * tests/unistr/test-u16-cmp.c: New file.
39152
39153         Tests for module 'unistr/u8-cmp'.
39154         * modules/unistr/u8-cmp-tests: New file.
39155         * tests/unistr/test-u8-cmp.c: New file.
39156         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
39157
39158         Tests for module 'unistr/u32-set'.
39159         * modules/unistr/u32-set-tests: New file.
39160         * tests/unistr/test-u32-set.c: New file.
39161
39162         Tests for module 'unistr/u16-set'.
39163         * modules/unistr/u16-set-tests: New file.
39164         * tests/unistr/test-u16-set.c: New file.
39165
39166         Tests for module 'unistr/u8-set'.
39167         * modules/unistr/u8-set-tests: New file.
39168         * tests/unistr/test-u8-set.c: New file.
39169         * tests/unistr/test-set.h: New file.
39170
39171         Tests for module 'unistr/u32-move'.
39172         * modules/unistr/u32-move-tests: New file.
39173         * tests/unistr/test-u32-move.c: New file.
39174
39175         Tests for module 'unistr/u16-move'.
39176         * modules/unistr/u16-move-tests: New file.
39177         * tests/unistr/test-u16-move.c: New file.
39178
39179         Tests for module 'unistr/u8-move'.
39180         * modules/unistr/u8-move-tests: New file.
39181         * tests/unistr/test-u8-move.c: New file.
39182         * tests/unistr/test-move.h: New file.
39183
39184         Tests for module 'unistr/u32-cpy'.
39185         * modules/unistr/u32-cpy-tests: New file.
39186         * tests/unistr/test-u32-cpy.c: New file.
39187
39188         Tests for module 'unistr/u16-cpy'.
39189         * modules/unistr/u16-cpy-tests: New file.
39190         * tests/unistr/test-u16-cpy.c: New file.
39191
39192         Tests for module 'unistr/u8-cpy'.
39193         * modules/unistr/u8-cpy-tests: New file.
39194         * tests/unistr/test-u8-cpy.c: New file.
39195         * tests/unistr/test-cpy.h: New file.
39196
39197 2010-01-09  Bruno Haible  <bruno@clisp.org>
39198
39199         Tests for module 'unistr/u32-uctomb'.
39200         * modules/unistr/u32-uctomb-tests: New file.
39201         * tests/unistr/test-u32-uctomb.c: New file.
39202
39203         Tests for module 'unistr/u16-uctomb'.
39204         * modules/unistr/u16-uctomb-tests: New file.
39205         * tests/unistr/test-u16-uctomb.c: New file.
39206
39207         Tests for module 'unistr/u8-uctomb'.
39208         * modules/unistr/u8-uctomb-tests: New file.
39209         * tests/unistr/test-u8-uctomb.c: New file.
39210
39211         Tests for module 'unistr/u32-mbtoucr'.
39212         * modules/unistr/u32-mbtoucr-tests: New file.
39213         * tests/unistr/test-u32-mbtoucr.c: New file.
39214
39215         Tests for module 'unistr/u16-mbtoucr'.
39216         * modules/unistr/u16-mbtoucr-tests: New file.
39217         * tests/unistr/test-u16-mbtoucr.c: New file.
39218
39219         Tests for module 'unistr/u8-mbtoucr'.
39220         * modules/unistr/u8-mbtoucr-tests: New file.
39221         * tests/unistr/test-u8-mbtoucr.c: New file.
39222
39223         Tests for module 'unistr/u32-mbtouc'.
39224         * modules/unistr/u32-mbtouc-tests: New file.
39225         * tests/unistr/test-u32-mbtouc.c: New file.
39226
39227         Tests for module 'unistr/u16-mbtouc'.
39228         * modules/unistr/u16-mbtouc-tests: New file.
39229         * tests/unistr/test-u16-mbtouc.c: New file.
39230
39231         Tests for module 'unistr/u8-mbtouc'.
39232         * modules/unistr/u8-mbtouc-tests: New file.
39233         * tests/unistr/test-u8-mbtouc.c: New file.
39234
39235         Tests for module 'unistr/u32-mbtouc-unsafe'.
39236         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
39237         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
39238         * tests/unistr/test-u32-mbtouc.h: New file.
39239
39240         Tests for module 'unistr/u16-mbtouc-unsafe'.
39241         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
39242         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
39243         * tests/unistr/test-u16-mbtouc.h: New file.
39244
39245         Tests for module 'unistr/u8-mbtouc-unsafe'.
39246         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
39247         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
39248         * tests/unistr/test-u8-mbtouc.h: New file.
39249
39250         Tests for module 'unistr/u32-mblen'.
39251         * modules/unistr/u32-mblen-tests: New file.
39252         * tests/unistr/test-u32-mblen.c: New file.
39253
39254         Tests for module 'unistr/u16-mblen'.
39255         * modules/unistr/u16-mblen-tests: New file.
39256         * tests/unistr/test-u16-mblen.c: New file.
39257
39258         Tests for module 'unistr/u8-mblen'.
39259         * modules/unistr/u8-mblen-tests: New file.
39260         * tests/unistr/test-u8-mblen.c: New file.
39261
39262         Tests for module 'unistr/u32-to-u16'.
39263         * modules/unistr/u32-to-u16-tests: New file.
39264         * tests/unistr/test-u32-to-u16.c: New file.
39265
39266         Tests for module 'unistr/u32-to-u8'.
39267         * modules/unistr/u32-to-u8-tests: New file.
39268         * tests/unistr/test-u32-to-u8.c: New file.
39269
39270         Tests for module 'unistr/u16-to-u32'.
39271         * modules/unistr/u16-to-u32-tests: New file.
39272         * tests/unistr/test-u16-to-u32.c: New file.
39273
39274         Tests for module 'unistr/u16-to-u8'.
39275         * modules/unistr/u16-to-u8-tests: New file.
39276         * tests/unistr/test-u16-to-u8.c: New file.
39277
39278         Tests for module 'unistr/u8-to-u32'.
39279         * modules/unistr/u8-to-u32-tests: New file.
39280         * tests/unistr/test-u8-to-u32.c: New file.
39281
39282         Tests for module 'unistr/u8-to-u16'.
39283         * modules/unistr/u8-to-u16-tests: New file.
39284         * tests/unistr/test-u8-to-u16.c: New file.
39285
39286         Tests for module 'unistr/u32-check'.
39287         * modules/unistr/u32-check-tests: New file.
39288         * tests/unistr/test-u32-check.c: New file.
39289
39290         Tests for module 'unistr/u16-check'.
39291         * modules/unistr/u16-check-tests: New file.
39292         * tests/unistr/test-u16-check.c: New file.
39293
39294         Tests for module 'unistr/u8-check'.
39295         * modules/unistr/u8-check-tests: New file.
39296         * tests/unistr/test-u8-check.c: New file.
39297
39298         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
39299         (category_equals): New function.
39300         (main): Add more tests.
39301         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
39302
39303         * tests/unictype/test-bidi_byname.c (main): Add more tests.
39304
39305 2010-01-10  Bruno Haible  <bruno@clisp.org>
39306
39307         unistr/u*-strcoll: Try harder to distinguish different strings.
39308         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
39309         compare s1 and s2 to see if they are different.
39310
39311 2010-01-10  Bruno Haible  <bruno@clisp.org>
39312
39313         unistr/u*-stpncpy: Fix the return value.
39314         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
39315         description of the return value consistent with stpncpy in glibc.
39316         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
39317         written non-NUL unit.
39318
39319 2010-01-10  Bruno Haible  <bruno@clisp.org>
39320
39321         unistr/u*-next: Add missing dependencies.
39322         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
39323         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
39324         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
39325
39326 2010-01-10  Bruno Haible  <bruno@clisp.org>
39327
39328         unistr/u8-mbsnlen: Fix return value for incomplete character.
39329         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
39330         u8_mblen.
39331         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
39332         Remove unistr/u8-mblen.
39333         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
39334         u16_mblen.
39335         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
39336         Remove unistr/u16-mblen.
39337
39338 2010-01-10  Bruno Haible  <bruno@clisp.org>
39339
39340         wchar: Fix compilation error when <wchar.h> is used from coreutils.
39341         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
39342         Reported by Brian Gough <bjg@gnu.org> and
39343         Chris Clayton <chris2553@googlemail.com> via
39344         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
39345
39346 2010-01-09  Bruno Haible  <bruno@clisp.org>
39347
39348         unistr/u16-to-u32: Reject invalid input.
39349         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
39350         u16_mbtouc.
39351         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
39352         Remove unistr/u16-mbtouc.
39353
39354         unistr/u16-to-u8: Reject invalid input.
39355         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
39356         u16_mbtouc.
39357         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
39358         Remove unistr/u16-mbtouc.
39359
39360         unistr/u8-to-u32: Reject invalid input.
39361         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
39362         u8_mbtouc.
39363         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
39364         Remove unistr/u8-mbtouc.
39365
39366         unistr/u8-to-u16: Reject invalid input.
39367         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
39368         u8_mbtouc.
39369         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
39370         Remove unistr/u8-mbtouc.
39371
39372 2010-01-09  Bruno Haible  <bruno@clisp.org>
39373
39374         Tests for module 'getlogin'.
39375         * modules/getlogin-tests: New file.
39376         * tests/test-getlogin.c: New file.
39377
39378         New module 'getlogin'.
39379         * lib/unistd.in.h (getlogin): New declaration.
39380         * lib/getlogin.c: New file.
39381         * m4/getlogin.m4: New file.
39382         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
39383         HAVE_GETLOGIN.
39384         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
39385         HAVE_GETLOGIN.
39386         * modules/getlogin: New file.
39387         * doc/posix-functions/getlogin.texi: Mention the new module.
39388         Reported by John W. Eaton <jwe@gnu.org>.
39389
39390 2010-01-09  Bruno Haible  <bruno@clisp.org>
39391
39392         getlogin_r: Support for native Windows.
39393         * lib/getlogin_r.c: Include <windows.h>
39394         (getlogin_r): Implement for native Windows.
39395         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
39396         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
39397         via John W. Eaton <jwe@gnu.org>.
39398
39399 2010-01-09  Bruno Haible  <bruno@clisp.org>
39400
39401         getlogin_r: Small fixes.
39402         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
39403         succeeds.
39404         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
39405         before testing whether getlogin_r is declared. No need to set
39406         HAVE_DECL_GETLOGIN_R to 1.
39407         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
39408
39409 2010-01-09  Bruno Haible  <bruno@clisp.org>
39410
39411         * lib/unistd.in.h (getlogin_r): Add comment.
39412
39413 2010-01-09  Bruno Haible  <bruno@clisp.org>
39414
39415         Tests for module 'getlogin_r'.
39416         * modules/getlogin_r-tests: New file.
39417         * tests/test-getlogin_r.c: New file.
39418
39419 2010-01-09  Jim Meyering  <meyering@redhat.com>
39420
39421         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
39422         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
39423         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
39424
39425 2010-01-08  Simon Josefsson  <simon@josefsson.org>
39426
39427         * lib/dup2.c (rpl_dup2): Improve comment.
39428
39429 2010-01-08  Eric Blake  <ebb9@byu.net>
39430
39431         maint.mk: allow packages to add makefile @@ exceptions
39432         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
39433         (sc_makefile_check): Rename...
39434         (sc_makefile_at_at_check): ...to this, and use hook.
39435
39436         dup2: work around mingw bug
39437         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
39438         Reported by Simon Josefsson.
39439
39440 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
39441
39442         glob: Fix C++ compilation.
39443         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
39444         C++.
39445
39446 2010-01-07  Bruno Haible  <bruno@clisp.org>
39447
39448         Fix indentation of wctype.in.h, broken since 2007-01-06.
39449         * lib/wctype.in.h: Fix indentation of preprocessor directives.
39450
39451 2010-01-07  Bruno Haible  <bruno@clisp.org>
39452
39453         mbslen: Avoid collision with system function.
39454         * lib/string.in.h [MirBSD]: Include <wchar.h>.
39455         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
39456         * m4/mbslen.m4: New file.
39457         * modules/mbslen (Files): Add it.
39458         (configure.ac): Invoke gl_MBSLEN.
39459         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
39460         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
39461         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
39462         via Ian Beckwith <ianb@erislabs.net>.
39463
39464 2010-01-07  Bruno Haible  <bruno@clisp.org>
39465
39466         dirent: Document the last fix.
39467         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
39468
39469 2010-01-07  Bruno Haible  <bruno@clisp.org>
39470
39471         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
39472         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
39473         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
39474         va_list are defined.
39475         * doc/posix-headers/stdio.texi: Document the bug of missing types.
39476         Reported by Eric Blake.
39477
39478 2010-01-07  Bruno Haible  <bruno@clisp.org>
39479
39480         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
39481         * modules/xlist (Depends-on): Add 'list',
39482         * modules/xoset (Depends-on): Add 'oset'.
39483         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39484
39485 2010-01-07  Bruno Haible  <bruno@clisp.org>
39486
39487         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
39488         * doc/posix-functions/strncasecmp.texi: Likewise.
39489
39490 2010-01-07  Bruno Haible  <bruno@clisp.org>
39491
39492         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
39493
39494 2010-01-07  John W. Eaton  <jwe@octave.org>
39495
39496         wctype: allow C++ use
39497         * lib/wctype.in.h: Add extern "C" block for C++.
39498
39499 2010-01-06  Eric Blake  <ebb9@byu.net>
39500
39501         maint.mk: detect incorrect GFDL usage
39502         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
39503
39504 2010-01-06  Jim Meyering  <meyering@redhat.com>
39505         and Eric Blake  <ebb9@byu.net>
39506
39507         maint.mk: ignore multi-line copyright in NEWS
39508         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
39509
39510 2010-01-06  Eric Blake  <ebb9@byu.net>
39511
39512         select: add missing dependency
39513         * modules/select-tests (Depends-on): Move sockets dependency...
39514         * modules/select (Depends-on): ...here.
39515         Reported by Ian Beckwith.
39516
39517         doc: regenerate INSTALL
39518         * doc/INSTALL: Reflect recent autoconf update.
39519         * doc/INSTALL.ISO: Likewise.
39520         * doc/INSTALL.UTF-8: Likewise.
39521
39522         pread: fix compilation on glibc
39523         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
39524         Reported by Ralf Wildenhues.
39525
39526         dirent: fix test failure
39527         * lib/dirent.in.h (includes): Guarantee ino_t.
39528         Reported by Ralf Wildenhues.
39529
39530 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
39531
39532         linkat, renameat: avoid bad free
39533         * lib/at-func2.c (at_func2): Fix typo.
39534         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
39535
39536 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39537
39538         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
39539         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
39540         to avoid failure of symlink test later.
39541
39542 2010-01-06  Eric Blake  <ebb9@byu.net>
39543
39544         stdio, unistd: guarantee ssize_t
39545         * lib/unistd.in.h (includes): Ensure that types required by POSIX
39546         2008 are exposed when needed.
39547         * lib/stdio.in.h (includes): Likewise.
39548         Reported by Ralf Wildenhues.
39549
39550 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
39551
39552         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
39553         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
39554         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
39555
39556 2010-01-06  Jim Meyering  <meyering@redhat.com>
39557
39558         readtokens: this module *does* require xalloc.h
39559         It uses only functions that were omitted by the old syntax-check rule.
39560         * lib/readtokens.c: Include "xalloc.h" once again.
39561         * modules/readtokens (Depends-on): Add xalloc.
39562         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
39563
39564 2010-01-05  Eric Blake  <ebb9@byu.net>
39565
39566         maint: support 'make announcement' from a VPATH build
39567         * top/maint.mk (announcement): Look for correct NEWS file.
39568
39569 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
39570
39571         utimens (fdutimens): ignore a negative FD, per contract
39572         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
39573         when we have a valid file descriptor.  Otherwise, using a brand
39574         new glibc (with just-patched futimens that now fails with EBADF)
39575         would cause this function to fail with ENOSYS.
39576         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
39577         See also http://bugzilla.redhat.com/552320.
39578
39579 2010-01-05  Eric Blake  <ebb9@byu.net>
39580
39581         strcase: document what it provides
39582         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
39583         gnulib module.
39584         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
39585         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
39586
39587 2010-01-05  Jim Meyering  <meyering@redhat.com>
39588
39589         maint: remove useless inclusions of "xalloc.h"
39590         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
39591         * lib/readtokens.c: Likewise.
39592         * lib/same.c: Likewise.
39593         * modules/getloadavg (Depends-on): Remove xalloc.
39594         * modules/readtokens: Likewise.
39595         * modules/same: Likewise.
39596
39597         maint.mk: include 4 more function names in alloca.h-checking regexp
39598         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
39599         regexp.  Before, we would give a false-positive (saying alloca.h
39600         is included unnecessarily) when the only uses involved omitted symbols.
39601
39602         xalloc.h: use consistent formatting
39603         * lib/xalloc.h: Move declarations to start in the first column.
39604
39605 2010-01-05  Eric Blake  <ebb9@byu.net>
39606
39607         mkdir: avoid xalloc
39608         * lib/mkdir.c (includes): Drop unused header.
39609         Reported by John W. Eaton.
39610
39611 2010-01-04  Jim Meyering  <meyering@redhat.com>
39612
39613         nl_langinfo: avoid configure-time syntax error
39614         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
39615         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
39616         the empty string.  Don't let that provoke a shell syntax error.
39617
39618         regcomp, regexec, fnmatch: avoid array bounds read error
39619         * lib/regcomp.c (build_equiv_class): From glibc:
39620         Use only the low 24 bits of a findidx return value as an index
39621         into the weights array.  Patch by Ulrich Drepper:
39622         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
39623         * lib/regexec.c (check_node_accept_bytes): Likewise.
39624         * lib/fnmatch_loop.c (FCT): Likewise.
39625
39626         regcomp: skip collseq lookup when there are no rules
39627         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
39628         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
39629
39630         regcomp: recognize ill-formed { } expressions
39631         * lib/regcomp.c (parse_dup_op): From glibc:
39632         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
39633
39634         regcomp: fix typo in comment
39635         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
39636         s/satisfy/satisfies/.
39637
39638         regcomp: sync from glibc: remove dead store
39639         * lib/regcomp.c (duplicate_node_closure): Remove useless
39640         search_duplicated_node call and dead store.
39641
39642         regcomp: sync from glibc; always use nl_langinfo
39643         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
39644         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
39645         * modules/regex (Depends-on): Add nl_langinfo.
39646
39647 2010-01-04  Eric Blake  <ebb9@byu.net>
39648
39649         fdopendir: fix configure test
39650         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
39651
39652 2010-01-01  Bruno Haible  <bruno@clisp.org>
39653
39654         wchar: Remove unused configure check.
39655         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
39656
39657 2010-01-01  Eric Blake  <ebb9@byu.net>
39658
39659         headers: make check of system header explicit
39660         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
39661         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
39662         ourselves.
39663         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
39664         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39665         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
39666         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
39667         internals.
39668         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
39669         missing.
39670         Suggested by Bruno Haible.
39671
39672 2010-01-01  Jim Meyering  <meyering@redhat.com>
39673
39674         ChangeLog: tweak to eliminate unnecessary copyright line
39675         * ChangeLog: Remove a copyright line that was mistakenly updated
39676         by today's update-copyright run.  Reported by Eric Blake.
39677
39678         test-update-copyright: don't let envvar setting cause test failure
39679         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
39680
39681 2010-01-01  Bruno Haible  <bruno@clisp.org>
39682
39683         localename: Avoid gcc warning.
39684         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
39685         function if it is not used.
39686
39687 2010-01-01  Jim Meyering  <meyering@redhat.com>
39688
39689         update nearly all FSF copyright year lists to include 2010
39690         Use the same procedure as for 2009, outlined in
39691         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
39692
39693         version-etc: set COPYRIGHT_YEAR to 2010
39694         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
39695
39696 2009-12-31  Eric Blake  <ebb9@byu.net>
39697
39698         doc: correct availability of cygwin 1.5.x getopt
39699         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
39700         variables.
39701         * doc/posix-functions/opterr.texi (opterr): Likewise.
39702         * doc/posix-functions/optind.texi (optind): Likewise.
39703         * doc/posix-functions/optopt.texi (optopt): Likewise.
39704         * doc/posix-functions/tzname.texi (tzname): Likewise.
39705
39706         openat: update maintainer
39707         * modules/openat (Maintainer): Add myself.
39708
39709         utimens: avoid shadowing warning
39710         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
39711         buffers into one, to avoid shadowing, as well as avoiding a
39712         redundant stat.
39713         Reported by Jim Meyering.
39714
39715         test-dup2: avoid compiler warning
39716         * tests/test-dup2.c (is_inheritable): Only define if used.
39717
39718 2010-01-01  Bruno Haible  <bruno@clisp.org>
39719
39720         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
39721         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
39722         defined, use wctomb instead of wcrtomb.
39723
39724 2010-01-01  Bruno Haible  <bruno@clisp.org>
39725
39726         iconv: Reject native Solaris iconv.
39727         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
39728         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
39729
39730 2009-12-31  Bruno Haible  <bruno@clisp.org>
39731
39732         * tests/test-signal.c (main): Remove test of 'SIG'.
39733
39734 2009-12-31  Bruno Haible  <bruno@clisp.org>
39735
39736         spawn: Fix incomplete fix.
39737         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39738         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39739         warnings for GNULIB_POSIXCHECK again.
39740         Reported by Eric Blake.
39741
39742 2009-12-31  Bruno Haible  <bruno@clisp.org>
39743
39744         Avoid namespace pollution on glibc systems.
39745         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
39746         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
39747         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
39748         glibc systems.
39749
39750 2009-12-31  Bruno Haible  <bruno@clisp.org>
39751
39752         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
39753         (gl_REPLACE_WCHAR_H): Turn into a no-op.
39754         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
39755         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
39756         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
39757         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
39758         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
39759
39760 2009-12-31  Bruno Haible  <bruno@clisp.org>
39761
39762         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
39763         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
39764         afterwards.
39765
39766 2009-12-31  Bruno Haible  <bruno@clisp.org>
39767
39768         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
39769         SYS_UTSNAME_H.
39770
39771 2009-12-31  Bruno Haible  <bruno@clisp.org>
39772
39773         spawn: Fix misapplied patch.
39774         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39775         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39776         warnings for GNULIB_POSIXCHECK.
39777
39778 2009-12-31  Bruno Haible  <bruno@clisp.org>
39779
39780         times: Update after sys_times changed.
39781         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
39782         * modules/times (Files): Add it.
39783         (configure.ac): Invoke gl_FUNC_TIMES.
39784
39785 2009-12-31  Bruno Haible  <bruno@clisp.org>
39786
39787         Use AC_C_INLINE where necessary.
39788         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
39789         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39790         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
39791         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
39792         * m4/mbfile.m4 (gl_MBFILE): Likewise.
39793         * m4/mbiter.m4 (gl_MBITER): Likewise.
39794         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
39795         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
39796         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
39797         * modules/u64 (configure.ac): Likewise.
39798
39799 2009-12-31  Bruno Haible  <bruno@clisp.org>
39800
39801         Use AC_C_INLINE instead of module 'inline' where possible.
39802         * modules/inline (Description): Clarify purpose.
39803         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
39804         * modules/count-one-bits (Depends-on): Remove inline.
39805         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
39806         * modules/openat (Depends-on): Remove inline.
39807         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
39808         instead of depending on module 'inline'.
39809         * modules/filevercmp (Depends-on, configure.ac): Likewise.
39810         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
39811         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
39812         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
39813         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
39814         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
39815         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
39816         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
39817         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
39818         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
39819         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
39820         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
39821         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
39822         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
39823         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
39824         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
39825         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
39826         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
39827         Likewise.
39828         * modules/unictype/property-ascii-hex-digit (Depends-on,
39829         configure.ac): Likewise.
39830         * modules/unictype/property-bidi-arabic-digit (Depends-on,
39831         configure.ac): Likewise.
39832         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
39833         configure.ac): Likewise.
39834         * modules/unictype/property-bidi-block-separator (Depends-on,
39835         configure.ac): Likewise.
39836         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
39837         configure.ac): Likewise.
39838         * modules/unictype/property-bidi-common-separator (Depends-on,
39839         configure.ac): Likewise.
39840         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
39841         Likewise.
39842         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
39843         configure.ac): Likewise.
39844         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
39845         configure.ac): Likewise.
39846         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
39847         configure.ac): Likewise.
39848         * modules/unictype/property-bidi-european-digit (Depends-on,
39849         configure.ac): Likewise.
39850         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
39851         configure.ac): Likewise.
39852         * modules/unictype/property-bidi-left-to-right (Depends-on,
39853         configure.ac): Likewise.
39854         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
39855         configure.ac): Likewise.
39856         * modules/unictype/property-bidi-other-neutral (Depends-on,
39857         configure.ac): Likewise.
39858         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
39859         Likewise.
39860         * modules/unictype/property-bidi-segment-separator (Depends-on,
39861         configure.ac): Likewise.
39862         * modules/unictype/property-bidi-whitespace (Depends-on,
39863         configure.ac): Likewise.
39864         * modules/unictype/property-combining (Depends-on, configure.ac):
39865         Likewise.
39866         * modules/unictype/property-composite (Depends-on, configure.ac):
39867         Likewise.
39868         * modules/unictype/property-currency-symbol (Depends-on,
39869         configure.ac): Likewise.
39870         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
39871         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
39872         Likewise.
39873         * modules/unictype/property-default-ignorable-code-point (Depends-on,
39874         configure.ac): Likewise.
39875         * modules/unictype/property-deprecated (Depends-on, configure.ac):
39876         Likewise.
39877         * modules/unictype/property-diacritic (Depends-on, configure.ac):
39878         Likewise.
39879         * modules/unictype/property-extender (Depends-on, configure.ac):
39880         Likewise.
39881         * modules/unictype/property-format-control (Depends-on, configure.ac):
39882         Likewise.
39883         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
39884         Likewise.
39885         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
39886         Likewise.
39887         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
39888         Likewise.
39889         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
39890         Likewise.
39891         * modules/unictype/property-hyphen (Depends-on, configure.ac):
39892         Likewise.
39893         * modules/unictype/property-id-continue (Depends-on, configure.ac):
39894         Likewise.
39895         * modules/unictype/property-id-start (Depends-on, configure.ac):
39896         Likewise.
39897         * modules/unictype/property-ideographic (Depends-on, configure.ac):
39898         Likewise.
39899         * modules/unictype/property-ids-binary-operator (Depends-on,
39900         configure.ac): Likewise.
39901         * modules/unictype/property-ids-trinary-operator (Depends-on,
39902         configure.ac): Likewise.
39903         * modules/unictype/property-ignorable-control (Depends-on,
39904         configure.ac): Likewise.
39905         * modules/unictype/property-iso-control (Depends-on, configure.ac):
39906         Likewise.
39907         * modules/unictype/property-join-control (Depends-on, configure.ac):
39908         Likewise.
39909         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
39910         Likewise.
39911         * modules/unictype/property-line-separator (Depends-on, configure.ac):
39912         Likewise.
39913         * modules/unictype/property-logical-order-exception (Depends-on,
39914         configure.ac): Likewise.
39915         * modules/unictype/property-lowercase (Depends-on, configure.ac):
39916         Likewise.
39917         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
39918         * modules/unictype/property-non-break (Depends-on, configure.ac):
39919         Likewise.
39920         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
39921         Likewise.
39922         * modules/unictype/property-numeric (Depends-on, configure.ac):
39923         Likewise.
39924         * modules/unictype/property-other-alphabetic (Depends-on,
39925         configure.ac): Likewise.
39926         * modules/unictype/property-other-default-ignorable-code-point
39927         (Depends-on, configure.ac): Likewise.
39928         * modules/unictype/property-other-grapheme-extend (Depends-on,
39929         configure.ac): Likewise.
39930         * modules/unictype/property-other-id-continue (Depends-on,
39931         configure.ac): Likewise.
39932         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
39933         Likewise.
39934         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
39935         Likewise.
39936         * modules/unictype/property-other-math (Depends-on, configure.ac):
39937         Likewise.
39938         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
39939         Likewise.
39940         * modules/unictype/property-paired-punctuation (Depends-on,
39941         configure.ac): Likewise.
39942         * modules/unictype/property-paragraph-separator (Depends-on,
39943         configure.ac): Likewise.
39944         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
39945         Likewise.
39946         * modules/unictype/property-pattern-white-space (Depends-on,
39947         configure.ac): Likewise.
39948         * modules/unictype/property-private-use (Depends-on, configure.ac):
39949         Likewise.
39950         * modules/unictype/property-punctuation (Depends-on, configure.ac):
39951         Likewise.
39952         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
39953         Likewise.
39954         * modules/unictype/property-radical (Depends-on, configure.ac):
39955         Likewise.
39956         * modules/unictype/property-sentence-terminal (Depends-on,
39957         configure.ac): Likewise.
39958         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
39959         Likewise.
39960         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
39961         * modules/unictype/property-terminal-punctuation (Depends-on,
39962         configure.ac): Likewise.
39963         * modules/unictype/property-titlecase (Depends-on, configure.ac):
39964         Likewise.
39965         * modules/unictype/property-unassigned-code-value (Depends-on,
39966         configure.ac): Likewise.
39967         * modules/unictype/property-unified-ideograph (Depends-on,
39968         configure.ac): Likewise.
39969         * modules/unictype/property-uppercase (Depends-on, configure.ac):
39970         Likewise.
39971         * modules/unictype/property-variation-selector (Depends-on,
39972         configure.ac): Likewise.
39973         * modules/unictype/property-white-space (Depends-on, configure.ac):
39974         Likewise.
39975         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
39976         Likewise.
39977         * modules/unictype/property-xid-start (Depends-on, configure.ac):
39978         Likewise.
39979         * modules/unictype/property-zero-width (Depends-on, configure.ac):
39980         Likewise.
39981         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
39982         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
39983         Likewise.
39984
39985 2009-12-31  Bruno Haible  <bruno@clisp.org>
39986
39987         Remove unnecessary AC_C_INLINE invocation.
39988         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
39989         since 2009-08-21.
39990
39991 2009-12-31  Jim Meyering  <meyering@redhat.com>
39992
39993         maint.mk: don't require explicit gpg_key_ID in cfg.mk
39994         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
39995         With this change, we can all remove the gpg_key_ID = ... definition
39996         from our respective cfg.mk files.
39997
39998         maint.mk: create announcement template in ~/, not in /tmp
39999         * top/maint.mk (emit_upload_commands): Adjust.
40000         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
40001         Remove temporary file, .ci-msg.
40002
40003 2009-12-31  Eric Blake  <ebb9@byu.net>
40004
40005         link-warning: always build headers with link warnings
40006         * modules/arpa_inet (Makefile.am): Always build replacement
40007         header.
40008         * modules/ctype (Makefile.am): Likewise.
40009         * modules/dirent (Makefile.am): Likewise.
40010         * modules/inttypes (Makefile.am): Likewise.
40011         * modules/langinfo (Makefile.am): Likewise.
40012         * modules/locale (Makefile.am): Likewise.
40013         * modules/spawn (Makefile.am): Likewise.
40014         * modules/sys_file (Makefile.am): Likewise.
40015         * modules/sys_ioctl (Makefile.am): Likewise.
40016         * modules/sys_select (Makefile.am): Likewise.
40017         * modules/sys_socket (Makefile.am): Likewise.
40018         * modules/sys_times (Makefile.am): Likewise.
40019         * modules/sys_utsname (Makefile.am): Likewise.
40020         * modules/sys_wait (Makefile.am): Likewise.
40021         * modules/wchar (Makefile.am): Likewise.
40022         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
40023         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
40024         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
40025         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
40026         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
40027         Likewise.
40028         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
40029         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
40030         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
40031         Likewise.
40032         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
40033         Likewise.
40034         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
40035         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
40036         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
40037         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
40038         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
40039         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
40040         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
40041         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
40042         (gl_WCHAR_H_DEFAULTS): Likewise.
40043
40044 2009-12-31  Eric Blake  <ebb9@byu.net>
40045
40046         signal, spawn: use link warnings
40047         * lib/signal.in.h (sigset_t): Make unconditional.
40048         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
40049         (sigpending, sigprocmask, sigaction): Add link warnings.
40050         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
40051         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
40052         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
40053         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
40054         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
40055         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
40056         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
40057         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
40058         (posix_spawn_file_actions_destroy)
40059         (posix_spawn_file_actions_addopen)
40060         (posix_spawn_file_actions_addclose)
40061         (posix_spawn_file_actions_adddup2): Likewise.
40062         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
40063         * tests/test-signal.c (main): Enhance test.
40064
40065         spawn: improve wrapper support
40066         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
40067         (gl_SPAWN_H_DEFAULTS): New defaults.
40068         * modules/spawn (Makefile.am): Substitute them.
40069         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
40070         Only declare if missing or broken.
40071
40072         sys_times, sys_utsname: use include_next
40073         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
40074         header.
40075         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
40076         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
40077         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
40078         * modules/sys_times (Depends-on): Add include_next.
40079         (Makefile.am): Substitute additional values.
40080         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
40081         * lib/sys_times.in.h (includes): Include native header, if
40082         available.
40083         * lib/sys_utsname.in.h (includes): Likewise.
40084         * tests/test-sys_times.c (main): Enhance test.
40085
40086         fdutimensat: revert prior patch
40087         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
40088         utimens.h.
40089         Reported by Bruno Haible.
40090
40091 2009-12-30  Eric Blake  <ebb9@byu.net>
40092
40093         sys_wait: drop link-warning dependency
40094         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
40095         link-warning efforts.
40096         * lib/sys_wait.in.h: Likewise.
40097
40098         fdutimensat: remove bogus dependency
40099         * modules/fdutimensat (Depends-on): Drop inline.
40100
40101         unistd: fix typo
40102         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
40103
40104 2009-12-30  Bruno Haible  <bruno@clisp.org>
40105
40106         Fix compilation error with Solaris cc.
40107         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
40108         * lib/unicase/u16-is-invariant.c: Likewise.
40109         * lib/unicase/u32-is-invariant.c: Likewise.
40110         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
40111
40112 2009-12-30  Bruno Haible  <bruno@clisp.org>
40113
40114         Fix test crash.
40115         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
40116         locales.
40117         Reported by Simon Josefsson <simon@josefsson.org>.
40118
40119 2009-12-30  Bruno Haible  <bruno@clisp.org>
40120
40121         Fix compilation error on most platforms.
40122         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
40123         Reported by Simon Josefsson <simon@josefsson.org>
40124         and Nelson H. F. Beebe <beebe@math.utah.edu>.
40125
40126 2009-12-30  Eric Blake  <ebb9@byu.net>
40127
40128         futimens, utimensat: work around ntfs-3g bug
40129         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
40130         a ctime bug is present, and expand workaround to cover ntfs-3g.
40131         * lib/utimens.c (fdutimens, lutimens): Likewise.
40132         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
40133         (validate_timespec): Adjust return value.
40134         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
40135         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
40136         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
40137
40138 2009-12-29  Eric Blake  <ebb9@byu.net>
40139
40140         link-warning: make usage consistent
40141         * modules/ctype (Depends-on): Add link-warning.
40142         (Makefile.am): Update rules accordingly.
40143         * modules/langinfo (Depends-on, Makefile.am): Likewise.
40144         * modules/locale (Depends-on, Makefile.am): Likewise.
40145         * modules/sys_file (Makefile.am): Likewise.
40146         * modules/getopt-posix (Makefile.am): Delete unused link warning
40147         efforts.
40148         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
40149         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
40150         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
40151         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
40152
40153         stdio: remove unused variables
40154         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
40155         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
40156         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
40157
40158         tests: test more substitute headers
40159         * modules/ctype-tests: New file.
40160         * modules/dirent-tests: Likewise.
40161         * modules/spawn-tests: Likewise.
40162         * modules/sys_file-tests: Likewise.
40163         * modules/sys_ioctl-tests: Likewise.
40164         * modules/sys_wait-tests: Likewise.
40165         * tests/test-ctype.c: Likewise.
40166         * tests/test-dirent.c: Likewise.
40167         * tests/test-spawn.c: Likewise.
40168         * tests/test-sys_file.c: Likewise.
40169         * tests/test-sys_ioctl.c: Likewise.
40170         * tests/test-sys_wait.c: Likewise.
40171         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
40172         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
40173         whether or not flock is in use.
40174
40175         tests: remove License section from module
40176         * modules/arpa_inet-tests: Remove unneeded section.
40177         * modules/byteswap-tests: Likewise.
40178         * modules/ceilf-tests: Likewise.
40179         * modules/ceill-tests: Likewise.
40180         * modules/crypto/des-tests: Likewise.
40181         * modules/crypto/gc-arcfour-tests: Likewise.
40182         * modules/crypto/gc-arctwo-tests: Likewise.
40183         * modules/crypto/gc-des-tests: Likewise.
40184         * modules/crypto/gc-hmac-md5-tests: Likewise.
40185         * modules/crypto/gc-hmac-sha1-tests: Likewise.
40186         * modules/crypto/gc-md2-tests: Likewise.
40187         * modules/crypto/gc-md4-tests: Likewise.
40188         * modules/crypto/gc-md5-tests: Likewise.
40189         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
40190         * modules/crypto/gc-rijndael-tests: Likewise.
40191         * modules/crypto/gc-sha1-tests: Likewise.
40192         * modules/crypto/gc-tests: Likewise.
40193         * modules/crypto/md2-tests: Likewise.
40194         * modules/crypto/md4-tests: Likewise.
40195         * modules/fcntl-h-tests: Likewise.
40196         * modules/floorf-tests: Likewise.
40197         * modules/floorl-tests: Likewise.
40198         * modules/frexp-nolibm-tests: Likewise.
40199         * modules/frexp-tests: Likewise.
40200         * modules/frexpl-nolibm-tests: Likewise.
40201         * modules/frexpl-tests: Likewise.
40202         * modules/getaddrinfo-tests: Likewise.
40203         * modules/inttypes-tests: Likewise.
40204         * modules/isfinite-tests: Likewise.
40205         * modules/isinf-tests: Likewise.
40206         * modules/ldexpl-tests: Likewise.
40207         * modules/locale-tests: Likewise.
40208         * modules/math-tests: Likewise.
40209         * modules/netdb-tests: Likewise.
40210         * modules/netinet_in-tests: Likewise.
40211         * modules/printf-frexp-tests: Likewise.
40212         * modules/printf-frexpl-tests: Likewise.
40213         * modules/priv-set-tests: Likewise.
40214         * modules/random_r-tests: Likewise.
40215         * modules/round-tests: Likewise.
40216         * modules/roundf-tests: Likewise.
40217         * modules/roundl-tests: Likewise.
40218         * modules/search-tests: Likewise.
40219         * modules/select-tests: Likewise.
40220         * modules/signal-tests: Likewise.
40221         * modules/stdbool-tests: Likewise.
40222         * modules/stddef-tests: Likewise.
40223         * modules/stdint-tests: Likewise.
40224         * modules/stdio-tests: Likewise.
40225         * modules/stdlib-tests: Likewise.
40226         * modules/string-tests: Likewise.
40227         * modules/strings-tests: Likewise.
40228         * modules/sys_select-tests: Likewise.
40229         * modules/sys_socket-tests: Likewise.
40230         * modules/sys_stat-tests: Likewise.
40231         * modules/sys_time-tests: Likewise.
40232         * modules/sys_utsname-tests: Likewise.
40233         * modules/sysexits-tests: Likewise.
40234         * modules/time-tests: Likewise.
40235         * modules/trunc-tests: Likewise.
40236         * modules/truncf-tests: Likewise.
40237         * modules/truncl-tests: Likewise.
40238         * modules/tsearch-tests: Likewise.
40239         * modules/unistd-tests: Likewise.
40240         * modules/wchar-tests: Likewise.
40241         * modules/wctype-tests: Likewise.
40242
40243         tests: fix license on several tests
40244         * tests/test-des.c: Update to GPLv3+.
40245         * tests/test-flock.c: Likewise.
40246         * tests/test-fsync.c: Likewise.
40247         * tests/test-futimens.h: Likewise.
40248         * tests/test-gc-arcfour.c: Likewise.
40249         * tests/test-gc-arctwo.c: Likewise.
40250         * tests/test-gc-des.c: Likewise.
40251         * tests/test-gc-hmac-md5.c: Likewise.
40252         * tests/test-gc-hmac-sha1.c: Likewise.
40253         * tests/test-gc-md2.c: Likewise.
40254         * tests/test-gc-md4.c: Likewise.
40255         * tests/test-gc-md5.c: Likewise.
40256         * tests/test-gc-pbkdf2-sha1.c: Likewise.
40257         * tests/test-gc-rijndael.c: Likewise.
40258         * tests/test-gc-sha1.c: Likewise.
40259         * tests/test-gc.c: Likewise.
40260         * tests/test-getcwd.c: Likewise.
40261         * tests/test-link.c: Likewise.
40262         * tests/test-link.h: Likewise.
40263         * tests/test-lutimens.h: Likewise.
40264         * tests/test-md2.c: Likewise.
40265         * tests/test-md4.c: Likewise.
40266         * tests/test-mkdir.h: Likewise.
40267         * tests/test-rename.c: Likewise.
40268         * tests/test-rename.h: Likewise.
40269         * tests/test-safe-alloc.c: Likewise.
40270         * tests/test-utimens-common.h: Likewise.
40271         * tests/test-utimens.h: Likewise.
40272
40273         maint: sync license texts
40274         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
40275         * doc/gpl-3.0.texi: Revert copyright year update.
40276         * doc/lgpl-3.0.texi: Likewise.
40277
40278 2009-12-29  Jim Meyering  <meyering@redhat.com>
40279
40280         update nearly all FSF copyright year lists to include 2009
40281         The files named by the following are exempted:
40282             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
40283               test -f "$dst" && { echo "$dst"; continue; }
40284               test -d "$dst" || continue
40285               echo "$dst"/$(basename "$src")
40286             done > exempt
40287             git ls-files tests/unictype >> exempt
40288         In the remaining files, convert to all-interval notation if
40289         - there is already at least one year interval like 2000-2003
40290         - the file is maintained by me
40291         - the file is in lib/uni*/, where that style already prevails
40292         Otherwise, use update-copyright's default.
40293
40294 2009-12-29  Simon Josefsson  <simon@josefsson.org>
40295         and Eric Blake  <ebb9@byu.net>
40296
40297         tests: don't require debug system() to pass
40298         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
40299         * tests/test-rmdir.h (test_rmdir_func): Likewise.
40300         * tests/test-unlink.h (test_unlink_func): Likewise.
40301         * tests/test-fstatat.c (main): ...into callers.
40302         * tests/test-lstat.c (main): Likewise.
40303         * tests/test-rmdir.c (main): Likewise.
40304         * tests/test-unlink.c (main): Likewise.
40305         * tests/test-unlinkat.c (main): Likewise.
40306         * tests/test-areadlink-with-size.c (main): Don't require a
40307         debug-only system call to pass, aiding cross-testing to mingw.
40308         * tests/test-areadlink.c (main): Likewise.
40309         * tests/test-areadlinkat-with-size.c (main): Likewise.
40310         * tests/test-areadlinkat.c (main): Likewise.
40311         * tests/test-canonicalize-lgpl.c (main): Likewise.
40312         * tests/test-canonicalize.c (main): Likewise.
40313         * tests/test-chown.c (main): Likewise.
40314         * tests/test-fchownat.c (main): Likewise.
40315         * tests/test-lchown.c (main): Likewise.
40316         * tests/test-fdutimensat.c (main): Likewise.
40317         * tests/test-futimens.c (main): Likewise.
40318         * tests/test-link.c (main): Likewise.
40319         * tests/test-linkat.c (main): Likewise.
40320         * tests/test-mkdir.c (main): Likewise.
40321         * tests/test-mkdirat.c (main): Likewise.
40322         * tests/test-mkfifo.c (main): Likewise.
40323         * tests/test-mkfifoat.c (main): Likewise.
40324         * tests/test-mknod.c (main): Likewise.
40325         * tests/test-readlink.c (main): Likewise.
40326         * tests/test-remove.c (main): Likewise.
40327         * tests/test-rename.c (main): Likewise.
40328         * tests/test-renameat.c (main): Likewise.
40329         * tests/test-symlink.c (main): Likewise.
40330         * tests/test-symlinkat.c (main): Likewise.
40331         * tests/test-utimens.c (main): Likewise.
40332         * tests/test-utimensat.c (main): Likewise.
40333
40334 2009-12-29  Simon Josefsson  <simon@josefsson.org>
40335
40336         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
40337         on $(UNUSED_PARAMETER_H) to avoid build failure.
40338
40339 2009-12-28  Jim Meyering  <meyering@redhat.com>
40340
40341         update-copyright: you may specify a max. line length other than 72
40342         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
40343
40344         maint: use consistent FSF copyright line syntax
40345         * lib/posixtm.c: Add missing comma in FSF copyright line.
40346         * lib/posixtm.h: Likewise.
40347         * lib/getugroups.c: Add missing ", Inc.".
40348
40349         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
40350         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
40351         FSF copyright line.  Remove trailing blanks.
40352
40353 2009-12-28  Eric Blake  <ebb9@byu.net>
40354
40355         test-dup2: reduce dependencies
40356         * modules/cloexec (Configure.ac): Set witness.
40357         * modules/dup2-tests (Depends-on): Drop cloexec.
40358         * tests/test-dup2.c (main): Skip portion of test if cloexec module
40359         not present.
40360         Suggested by Bruno Haible.
40361
40362 2009-12-26  Bruno Haible  <bruno@clisp.org>
40363
40364         Remove an unneeded dependency.
40365         * modules/fseterr (Depends-on): Remove dup2.
40366
40367 2009-12-26  Eric Blake  <ebb9@byu.net>
40368
40369         tests: use macros.h in more places
40370         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
40371         (ASSERT_STREAM): Provide default of stderr.
40372         * tests/test-dirent-safer.c: Include macros.h, using alternate
40373         stream for assertions.
40374         * tests/test-dup-safer.c: Likewise.
40375         * tests/test-freopen-safer.c: Likewise.
40376         * tests/test-getopt.c: Likewise.
40377         * tests/test-openat-safer.c: Likewise.
40378         * tests/test-pipe.c: Likewise.
40379         * tests/test-popen-safer.c: Likewise.
40380         * modules/dirent-safer-tests (Files): Include macros.h.
40381         * modules/unistd-safer-tests (Files): Likewise.
40382         * modules/freopen-safer-tests (Files): Likewise.
40383         * modules/getopt-posix-tests (Files): Likewise.
40384         * modules/openat-safer-tests (Files): Likewise.
40385         * modules/pipe-tests (Files): Likewise.
40386
40387 2009-12-26  Bruno Haible  <bruno@clisp.org>
40388
40389         javacomp: Portability fix.
40390         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
40391         that it also works on Solaris.
40392
40393 2009-12-26  Bruno Haible  <bruno@clisp.org>
40394
40395         localename: Fix storage allocation of gl_locale_name_thread's result.
40396         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
40397         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
40398         all platforms that have 'uselocale'.
40399         (gl_locale_name_thread_unsafe): New function, extracted from
40400         gl_locale_name_thread.
40401         (gl_locale_name_thread): Call struniq on all platforms that have
40402         'uselocale'.
40403         * tests/test-localename.c (test_locale_name_thread): Check that the
40404         resulting strings are permanently allocated.
40405         * modules/localename-tests (Depends-on): Add strdup.
40406
40407 2009-12-26  Bruno Haible  <bruno@clisp.org>
40408
40409         * tests/test-localename.c (categories): Fill in the strings.
40410
40411 2009-12-26  Jim Meyering  <meyering@redhat.com>
40412
40413         isdir: complete the removal of m4/isdir.m4
40414         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
40415
40416         isdir: clean up, since at least grep still uses it
40417         * lib/isdir.c: Include "isdir.h".
40418         (S_ISDIR): Remove now-unneeded definition.
40419         * modules/isdir (Files): Add lib/isdir.h.
40420         * lib/isdir.h: New file, with declaration.
40421         * m4/isdir.m4: Remove file -- unneeded.
40422
40423 2009-12-25  Bruno Haible  <bruno@clisp.org>
40424
40425         selinux-h: Make generated .h files standalone.
40426         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
40427         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
40428         * lib/se-selinux.in.h: Likewise.
40429         * modules/selinux-h (Depends-on): Add unused-parameter.
40430         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
40431         selinux/selinux.h and selinux/context.h.
40432         Suggested by Eric Blake.
40433
40434 2009-12-25  Bruno Haible  <bruno@clisp.org>
40435
40436         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
40437         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
40438         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
40439         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
40440         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
40441
40442 2009-12-24  Bruno Haible  <bruno@clisp.org>
40443
40444         openat: Fix warning.
40445         * lib/openat-proc.c: Include <unistd.h>.
40446
40447 2009-12-24  Bruno Haible  <bruno@clisp.org>
40448
40449         New module 'unused-parameter'.
40450         * build-aux/unused-parameter.h: New file, extracted from earlier
40451         gnulib-common.m4.
40452         * modules/unused-parameter: New file.
40453         * lib/unistr.h: Include unused-parameter.h.
40454         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
40455         _GL_UNUSED.
40456         * modules/unistr/base (Depends-on): Add unused-parameter.
40457
40458 2009-12-24  Bruno Haible  <bruno@clisp.org>
40459
40460         Add missing dependencies to 'extensions' module.
40461         * m4/extensions.m4: Add comment.
40462         * modules/accept4 (Depends-on): Add extensions.
40463         * modules/dup3 (Depends-on): Likewise.
40464         * modules/fcntl (Depends-on): Likewise.
40465         * modules/futimens (Depends-on): Likewise.
40466         * modules/mknod (Depends-on): Likewise.
40467         * modules/pipe2 (Depends-on): Likewise.
40468         * modules/stat-time (Depends-on): Likewise.
40469         * modules/strcasestr-simple (Depends-on): Likewise.
40470         * modules/strsignal (Depends-on): Likewise.
40471         * modules/utimensat (Depends-on): Likewise.
40472         * modules/localcharset (Depends-on): Likewise. Needed because of
40473         gl_FCNTL_O_FLAGS.
40474         * modules/wcrtomb (Depends-on): Likewise. Needed because of
40475         AC_TYPE_MBSTATE_T.
40476         * modules/wcsnrtombs (Depends-on): Likewise.
40477         * modules/wcsrtombs (Depends-on): Likewise.
40478
40479 2009-12-24  Bruno Haible  <bruno@clisp.org>
40480
40481         binary-io: Avoid gcc warning due to SET_BINARY.
40482         * lib/binary-io.h (SET_BINARY): Cast the result to void.
40483         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
40484
40485 2009-12-24  Bruno Haible  <bruno@clisp.org>
40486
40487         Avoid future namespace pollution on glibc systems.
40488         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
40489         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
40490         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
40491         glibc systems.
40492
40493 2009-12-24  Bruno Haible  <bruno@clisp.org>
40494
40495         Refactor common macros used in tests.
40496         * tests/macros.h: New file.
40497         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
40498         and/or <stdlib.h>, if appropriate.
40499         (ASSERT, SIZEOF): Remove macros.
40500         * tests/test-areadlink-with-size.c: Likewise.
40501         * tests/test-areadlinkat.c: Likewise.
40502         * tests/test-areadlinkat-with-size.c: Likewise.
40503         * tests/test-argmatch.c: Likewise.
40504         * tests/test-argv-iter.c: Likewise.
40505         * tests/test-array-mergesort.c: Likewise.
40506         * tests/test-array_list.c: Likewise.
40507         * tests/test-array_oset.c: Likewise.
40508         * tests/test-avltree_list.c: Likewise.
40509         * tests/test-avltree_oset.c: Likewise.
40510         * tests/test-avltreehash_list.c: Likewise.
40511         * tests/test-base64.c: Likewise.
40512         * tests/test-binary-io.c: Likewise.
40513         * tests/test-bitrotate.c: Likewise.
40514         * tests/test-btowc.c: Likewise.
40515         * tests/test-byteswap.c: Likewise.
40516         * tests/test-c-ctype.c: Likewise.
40517         * tests/test-c-stack.c: Likewise.
40518         * tests/test-c-strcasecmp.c: Likewise.
40519         * tests/test-c-strcasestr.c: Likewise.
40520         * tests/test-c-strncasecmp.c: Likewise.
40521         * tests/test-c-strstr.c: Likewise.
40522         * tests/test-canonicalize-lgpl.c: Likewise.
40523         * tests/test-canonicalize.c: Likewise.
40524         * tests/test-carray_list.c: Likewise.
40525         * tests/test-ceilf1.c: Likewise.
40526         * tests/test-ceilf2.c: Likewise.
40527         * tests/test-ceill.c: Likewise.
40528         * tests/test-chown.c: Likewise.
40529         * tests/test-cloexec.c: Likewise.
40530         * tests/test-copy-acl.c: Likewise.
40531         * tests/test-copy-file.c: Likewise.
40532         * tests/test-count-one-bits.c: Likewise.
40533         * tests/test-dprintf-posix.c: Likewise.
40534         * tests/test-dup2.c: Likewise.
40535         * tests/test-dup3.c: Likewise.
40536         * tests/test-duplocale.c: Likewise.
40537         * tests/test-fbufmode.c: Likewise.
40538         * tests/test-fchdir.c: Likewise.
40539         * tests/test-fchownat.c: Likewise.
40540         * tests/test-fcntl-safer.c: Likewise.
40541         * tests/test-fcntl.c: Likewise.
40542         * tests/test-fdopendir.c: Likewise.
40543         * tests/test-fdutimensat.c: Likewise.
40544         * tests/test-fflush2.c: Likewise.
40545         * tests/test-file-has-acl.c: Likewise.
40546         * tests/test-filevercmp.c: Likewise.
40547         * tests/test-flock.c: Likewise.
40548         * tests/test-floorf1.c: Likewise.
40549         * tests/test-floorf2.c: Likewise.
40550         * tests/test-floorl.c: Likewise.
40551         * tests/test-fnmatch.c: Likewise.
40552         * tests/test-fopen.h: Likewise.
40553         * tests/test-fpending.c: Likewise.
40554         * tests/test-fprintf-posix.c: Likewise.
40555         * tests/test-fpurge.c: Likewise.
40556         * tests/test-freadable.c: Likewise.
40557         * tests/test-freadahead.c: Likewise.
40558         * tests/test-freading.c: Likewise.
40559         * tests/test-freadptr.c: Likewise.
40560         * tests/test-freadptr2.c: Likewise.
40561         * tests/test-freadseek.c: Likewise.
40562         * tests/test-freopen.c: Likewise.
40563         * tests/test-frexp.c: Likewise.
40564         * tests/test-frexpl.c: Likewise.
40565         * tests/test-fseek.c: Likewise.
40566         * tests/test-fseeko.c: Likewise.
40567         * tests/test-fstatat.c: Likewise.
40568         * tests/test-fstrcmp.c: Likewise.
40569         * tests/test-fsync.c: Likewise.
40570         * tests/test-ftell.c: Likewise.
40571         * tests/test-ftello.c: Likewise.
40572         * tests/test-func.c: Likewise.
40573         * tests/test-futimens.c: Likewise.
40574         * tests/test-fwritable.c: Likewise.
40575         * tests/test-fwriting.c: Likewise.
40576         * tests/test-getcwd.c: Likewise.
40577         * tests/test-getdate.c: Likewise.
40578         * tests/test-getdelim.c: Likewise.
40579         * tests/test-getdtablesize.c: Likewise.
40580         * tests/test-getgroups.c: Likewise.
40581         * tests/test-getline.c: Likewise.
40582         * tests/test-getndelim2.c: Likewise.
40583         * tests/test-glob.c: Likewise.
40584         * tests/test-hash.c: Likewise.
40585         * tests/test-i-ring.c: Likewise.
40586         * tests/test-iconv-utf.c: Likewise.
40587         * tests/test-iconv.c: Likewise.
40588         * tests/test-idpriv-drop.c: Likewise.
40589         * tests/test-idpriv-droptemp.c: Likewise.
40590         * tests/test-inet_ntop.c: Likewise.
40591         * tests/test-inet_pton.c: Likewise.
40592         * tests/test-isblank.c: Likewise.
40593         * tests/test-isfinite.c: Likewise.
40594         * tests/test-isinf.c: Likewise.
40595         * tests/test-isnan.c: Likewise.
40596         * tests/test-isnand.h: Likewise.
40597         * tests/test-isnanf.h: Likewise.
40598         * tests/test-isnanl.h: Likewise.
40599         * tests/test-lchown.c: Likewise.
40600         * tests/test-ldexpl.c: Likewise.
40601         * tests/test-link.c: Likewise.
40602         * tests/test-linkat.c: Likewise.
40603         * tests/test-linked_list.c: Likewise.
40604         * tests/test-linkedhash_list.c: Likewise.
40605         * tests/test-localename.c: Likewise.
40606         * tests/test-lseek.c: Likewise.
40607         * tests/test-lstat.c: Likewise.
40608         * tests/test-mbmemcasecmp.c: Likewise.
40609         * tests/test-mbmemcasecoll.c: Likewise.
40610         * tests/test-mbrtowc.c: Likewise.
40611         * tests/test-mbscasecmp.c: Likewise.
40612         * tests/test-mbscasestr1.c: Likewise.
40613         * tests/test-mbscasestr2.c: Likewise.
40614         * tests/test-mbscasestr3.c: Likewise.
40615         * tests/test-mbscasestr4.c: Likewise.
40616         * tests/test-mbschr.c: Likewise.
40617         * tests/test-mbscspn.c: Likewise.
40618         * tests/test-mbsinit.c: Likewise.
40619         * tests/test-mbsncasecmp.c: Likewise.
40620         * tests/test-mbsnrtowcs.c: Likewise.
40621         * tests/test-mbspbrk.c: Likewise.
40622         * tests/test-mbspcasecmp.c: Likewise.
40623         * tests/test-mbsrchr.c: Likewise.
40624         * tests/test-mbsrtowcs.c: Likewise.
40625         * tests/test-mbsspn.c: Likewise.
40626         * tests/test-mbsstr1.c: Likewise.
40627         * tests/test-mbsstr2.c: Likewise.
40628         * tests/test-mbsstr3.c: Likewise.
40629         * tests/test-memchr.c: Likewise.
40630         * tests/test-memchr2.c: Likewise.
40631         * tests/test-memcmp.c: Likewise.
40632         * tests/test-memmem.c: Likewise.
40633         * tests/test-memrchr.c: Likewise.
40634         * tests/test-mkdir.c: Likewise.
40635         * tests/test-mkdirat.c: Likewise.
40636         * tests/test-mkfifo.c: Likewise.
40637         * tests/test-mkfifoat.c: Likewise.
40638         * tests/test-mknod.c: Likewise.
40639         * tests/test-nanosleep.c: Likewise.
40640         * tests/test-nl_langinfo.c: Likewise.
40641         * tests/test-obstack-printf.c: Likewise.
40642         * tests/test-open.c: Likewise.
40643         * tests/test-openat.c: Likewise.
40644         * tests/test-pipe-filter-gi1.c: Likewise.
40645         * tests/test-pipe-filter-gi2-main.c: Likewise.
40646         * tests/test-pipe-filter-ii1.c: Likewise.
40647         * tests/test-pipe-filter-ii2-main.c: Likewise.
40648         * tests/test-pipe2.c: Likewise.
40649         * tests/test-popen.h: Likewise.
40650         * tests/test-posixtm.c: Likewise.
40651         * tests/test-pread.c: Likewise.
40652         * tests/test-printf-frexp.c: Likewise.
40653         * tests/test-printf-frexpl.c: Likewise.
40654         * tests/test-printf-posix.c: Likewise.
40655         * tests/test-priv-set.c: Likewise.
40656         * tests/test-quotearg.c: Likewise.
40657         * tests/test-random_r.c: Likewise.
40658         * tests/test-rawmemchr.c: Likewise.
40659         * tests/test-rbtree_list.c: Likewise.
40660         * tests/test-rbtree_oset.c: Likewise.
40661         * tests/test-rbtreehash_list.c: Likewise.
40662         * tests/test-readlink.c: Likewise.
40663         * tests/test-remove.c: Likewise.
40664         * tests/test-rename.c: Likewise.
40665         * tests/test-renameat.c: Likewise.
40666         * tests/test-rmdir.c: Likewise.
40667         * tests/test-round1.c: Likewise.
40668         * tests/test-roundf1.c: Likewise.
40669         * tests/test-roundl.c: Likewise.
40670         * tests/test-safe-alloc.c: Likewise.
40671         * tests/test-sameacls.c: Likewise.
40672         * tests/test-set-mode-acl.c: Likewise.
40673         * tests/test-setenv.c: Likewise.
40674         * tests/test-sigaction.c: Likewise.
40675         * tests/test-signbit.c: Likewise.
40676         * tests/test-sleep.c: Likewise.
40677         * tests/test-snprintf-posix.c: Likewise.
40678         * tests/test-snprintf.c: Likewise.
40679         * tests/test-sprintf-posix.c: Likewise.
40680         * tests/test-stat-time.c: Likewise.
40681         * tests/test-stat.c: Likewise.
40682         * tests/test-strcasestr.c: Likewise.
40683         * tests/test-strchrnul.c: Likewise.
40684         * tests/test-strerror.c: Likewise.
40685         * tests/test-striconv.c: Likewise.
40686         * tests/test-striconveh.c: Likewise.
40687         * tests/test-striconveha.c: Likewise.
40688         * tests/test-strsignal.c: Likewise.
40689         * tests/test-strstr.c: Likewise.
40690         * tests/test-strtod.c: Likewise.
40691         * tests/test-strverscmp.c: Likewise.
40692         * tests/test-symlink.c: Likewise.
40693         * tests/test-symlinkat.c: Likewise.
40694         * tests/test-trunc1.c: Likewise.
40695         * tests/test-trunc2.c: Likewise.
40696         * tests/test-truncf1.c: Likewise.
40697         * tests/test-truncf2.c: Likewise.
40698         * tests/test-truncl.c: Likewise.
40699         * tests/test-uname.c: Likewise.
40700         * tests/test-unlink.c: Likewise.
40701         * tests/test-unlinkat.c: Likewise.
40702         * tests/test-unsetenv.c: Likewise.
40703         * tests/test-usleep.c: Likewise.
40704         * tests/test-utimens.c: Likewise.
40705         * tests/test-utimensat.c: Likewise.
40706         * tests/test-vasnprintf-posix.c: Likewise.
40707         * tests/test-vasnprintf-posix2.c: Likewise.
40708         * tests/test-vasnprintf.c: Likewise.
40709         * tests/test-vasprintf-posix.c: Likewise.
40710         * tests/test-vasprintf.c: Likewise.
40711         * tests/test-vdprintf-posix.c: Likewise.
40712         * tests/test-vfprintf-posix.c: Likewise.
40713         * tests/test-vprintf-posix.c: Likewise.
40714         * tests/test-vsnprintf-posix.c: Likewise.
40715         * tests/test-vsnprintf.c: Likewise.
40716         * tests/test-vsprintf-posix.c: Likewise.
40717         * tests/test-wcrtomb.c: Likewise.
40718         * tests/test-wcsnrtombs.c: Likewise.
40719         * tests/test-wcsrtombs.c: Likewise.
40720         * tests/test-wctype.c: Likewise.
40721         * tests/test-wcwidth.c: Likewise.
40722         * tests/test-xfprintf-posix.c: Likewise.
40723         * tests/test-xmemdup0.c: Likewise.
40724         * tests/test-xprintf-posix.c: Likewise.
40725         * tests/test-xvasprintf.c: Likewise.
40726         * tests/unicase/test-locale-language.c: Likewise.
40727         * tests/unicase/test-mapping-part1.h: Likewise.
40728         * tests/unicase/test-predicate-part1.h: Likewise.
40729         * tests/unicase/test-u8-casecmp.c: Likewise.
40730         * tests/unicase/test-u8-casecoll.c: Likewise.
40731         * tests/unicase/test-u8-casefold.c: Likewise.
40732         * tests/unicase/test-u8-is-cased.c: Likewise.
40733         * tests/unicase/test-u8-is-casefolded.c: Likewise.
40734         * tests/unicase/test-u8-is-lowercase.c: Likewise.
40735         * tests/unicase/test-u8-is-titlecase.c: Likewise.
40736         * tests/unicase/test-u8-is-uppercase.c: Likewise.
40737         * tests/unicase/test-u8-tolower.c: Likewise.
40738         * tests/unicase/test-u8-totitle.c: Likewise.
40739         * tests/unicase/test-u8-toupper.c: Likewise.
40740         * tests/unicase/test-u16-casecmp.c: Likewise.
40741         * tests/unicase/test-u16-casecoll.c: Likewise.
40742         * tests/unicase/test-u16-casefold.c: Likewise.
40743         * tests/unicase/test-u16-is-cased.c: Likewise.
40744         * tests/unicase/test-u16-is-casefolded.c: Likewise.
40745         * tests/unicase/test-u16-is-lowercase.c: Likewise.
40746         * tests/unicase/test-u16-is-titlecase.c: Likewise.
40747         * tests/unicase/test-u16-is-uppercase.c: Likewise.
40748         * tests/unicase/test-u16-tolower.c: Likewise.
40749         * tests/unicase/test-u16-totitle.c: Likewise.
40750         * tests/unicase/test-u16-toupper.c: Likewise.
40751         * tests/unicase/test-u32-casecmp.c: Likewise.
40752         * tests/unicase/test-u32-casecoll.c: Likewise.
40753         * tests/unicase/test-u32-casefold.c: Likewise.
40754         * tests/unicase/test-u32-is-cased.c: Likewise.
40755         * tests/unicase/test-u32-is-casefolded.c: Likewise.
40756         * tests/unicase/test-u32-is-lowercase.c: Likewise.
40757         * tests/unicase/test-u32-is-titlecase.c: Likewise.
40758         * tests/unicase/test-u32-is-uppercase.c: Likewise.
40759         * tests/unicase/test-u32-tolower.c: Likewise.
40760         * tests/unicase/test-u32-totitle.c: Likewise.
40761         * tests/unicase/test-u32-toupper.c: Likewise.
40762         * tests/unicase/test-ulc-casecmp.c: Likewise.
40763         * tests/unicase/test-ulc-casecoll.c: Likewise.
40764         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
40765         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
40766         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
40767         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
40768         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
40769         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
40770         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
40771         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
40772         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
40773         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
40774         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
40775         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
40776         * tests/unictype/test-bidi_byname.c: Likewise.
40777         * tests/unictype/test-bidi_name.c: Likewise.
40778         * tests/unictype/test-bidi_of.c: Likewise.
40779         * tests/unictype/test-bidi_test.c: Likewise.
40780         * tests/unictype/test-block_list.c: Likewise.
40781         * tests/unictype/test-block_of.c: Likewise.
40782         * tests/unictype/test-block_test.c: Likewise.
40783         * tests/unictype/test-categ_and.c: Likewise.
40784         * tests/unictype/test-categ_and_not.c: Likewise.
40785         * tests/unictype/test-categ_byname.c: Likewise.
40786         * tests/unictype/test-categ_name.c: Likewise.
40787         * tests/unictype/test-categ_none.c: Likewise.
40788         * tests/unictype/test-categ_of.c: Likewise.
40789         * tests/unictype/test-categ_or.c: Likewise.
40790         * tests/unictype/test-categ_test_withtable.c: Likewise.
40791         * tests/unictype/test-combining.c: Likewise.
40792         * tests/unictype/test-decdigit.c: Likewise.
40793         * tests/unictype/test-digit.c: Likewise.
40794         * tests/unictype/test-mirror.c: Likewise.
40795         * tests/unictype/test-numeric.c: Likewise.
40796         * tests/unictype/test-pr_byname.c: Likewise.
40797         * tests/unictype/test-pr_test.c: Likewise.
40798         * tests/unictype/test-predicate-part1.h: Likewise.
40799         * tests/unictype/test-scripts.c: Likewise.
40800         * tests/unictype/test-sy_c_ident.c: Likewise.
40801         * tests/unictype/test-sy_java_ident.c: Likewise.
40802         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
40803         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
40804         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
40805         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
40806         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
40807         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
40808         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
40809         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
40810         * tests/uninorm/test-canonical-decomposition.c: Likewise.
40811         * tests/uninorm/test-compat-decomposition.c: Likewise.
40812         * tests/uninorm/test-composition.c: Likewise.
40813         * tests/uninorm/test-decomposing-form.c: Likewise.
40814         * tests/uninorm/test-decomposition.c: Likewise.
40815         * tests/uninorm/test-u8-nfc.c: Likewise.
40816         * tests/uninorm/test-u8-nfd.c: Likewise.
40817         * tests/uninorm/test-u8-nfkc.c: Likewise.
40818         * tests/uninorm/test-u8-nfkd.c: Likewise.
40819         * tests/uninorm/test-u8-normcmp.c: Likewise.
40820         * tests/uninorm/test-u8-normcoll.c: Likewise.
40821         * tests/uninorm/test-u16-nfc.c: Likewise.
40822         * tests/uninorm/test-u16-nfd.c: Likewise.
40823         * tests/uninorm/test-u16-nfkc.c: Likewise.
40824         * tests/uninorm/test-u16-nfkd.c: Likewise.
40825         * tests/uninorm/test-u16-normcmp.c: Likewise.
40826         * tests/uninorm/test-u16-normcoll.c: Likewise.
40827         * tests/uninorm/test-u32-nfc.c: Likewise.
40828         * tests/uninorm/test-u32-nfd.c: Likewise.
40829         * tests/uninorm/test-u32-nfkc.c: Likewise.
40830         * tests/uninorm/test-u32-nfkd.c: Likewise.
40831         * tests/uninorm/test-u32-normalize-big.c: Likewise.
40832         * tests/uninorm/test-u32-normcmp.c: Likewise.
40833         * tests/uninorm/test-u32-normcoll.c: Likewise.
40834         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
40835         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
40836         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
40837         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
40838         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
40839         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
40840         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
40841         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
40842         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
40843         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
40844         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
40845         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
40846         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
40847         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
40848         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
40849         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
40850         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
40851         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
40852         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
40853         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
40854         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
40855         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
40856         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
40857         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
40858         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
40859         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
40860         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
40861         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
40862         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
40863         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
40864         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
40865         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
40866         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
40867         * tests/uniwidth/test-u8-strwidth.c: Likewise.
40868         * tests/uniwidth/test-u8-width.c: Likewise.
40869         * tests/uniwidth/test-u16-strwidth.c: Likewise.
40870         * tests/uniwidth/test-u16-width.c: Likewise.
40871         * tests/uniwidth/test-u32-strwidth.c: Likewise.
40872         * tests/uniwidth/test-u32-width.c: Likewise.
40873         * tests/uniwidth/test-uc_width.c: Likewise.
40874         * tests/uniwidth/test-uc_width2.c: Likewise.
40875         * modules/acl-tests (Files): Add tests/macros.h.
40876         * modules/areadlink-tests (Files): Likewise.
40877         * modules/areadlink-with-size-tests (Files): Likewise.
40878         * modules/areadlinkat-tests (Files): Likewise.
40879         * modules/areadlinkat-with-size-tests (Files): Likewise.
40880         * modules/argmatch-tests (Files): Likewise.
40881         * modules/argv-iter-tests (Files): Likewise.
40882         * modules/array-list-tests (Files): Likewise.
40883         * modules/array-mergesort-tests (Files): Likewise.
40884         * modules/array-oset-tests (Files): Likewise.
40885         * modules/avltree-list-tests (Files): Likewise.
40886         * modules/avltree-oset-tests (Files): Likewise.
40887         * modules/avltreehash-list-tests (Files): Likewise.
40888         * modules/base64-tests (Files): Likewise.
40889         * modules/binary-io-tests (Files): Likewise.
40890         * modules/bitrotate-tests (Files): Likewise.
40891         * modules/btowc-tests (Files): Likewise.
40892         * modules/byteswap-tests (Files): Likewise.
40893         * modules/c-ctype-tests (Files): Likewise.
40894         * modules/c-stack-tests (Files): Likewise.
40895         * modules/c-strcase-tests (Files): Likewise.
40896         * modules/c-strcasestr-tests (Files): Likewise.
40897         * modules/c-strstr-tests (Files): Likewise.
40898         * modules/canonicalize-lgpl-tests (Files): Likewise.
40899         * modules/canonicalize-tests (Files): Likewise.
40900         * modules/carray-list-tests (Files): Likewise.
40901         * modules/ceilf-tests (Files): Likewise.
40902         * modules/ceill-tests (Files): Likewise.
40903         * modules/chown-tests (Files): Likewise.
40904         * modules/cloexec-tests (Files): Likewise.
40905         * modules/copy-file-tests (Files): Likewise.
40906         * modules/count-one-bits-tests (Files): Likewise.
40907         * modules/dprintf-posix-tests (Files): Likewise.
40908         * modules/dup2-tests (Files): Likewise.
40909         * modules/dup3-tests (Files): Likewise.
40910         * modules/duplocale-tests (Files): Likewise.
40911         * modules/fbufmode-tests (Files): Likewise.
40912         * modules/fchdir-tests (Files): Likewise.
40913         * modules/fcntl-safer-tests (Files): Likewise.
40914         * modules/fcntl-tests (Files): Likewise.
40915         * modules/fdopendir-tests (Files): Likewise.
40916         * modules/fdutimensat-tests (Files): Likewise.
40917         * modules/fflush-tests (Files): Likewise.
40918         * modules/filevercmp-tests (Files): Likewise.
40919         * modules/flock-tests (Files): Likewise.
40920         * modules/floorf-tests (Files): Likewise.
40921         * modules/floorl-tests (Files): Likewise.
40922         * modules/fnmatch-tests (Files): Likewise.
40923         * modules/fopen-safer-tests (Files): Likewise.
40924         * modules/fopen-tests (Files): Likewise.
40925         * modules/fpending-tests (Files): Likewise.
40926         * modules/fprintf-posix-tests (Files): Likewise.
40927         * modules/fpurge-tests (Files): Likewise.
40928         * modules/freadable-tests (Files): Likewise.
40929         * modules/freadahead-tests (Files): Likewise.
40930         * modules/freading-tests (Files): Likewise.
40931         * modules/freadptr-tests (Files): Likewise.
40932         * modules/freadseek-tests (Files): Likewise.
40933         * modules/freopen-tests (Files): Likewise.
40934         * modules/frexp-nolibm-tests (Files): Likewise.
40935         * modules/frexp-tests (Files): Likewise.
40936         * modules/frexpl-nolibm-tests (Files): Likewise.
40937         * modules/frexpl-tests (Files): Likewise.
40938         * modules/fseek-tests (Files): Likewise.
40939         * modules/fseeko-tests (Files): Likewise.
40940         * modules/fstrcmp-tests (Files): Likewise.
40941         * modules/fsync-tests (Files): Likewise.
40942         * modules/ftell-tests (Files): Likewise.
40943         * modules/ftello-tests (Files): Likewise.
40944         * modules/func-tests (Files): Likewise.
40945         * modules/futimens-tests (Files): Likewise.
40946         * modules/fwritable-tests (Files): Likewise.
40947         * modules/fwriting-tests (Files): Likewise.
40948         * modules/getcwd-tests (Files): Likewise.
40949         * modules/getdate-tests (Files): Likewise.
40950         * modules/getdelim-tests (Files): Likewise.
40951         * modules/getdtablesize-tests (Files): Likewise.
40952         * modules/getgroups-tests (Files): Likewise.
40953         * modules/getline-tests (Files): Likewise.
40954         * modules/getndelim2-tests (Files): Likewise.
40955         * modules/glob-tests (Files): Likewise.
40956         * modules/hash-tests (Files): Likewise.
40957         * modules/i-ring-tests (Files): Likewise.
40958         * modules/iconv-tests (Files): Likewise.
40959         * modules/iconv_open-utf-tests (Files): Likewise.
40960         * modules/idpriv-drop-tests (Files): Likewise.
40961         * modules/idpriv-droptemp-tests (Files): Likewise.
40962         * modules/inet_ntop-tests (Files): Likewise.
40963         * modules/inet_pton-tests (Files): Likewise.
40964         * modules/isblank-tests (Files): Likewise.
40965         * modules/isfinite-tests (Files): Likewise.
40966         * modules/isinf-tests (Files): Likewise.
40967         * modules/isnan-tests (Files): Likewise.
40968         * modules/isnand-nolibm-tests (Files): Likewise.
40969         * modules/isnand-tests (Files): Likewise.
40970         * modules/isnanf-nolibm-tests (Files): Likewise.
40971         * modules/isnanf-tests (Files): Likewise.
40972         * modules/isnanl-nolibm-tests (Files): Likewise.
40973         * modules/isnanl-tests (Files): Likewise.
40974         * modules/lchown-tests (Files): Likewise.
40975         * modules/ldexpl-tests (Files): Likewise.
40976         * modules/link-tests (Files): Likewise.
40977         * modules/linkat-tests (Files): Likewise.
40978         * modules/linked-list-tests (Files): Likewise.
40979         * modules/linkedhash-list-tests (Files): Likewise.
40980         * modules/localename-tests (Files): Likewise.
40981         * modules/lseek-tests (Files): Likewise.
40982         * modules/lstat-tests (Files): Likewise.
40983         * modules/mbmemcasecmp-tests (Files): Likewise.
40984         * modules/mbmemcasecoll-tests (Files): Likewise.
40985         * modules/mbrtowc-tests (Files): Likewise.
40986         * modules/mbscasecmp-tests (Files): Likewise.
40987         * modules/mbscasestr-tests (Files): Likewise.
40988         * modules/mbschr-tests (Files): Likewise.
40989         * modules/mbscspn-tests (Files): Likewise.
40990         * modules/mbsinit-tests (Files): Likewise.
40991         * modules/mbsncasecmp-tests (Files): Likewise.
40992         * modules/mbsnrtowcs-tests (Files): Likewise.
40993         * modules/mbspbrk-tests (Files): Likewise.
40994         * modules/mbspcasecmp-tests (Files): Likewise.
40995         * modules/mbsrchr-tests (Files): Likewise.
40996         * modules/mbsrtowcs-tests (Files): Likewise.
40997         * modules/mbsspn-tests (Files): Likewise.
40998         * modules/mbsstr-tests (Files): Likewise.
40999         * modules/memchr-tests (Files): Likewise.
41000         * modules/memchr2-tests (Files): Likewise.
41001         * modules/memcmp-tests (Files): Likewise.
41002         * modules/memmem-tests (Files): Likewise.
41003         * modules/memrchr-tests (Files): Likewise.
41004         * modules/mkdir-tests (Files): Likewise.
41005         * modules/mkfifo-tests (Files): Likewise.
41006         * modules/mkfifoat-tests (Files): Likewise.
41007         * modules/mknod-tests (Files): Likewise.
41008         * modules/nanosleep-tests (Files): Likewise.
41009         * modules/nl_langinfo-tests (Files): Likewise.
41010         * modules/obstack-printf-tests (Files): Likewise.
41011         * modules/open-tests (Files): Likewise.
41012         * modules/openat-tests (Files): Likewise.
41013         * modules/pipe-filter-gi-tests (Files): Likewise.
41014         * modules/pipe-filter-ii-tests (Files): Likewise.
41015         * modules/pipe2-tests (Files): Likewise.
41016         * modules/popen-safer-tests (Files): Likewise.
41017         * modules/popen-tests (Files): Likewise.
41018         * modules/posixtm-tests (Files): Likewise.
41019         * modules/pread-tests (Files): Likewise.
41020         * modules/printf-frexp-tests (Files): Likewise.
41021         * modules/printf-frexpl-tests (Files): Likewise.
41022         * modules/printf-posix-tests (Files): Likewise.
41023         * modules/priv-set-tests (Files): Likewise.
41024         * modules/quotearg-tests (Files): Likewise.
41025         * modules/random_r-tests (Files): Likewise.
41026         * modules/rawmemchr-tests (Files): Likewise.
41027         * modules/rbtree-list-tests (Files): Likewise.
41028         * modules/rbtree-oset-tests (Files): Likewise.
41029         * modules/rbtreehash-list-tests (Files): Likewise.
41030         * modules/readlink-tests (Files): Likewise.
41031         * modules/remove-tests (Files): Likewise.
41032         * modules/rename-tests (Files): Likewise.
41033         * modules/renameat-tests (Files): Likewise.
41034         * modules/rmdir-tests (Files): Likewise.
41035         * modules/round-tests (Files): Likewise.
41036         * modules/roundf-tests (Files): Likewise.
41037         * modules/roundl-tests (Files): Likewise.
41038         * modules/safe-alloc-tests (Files): Likewise.
41039         * modules/setenv-tests (Files): Likewise.
41040         * modules/sigaction-tests (Files): Likewise.
41041         * modules/signbit-tests (Files): Likewise.
41042         * modules/sleep-tests (Files): Likewise.
41043         * modules/snprintf-posix-tests (Files): Likewise.
41044         * modules/snprintf-tests (Files): Likewise.
41045         * modules/sprintf-posix-tests (Files): Likewise.
41046         * modules/stat-tests (Files): Likewise.
41047         * modules/stat-time-tests (Files): Likewise.
41048         * modules/strcasestr-tests (Files): Likewise.
41049         * modules/strchrnul-tests (Files): Likewise.
41050         * modules/strerror-tests (Files): Likewise.
41051         * modules/striconv-tests (Files): Likewise.
41052         * modules/striconveh-tests (Files): Likewise.
41053         * modules/striconveha-tests (Files): Likewise.
41054         * modules/strsignal-tests (Files): Likewise.
41055         * modules/strstr-tests (Files): Likewise.
41056         * modules/strtod-tests (Files): Likewise.
41057         * modules/strverscmp-tests (Files): Likewise.
41058         * modules/symlink-tests (Files): Likewise.
41059         * modules/symlinkat-tests (Files): Likewise.
41060         * modules/trunc-tests (Files): Likewise.
41061         * modules/truncf-tests (Files): Likewise.
41062         * modules/truncl-tests (Files): Likewise.
41063         * modules/uname-tests (Files): Likewise.
41064         * modules/unicase/cased-tests (Files): Likewise.
41065         * modules/unicase/ignorable-tests (Files): Likewise.
41066         * modules/unicase/locale-language-tests (Files): Likewise.
41067         * modules/unicase/tolower-tests (Files): Likewise.
41068         * modules/unicase/totitle-tests (Files): Likewise.
41069         * modules/unicase/toupper-tests (Files): Likewise.
41070         * modules/unicase/u8-casecmp-tests (Files): Likewise.
41071         * modules/unicase/u8-casecoll-tests (Files): Likewise.
41072         * modules/unicase/u8-casefold-tests (Files): Likewise.
41073         * modules/unicase/u8-is-cased-tests (Files): Likewise.
41074         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
41075         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
41076         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
41077         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
41078         * modules/unicase/u8-tolower-tests (Files): Likewise.
41079         * modules/unicase/u8-totitle-tests (Files): Likewise.
41080         * modules/unicase/u8-toupper-tests (Files): Likewise.
41081         * modules/unicase/u16-casecmp-tests (Files): Likewise.
41082         * modules/unicase/u16-casecoll-tests (Files): Likewise.
41083         * modules/unicase/u16-casefold-tests (Files): Likewise.
41084         * modules/unicase/u16-is-cased-tests (Files): Likewise.
41085         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
41086         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
41087         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
41088         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
41089         * modules/unicase/u16-tolower-tests (Files): Likewise.
41090         * modules/unicase/u16-totitle-tests (Files): Likewise.
41091         * modules/unicase/u16-toupper-tests (Files): Likewise.
41092         * modules/unicase/u32-casecmp-tests (Files): Likewise.
41093         * modules/unicase/u32-casecoll-tests (Files): Likewise.
41094         * modules/unicase/u32-casefold-tests (Files): Likewise.
41095         * modules/unicase/u32-is-cased-tests (Files): Likewise.
41096         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
41097         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
41098         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
41099         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
41100         * modules/unicase/u32-tolower-tests (Files): Likewise.
41101         * modules/unicase/u32-totitle-tests (Files): Likewise.
41102         * modules/unicase/u32-toupper-tests (Files): Likewise.
41103         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
41104         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
41105         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
41106         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
41107         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
41108         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
41109         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
41110         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
41111         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
41112         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
41113         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
41114         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
41115         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
41116         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
41117         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
41118         * modules/unictype/bidicategory-name-tests (Files): Likewise.
41119         * modules/unictype/bidicategory-of-tests (Files): Likewise.
41120         * modules/unictype/bidicategory-test-tests (Files): Likewise.
41121         * modules/unictype/block-list-tests (Files): Likewise.
41122         * modules/unictype/block-of-tests (Files): Likewise.
41123         * modules/unictype/block-test-tests (Files): Likewise.
41124         * modules/unictype/category-C-tests (Files): Likewise.
41125         * modules/unictype/category-Cc-tests (Files): Likewise.
41126         * modules/unictype/category-Cf-tests (Files): Likewise.
41127         * modules/unictype/category-Cn-tests (Files): Likewise.
41128         * modules/unictype/category-Co-tests (Files): Likewise.
41129         * modules/unictype/category-Cs-tests (Files): Likewise.
41130         * modules/unictype/category-L-tests (Files): Likewise.
41131         * modules/unictype/category-Ll-tests (Files): Likewise.
41132         * modules/unictype/category-Lm-tests (Files): Likewise.
41133         * modules/unictype/category-Lo-tests (Files): Likewise.
41134         * modules/unictype/category-Lt-tests (Files): Likewise.
41135         * modules/unictype/category-Lu-tests (Files): Likewise.
41136         * modules/unictype/category-M-tests (Files): Likewise.
41137         * modules/unictype/category-Mc-tests (Files): Likewise.
41138         * modules/unictype/category-Me-tests (Files): Likewise.
41139         * modules/unictype/category-Mn-tests (Files): Likewise.
41140         * modules/unictype/category-N-tests (Files): Likewise.
41141         * modules/unictype/category-Nd-tests (Files): Likewise.
41142         * modules/unictype/category-Nl-tests (Files): Likewise.
41143         * modules/unictype/category-No-tests (Files): Likewise.
41144         * modules/unictype/category-P-tests (Files): Likewise.
41145         * modules/unictype/category-Pc-tests (Files): Likewise.
41146         * modules/unictype/category-Pd-tests (Files): Likewise.
41147         * modules/unictype/category-Pe-tests (Files): Likewise.
41148         * modules/unictype/category-Pf-tests (Files): Likewise.
41149         * modules/unictype/category-Pi-tests (Files): Likewise.
41150         * modules/unictype/category-Po-tests (Files): Likewise.
41151         * modules/unictype/category-Ps-tests (Files): Likewise.
41152         * modules/unictype/category-S-tests (Files): Likewise.
41153         * modules/unictype/category-Sc-tests (Files): Likewise.
41154         * modules/unictype/category-Sk-tests (Files): Likewise.
41155         * modules/unictype/category-Sm-tests (Files): Likewise.
41156         * modules/unictype/category-So-tests (Files): Likewise.
41157         * modules/unictype/category-Z-tests (Files): Likewise.
41158         * modules/unictype/category-Zl-tests (Files): Likewise.
41159         * modules/unictype/category-Zp-tests (Files): Likewise.
41160         * modules/unictype/category-Zs-tests (Files): Likewise.
41161         * modules/unictype/category-and-not-tests (Files): Likewise.
41162         * modules/unictype/category-and-tests (Files): Likewise.
41163         * modules/unictype/category-byname-tests (Files): Likewise.
41164         * modules/unictype/category-name-tests (Files): Likewise.
41165         * modules/unictype/category-none-tests (Files): Likewise.
41166         * modules/unictype/category-of-tests (Files): Likewise.
41167         * modules/unictype/category-or-tests (Files): Likewise.
41168         * modules/unictype/category-test-withtable-tests (Files): Likewise.
41169         * modules/unictype/combining-class-tests (Files): Likewise.
41170         * modules/unictype/ctype-alnum-tests (Files): Likewise.
41171         * modules/unictype/ctype-alpha-tests (Files): Likewise.
41172         * modules/unictype/ctype-blank-tests (Files): Likewise.
41173         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
41174         * modules/unictype/ctype-digit-tests (Files): Likewise.
41175         * modules/unictype/ctype-graph-tests (Files): Likewise.
41176         * modules/unictype/ctype-lower-tests (Files): Likewise.
41177         * modules/unictype/ctype-print-tests (Files): Likewise.
41178         * modules/unictype/ctype-punct-tests (Files): Likewise.
41179         * modules/unictype/ctype-space-tests (Files): Likewise.
41180         * modules/unictype/ctype-upper-tests (Files): Likewise.
41181         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
41182         * modules/unictype/decimal-digit-tests (Files): Likewise.
41183         * modules/unictype/digit-tests (Files): Likewise.
41184         * modules/unictype/mirror-tests (Files): Likewise.
41185         * modules/unictype/numeric-tests (Files): Likewise.
41186         * modules/unictype/property-alphabetic-tests (Files): Likewise.
41187         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
41188         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
41189         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
41190         Likewise.
41191         * modules/unictype/property-bidi-block-separator-tests (Files):
41192         Likewise.
41193         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
41194         Likewise.
41195         * modules/unictype/property-bidi-common-separator-tests (Files):
41196         Likewise.
41197         * modules/unictype/property-bidi-control-tests (Files): Likewise.
41198         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
41199         Likewise.
41200         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
41201         Likewise.
41202         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
41203         Likewise.
41204         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
41205         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
41206         Likewise.
41207         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
41208         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
41209         Likewise.
41210         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
41211         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
41212         * modules/unictype/property-bidi-segment-separator-tests (Files):
41213         Likewise.
41214         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
41215         * modules/unictype/property-byname-tests (Files): Likewise.
41216         * modules/unictype/property-combining-tests (Files): Likewise.
41217         * modules/unictype/property-composite-tests (Files): Likewise.
41218         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
41219         * modules/unictype/property-dash-tests (Files): Likewise.
41220         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
41221         * modules/unictype/property-default-ignorable-code-point-tests (Files):
41222         Likewise.
41223         * modules/unictype/property-deprecated-tests (Files): Likewise.
41224         * modules/unictype/property-diacritic-tests (Files): Likewise.
41225         * modules/unictype/property-extender-tests (Files): Likewise.
41226         * modules/unictype/property-format-control-tests (Files): Likewise.
41227         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
41228         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
41229         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
41230         * modules/unictype/property-hex-digit-tests (Files): Likewise.
41231         * modules/unictype/property-hyphen-tests (Files): Likewise.
41232         * modules/unictype/property-id-continue-tests (Files): Likewise.
41233         * modules/unictype/property-id-start-tests (Files): Likewise.
41234         * modules/unictype/property-ideographic-tests (Files): Likewise.
41235         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
41236         * modules/unictype/property-ids-trinary-operator-tests (Files):
41237         Likewise.
41238         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
41239         * modules/unictype/property-iso-control-tests (Files): Likewise.
41240         * modules/unictype/property-join-control-tests (Files): Likewise.
41241         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
41242         * modules/unictype/property-line-separator-tests (Files): Likewise.
41243         * modules/unictype/property-logical-order-exception-tests (Files):
41244         Likewise.
41245         * modules/unictype/property-lowercase-tests (Files): Likewise.
41246         * modules/unictype/property-math-tests (Files): Likewise.
41247         * modules/unictype/property-non-break-tests (Files): Likewise.
41248         * modules/unictype/property-not-a-character-tests (Files): Likewise.
41249         * modules/unictype/property-numeric-tests (Files): Likewise.
41250         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
41251         * modules/unictype/property-other-default-ignorable-code-point-tests
41252         (Files): Likewise.
41253         * modules/unictype/property-other-grapheme-extend-tests (Files):
41254         Likewise.
41255         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
41256         * modules/unictype/property-other-id-start-tests (Files): Likewise.
41257         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
41258         * modules/unictype/property-other-math-tests (Files): Likewise.
41259         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
41260         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
41261         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
41262         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
41263         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
41264         * modules/unictype/property-private-use-tests (Files): Likewise.
41265         * modules/unictype/property-punctuation-tests (Files): Likewise.
41266         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
41267         * modules/unictype/property-radical-tests (Files): Likewise.
41268         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
41269         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
41270         * modules/unictype/property-space-tests (Files): Likewise.
41271         * modules/unictype/property-terminal-punctuation-tests (Files):
41272         Likewise.
41273         * modules/unictype/property-test-tests (Files): Likewise.
41274         * modules/unictype/property-titlecase-tests (Files): Likewise.
41275         * modules/unictype/property-unassigned-code-value-tests (Files):
41276         Likewise.
41277         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
41278         * modules/unictype/property-uppercase-tests (Files): Likewise.
41279         * modules/unictype/property-variation-selector-tests (Files): Likewise.
41280         * modules/unictype/property-white-space-tests (Files): Likewise.
41281         * modules/unictype/property-xid-continue-tests (Files): Likewise.
41282         * modules/unictype/property-xid-start-tests (Files): Likewise.
41283         * modules/unictype/property-zero-width-tests (Files): Likewise.
41284         * modules/unictype/scripts-tests (Files): Likewise.
41285         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
41286         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
41287         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
41288         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
41289         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
41290         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
41291         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
41292         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
41293         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
41294         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
41295         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
41296         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
41297         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
41298         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
41299         * modules/uninorm/composition-tests (Files): Likewise.
41300         * modules/uninorm/decomposing-form-tests (Files): Likewise.
41301         * modules/uninorm/decomposition-tests (Files): Likewise.
41302         * modules/uninorm/filter-tests (Files): Likewise.
41303         * modules/uninorm/nfc-tests (Files): Likewise.
41304         * modules/uninorm/nfd-tests (Files): Likewise.
41305         * modules/uninorm/nfkc-tests (Files): Likewise.
41306         * modules/uninorm/nfkd-tests (Files): Likewise.
41307         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
41308         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
41309         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
41310         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
41311         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
41312         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
41313         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
41314         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
41315         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
41316         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
41317         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
41318         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
41319         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
41320         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
41321         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
41322         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
41323         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
41324         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
41325         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
41326         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
41327         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
41328         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
41329         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
41330         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
41331         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
41332         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
41333         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
41334         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
41335         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
41336         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
41337         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
41338         * modules/uniwidth/u8-width-tests (Files): Likewise.
41339         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
41340         * modules/uniwidth/u16-width-tests (Files): Likewise.
41341         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
41342         * modules/uniwidth/u32-width-tests (Files): Likewise.
41343         * modules/uniwidth/width-tests (Files): Likewise.
41344         * modules/unlink-tests (Files): Likewise.
41345         * modules/unsetenv-tests (Files): Likewise.
41346         * modules/usleep-tests (Files): Likewise.
41347         * modules/utimens-tests (Files): Likewise.
41348         * modules/utimensat-tests (Files): Likewise.
41349         * modules/vasnprintf-posix-tests (Files): Likewise.
41350         * modules/vasnprintf-tests (Files): Likewise.
41351         * modules/vasprintf-posix-tests (Files): Likewise.
41352         * modules/vasprintf-tests (Files): Likewise.
41353         * modules/vdprintf-posix-tests (Files): Likewise.
41354         * modules/vfprintf-posix-tests (Files): Likewise.
41355         * modules/vprintf-posix-tests (Files): Likewise.
41356         * modules/vsnprintf-posix-tests (Files): Likewise.
41357         * modules/vsnprintf-tests (Files): Likewise.
41358         * modules/vsprintf-posix-tests (Files): Likewise.
41359         * modules/wcrtomb-tests (Files): Likewise.
41360         * modules/wcsnrtombs-tests (Files): Likewise.
41361         * modules/wcsrtombs-tests (Files): Likewise.
41362         * modules/wctype-tests (Files): Likewise.
41363         * modules/wcwidth-tests (Files): Likewise.
41364         * modules/xmemdup0-tests (Files): Likewise.
41365         * modules/xprintf-posix-tests (Files): Likewise.
41366         * modules/xvasprintf-tests (Files): Likewise.
41367
41368 2009-12-24  Eric Blake  <ebb9@byu.net>
41369
41370         test-nanosleep: fix typo
41371         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
41372         patch.
41373         Reported by Bruno Haible.
41374
41375 2009-12-24  Bruno Haible  <bruno@clisp.org>
41376
41377         Reduce namespace pollution on glibc systems.
41378         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
41379         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
41380         systems.
41381         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
41382         <getopt.h> on glibc systems.
41383         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
41384         systems.
41385         * lib/fcntl.c: Include <unistd.h> here instead.
41386
41387 2009-12-24  Bruno Haible  <bruno@clisp.org>
41388
41389         * lib/stdlib.in.h (includes): Fix typo in today's commit.
41390
41391 2009-12-24  Eric Blake  <ebb9@byu.net>
41392
41393         tests: add signature checks
41394         * tests/signature.h (SIGNATURE_CHECK): New file.
41395         * modules/atexit-tests (Files): Use it.
41396         * modules/btowc-tests (Files): Likewise.
41397         * modules/canonicalize-lgpl-tests (Files): Likewise.
41398         * modules/ceilf-tests (Files): Likewise.
41399         * modules/ceill-tests (Files): Likewise.
41400         * modules/chown-tests (Files): Likewise.
41401         * modules/dprintf-posix-tests (Files): Likewise.
41402         * modules/dup2-tests (Files): Likewise.
41403         * modules/dup3-tests (Files): Likewise.
41404         * modules/duplocale-tests (Files): Likewise.
41405         * modules/fchdir-tests (Files): Likewise.
41406         * modules/fcntl-tests (Files): Likewise.
41407         * modules/fdopendir-tests (Files): Likewise.
41408         * modules/fflush-tests (Files): Likewise.
41409         * modules/flock-tests (Files): Likewise.
41410         * modules/floorf-tests (Files): Likewise.
41411         * modules/floorl-tests (Files): Likewise.
41412         * modules/fnmatch-tests (Files): Likewise.
41413         * modules/fopen-tests (Files): Likewise.
41414         * modules/fprintf-posix-tests (Files): Likewise.
41415         * modules/freopen-tests (Files): Likewise.
41416         * modules/frexp-nolibm-tests (Files): Likewise.
41417         * modules/frexp-tests (Files): Likewise.
41418         * modules/frexpl-nolibm-tests (Files): Likewise.
41419         * modules/frexpl-tests (Files): Likewise.
41420         * modules/fseek-tests (Files): Likewise.
41421         * modules/fseeko-tests (Files): Likewise.
41422         * modules/fsync-tests (Files): Likewise.
41423         * modules/ftell-tests (Files): Likewise.
41424         * modules/ftello-tests (Files): Likewise.
41425         * modules/futimens-tests (Files): Likewise.
41426         * modules/getaddrinfo-tests (Files): Likewise.
41427         * modules/getcwd-tests (Files): Likewise.
41428         * modules/getdelim-tests (Files): Likewise.
41429         * modules/getdtablesize-tests (Files): Likewise.
41430         * modules/getgroups-tests (Files): Likewise.
41431         * modules/gethostname-tests (Files): Likewise.
41432         * modules/getline-tests (Files): Likewise.
41433         * modules/getopt-posix-tests (Files): Likewise.
41434         * modules/gettimeofday-tests (Files): Likewise.
41435         * modules/glob-tests (Files): Likewise.
41436         * modules/iconv-tests (Files): Likewise.
41437         * modules/inet_ntop-tests (Files): Likewise.
41438         * modules/inet_pton-tests (Files): Likewise.
41439         * modules/isblank-tests (Files): Likewise.
41440         * modules/lchown-tests (Files): Likewise.
41441         * modules/ldexpl-tests (Files): Likewise.
41442         * modules/link-tests (Files): Likewise.
41443         * modules/linkat-tests (Files): Likewise.
41444         * modules/lseek-tests (Files): Likewise.
41445         * modules/lstat-tests (Files): Likewise.
41446         * modules/mbrtowc-tests (Files): Likewise.
41447         * modules/mbsinit-tests (Files): Likewise.
41448         * modules/mbsnrtowcs-tests (Files): Likewise.
41449         * modules/mbsrtowcs-tests (Files): Likewise.
41450         * modules/memchr-tests (Files): Likewise.
41451         * modules/memcmp-tests (Files): Likewise.
41452         * modules/memmem-tests (Files): Likewise.
41453         * modules/memrchr-tests (Files): Likewise.
41454         * modules/mkdir-tests (Files): Likewise.
41455         * modules/mkfifo-tests (Files): Likewise.
41456         * modules/mkfifoat-tests (Files): Likewise.
41457         * modules/mknod-tests (Files): Likewise.
41458         * modules/nanosleep-tests (Files): Likewise.
41459         * modules/nl_langinfo-tests (Files): Likewise.
41460         * modules/obstack-printf-tests (Files): Likewise.
41461         * modules/open-tests (Files): Likewise.
41462         * modules/openat-tests (Files): Likewise.
41463         * modules/perror-tests (Files): Likewise.
41464         * modules/pipe2-tests (Files): Likewise.
41465         * modules/poll-tests (Files): Likewise.
41466         * modules/popen-tests (Files): Likewise.
41467         * modules/posix_spawn-tests (Files): Likewise.
41468         * modules/posix_spawnp-tests (Files): Likewise.
41469         * modules/pread-tests (Files): Likewise.
41470         * modules/printf-posix-tests (Files): Likewise.
41471         * modules/pty-tests (Files): Likewise.
41472         * modules/random_r-tests (Files): Likewise.
41473         * modules/rawmemchr-tests (Files): Likewise.
41474         * modules/readlink-tests (Files): Likewise.
41475         * modules/remove-tests (Files): Likewise.
41476         * modules/rename-tests (Files): Likewise.
41477         * modules/renameat-tests (Files): Likewise.
41478         * modules/rmdir-tests (Files): Likewise.
41479         * modules/round-tests (Files): Likewise.
41480         * modules/roundf-tests (Files): Likewise.
41481         * modules/roundl-tests (Files): Likewise.
41482         * modules/select-tests (Files): Likewise.
41483         * modules/setenv-tests (Files): Likewise.
41484         * modules/sigaction-tests (Files): Likewise.
41485         * modules/sleep-tests (Files): Likewise.
41486         * modules/snprintf-posix-tests (Files): Likewise.
41487         * modules/snprintf-tests (Files): Likewise.
41488         * modules/sprintf-posix-tests (Files): Likewise.
41489         * modules/stat-tests (Files): Likewise.
41490         * modules/strcasestr-tests (Files): Likewise.
41491         * modules/strchrnul-tests (Files): Likewise.
41492         * modules/strerror-tests (Files): Likewise.
41493         * modules/strsignal-tests (Files): Likewise.
41494         * modules/strstr-tests (Files): Likewise.
41495         * modules/strtod-tests (Files): Likewise.
41496         * modules/strverscmp-tests (Files): Likewise.
41497         * modules/symlink-tests (Files): Likewise.
41498         * modules/symlinkat-tests (Files): Likewise.
41499         * modules/times-tests (Files): Likewise.
41500         * modules/trunc-tests (Files): Likewise.
41501         * modules/truncf-tests (Files): Likewise.
41502         * modules/truncl-tests (Files): Likewise.
41503         * modules/tsearch-tests (Files): Likewise.
41504         * modules/uname-tests (Files): Likewise.
41505         * modules/unlink-tests (Files): Likewise.
41506         * modules/unsetenv-tests (Files): Likewise.
41507         * modules/usleep-tests (Files): Likewise.
41508         * modules/utimensat-tests (Files): Likewise.
41509         * modules/vasprintf-tests (Files): Likewise.
41510         * modules/vdprintf-posix-tests (Files): Likewise.
41511         * modules/vfprintf-posix-tests (Files): Likewise.
41512         * modules/vprintf-posix-tests (Files): Likewise.
41513         * modules/vsnprintf-posix-tests (Files): Likewise.
41514         * modules/vsnprintf-tests (Files): Likewise.
41515         * modules/vsprintf-posix-tests (Files): Likewise.
41516         * modules/wcrtomb-tests (Files): Likewise.
41517         * modules/wcsnrtombs-tests (Files): Likewise.
41518         * modules/wcsrtombs-tests (Files): Likewise.
41519         * modules/wcwidth-tests (Files): Likewise.
41520         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
41521         * tests/test-isinf.c (isinf): Likewise.
41522         * tests/test-isnan.c (isnan): Likewise.
41523         * tests/test-signbit.c (signbit): Likewise.
41524         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
41525         declaration, either as macro or with correct signature.
41526         (select): Ensure function under test is declared with correct
41527         signature in correct header.
41528         * tests/test-atexit.c (atexit): Likewise.
41529         * tests/test-btowc.c (btowc): Likewise.
41530         * tests/test-canonicalize-lgpl.c (realpath)
41531         (canonicalize_file_name): Likewise.
41532         * tests/test-ceilf1.c (ceilf): Likewise.
41533         * tests/test-ceill.c (ceill): Likewise.
41534         * tests/test-chown.c (chown): Likewise.
41535         * tests/test-dprintf-posix.c (dprintf): Likewise.
41536         * tests/test-dup2.c (dup2): Likewise.
41537         * tests/test-dup3.c (dup3): Likewise.
41538         * tests/test-duplocale.c (duplocale): Likewise.
41539         * tests/test-fchdir.c (fchdir): Likewise.
41540         * tests/test-fchownat.c (fchownat): Likewise.
41541         * tests/test-fcntl.c (fcntl): Likewise.
41542         * tests/test-fdopendir.c (fdopendir): Likewise.
41543         * tests/test-fflush.c (fflush): Likewise.
41544         * tests/test-flock.c (flock): Likewise.
41545         * tests/test-floorf1.c (floorf): Likewise.
41546         * tests/test-floorl.c (floorl): Likewise.
41547         * tests/test-fnmatch.c (fnmatch): Likewise.
41548         * tests/test-fopen.c (fopen): Likewise.
41549         * tests/test-fprintf-posix.c (fprintf): Likewise.
41550         * tests/test-freopen.c (freopen): Likewise.
41551         * tests/test-frexp.c (frexp): Likewise.
41552         * tests/test-frexpl.c (frexpl): Likewise.
41553         * tests/test-fseek.c (fseek): Likewise.
41554         * tests/test-fseeko.c (fseeko): Likewise.
41555         * tests/test-fstatat.c (fstatat): Likewise.
41556         * tests/test-fsync.c (fsync): Likewise.
41557         * tests/test-ftell.c (ftell): Likewise.
41558         * tests/test-ftello.c (ftello): Likewise.
41559         * tests/test-futimens.c (futimens): Likewise.
41560         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
41561         (gai_strerror): Likewise.
41562         * tests/test-getcwd.c (getcwd): Likewise.
41563         * tests/test-getdelim.c (getdelim): Likewise.
41564         * tests/test-getdtablesize.c (getdtablesize): Likewise.
41565         * tests/test-getgroups.c (getgroups): Likewise.
41566         * tests/test-gethostname.c (gethostname): Likewise.
41567         * tests/test-getline.c (getline): Likewise.
41568         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
41569         Likewise.
41570         * tests/test-gettimeofday.c (gettimeofday): Likewise.
41571         * tests/test-glob.c (glob, globfree): Likewise.
41572         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
41573         * tests/test-inet_ntop.c (inet_ntop): Likewise.
41574         * tests/test-inet_pton.c (inet_pton): Likewise.
41575         * tests/test-isblank.c (isblank): Likewise.
41576         * tests/test-lchown.c (lchown): Likewise.
41577         * tests/test-ldexpl.c (ldexpl): Likewise.
41578         * tests/test-link.c (link): Likewise.
41579         * tests/test-linkat.c (linkat): Likewise.
41580         * tests/test-lseek.c (lseek): Likewise.
41581         * tests/test-lstat.c (lstat): Likewise.
41582         * tests/test-mbrtowc.c (mbrtowc): Likewise.
41583         * tests/test-mbsinit.c (mbsinit): Likewise.
41584         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
41585         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
41586         * tests/test-memchr.c (memchr): Likewise.
41587         * tests/test-memcmp.c (memcmp): Likewise.
41588         * tests/test-memmem.c (memmem): Likewise.
41589         * tests/test-memrchr.c (memrchr): Likewise.
41590         * tests/test-mkdir.c (mkdir): Likewise.
41591         * tests/test-mkdirat.c (mkdirat): Likewise.
41592         * tests/test-mkfifo.c (mkfifo): Likewise.
41593         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
41594         * tests/test-mknod.c (mknod): Likewise.
41595         * tests/test-nanosleep.c (nanosleep): Likewise.
41596         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
41597         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
41598         Likewise.
41599         * tests/test-open.c (open): Likewise.
41600         * tests/test-openat.c (openat): Likewise.
41601         * tests/test-perror.c (perror): Likewise.
41602         * tests/test-pipe2.c (pipe2): Likewise.
41603         * tests/test-poll.c (poll): Likewise.
41604         * tests/test-popen.c (popen, pclose): Likewise.
41605         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
41606         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
41607         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
41608         (posix_spawn_file_actions_destroy)
41609         (posix_spawn_file_actions_addclose)
41610         (posix_spawn_file_actions_addopen)
41611         (posix_spawn_file_actions_adddup2): Likewise.
41612         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
41613         * tests/test-pread.c (pread): Likewise.
41614         * tests/test-printf-posix.c (printf): Likewise.
41615         * tests/test-pty.c (openpty, forkpty): Likewise.
41616         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
41617         (random_r): Likewise.
41618         * tests/test-rawmemchr.c (rawmemchr): Likewise.
41619         * tests/test-readlink.c (readlink): Likewise.
41620         * tests/test-remove.c (remove): Likewise.
41621         * tests/test-rename.c (rename): Likewise.
41622         * tests/test-renameat.c (renameat): Likewise.
41623         * tests/test-rmdir.c (rmdir): Likewise.
41624         * tests/test-round1.c (round): Likewise.
41625         * tests/test-roundf1.c (roundf): Likewise.
41626         * tests/test-roundl.c (roundl): Likewise.
41627         * tests/test-setenv.c (setenv): Likewise.
41628         * tests/test-sigaction.c (sigaction): Likewise.
41629         * tests/test-sleep.c (sleep): Likewise.
41630         * tests/test-snprintf.c (snprintf): Likewise.
41631         * tests/test-sprintf-posix.c (sprintf): Likewise.
41632         * tests/test-stat.c (stat): Likewise.
41633         * tests/test-stpncpy.c (stpncpy): Likewise.
41634         * tests/test-strcasestr.c (strcasestr): Likewise.
41635         * tests/test-strchrnul.c (strchrnul): Likewise.
41636         * tests/test-strerror.c (strerror): Likewise.
41637         * tests/test-strsignal.c (strsignal): Likewise.
41638         * tests/test-strstr.c (strstr): Likewise.
41639         * tests/test-strtod.c (strtod): Likewise.
41640         * tests/test-strverscmp.c (strverscmp): Likewise.
41641         * tests/test-symlink.c (symlink): Likewise.
41642         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
41643         * tests/test-times.c (times): Likewise.
41644         * tests/test-trunc1.c (trunc): Likewise.
41645         * tests/test-truncf1.c (truncf): Likewise.
41646         * tests/test-truncl.c (truncl): Likewise.
41647         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
41648         Likewise.
41649         * tests/test-uname.c (uname): Likewise.
41650         * tests/test-unlink.c (unlink): Likewise.
41651         * tests/test-unlinkat.c (unlinkat): Likewise.
41652         * tests/test-unsetenv.c (unsetenv): Likewise.
41653         * tests/test-usleep.c (usleep): Likewise.
41654         * tests/test-utimensat.c (utimensat): Likewise.
41655         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
41656         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
41657         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
41658         * tests/test-vprintf-posix.c (vprintf): Likewise.
41659         * tests/test-vsnprintf.c (vsnprintf): Likewise.
41660         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
41661         * tests/test-wcrtomb.c (wcrtomb): Likewise.
41662         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
41663         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
41664         * tests/test-wcwidth.c (wcwidth): Likewise.
41665
41666         build: pull in conditional headers during GNULIB_POSIXCHECK
41667         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
41668         definitions from any conditionally-included headers.
41669         * lib/stdlib.in.h (includes): Likewise.
41670         * lib/unistd.in.h (includes): Likewise.
41671
41672 2009-12-24  Bruno Haible  <bruno@clisp.org>
41673
41674         * tests/test-argv-iter.c: Include header file being tested immediately
41675         after config.h.
41676         * tests/test-base64.c: Likewise.
41677         * tests/test-flock.c: Likewise.
41678         * tests/test-fsync.c: Likewise.
41679         * tests/test-getdate.c: Likewise.
41680         * tests/test-getndelim2.c: Likewise.
41681         * tests/test-isfinite.c: Likewise.
41682         * tests/test-isinf.c: Likewise.
41683         * tests/test-strerror.c: Likewise.
41684         * tests/test-strsignal.c: Likewise.
41685
41686 2009-12-23  Eric Blake  <ebb9@byu.net>
41687
41688         unistd: work around cygwin bug
41689         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
41690         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
41691         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
41692
41693 2009-12-23  Bruno Haible  <bruno@clisp.org>
41694
41695         localename: More tests.
41696         * tests/test-localename.c (SIZEOF): New macro.
41697         (categories): New variable.
41698         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
41699         test_locale_name_default): Add test w.r.t. thread locale.
41700         (test_locale_name_thread): New function.
41701         (main): Invoke it.
41702
41703         localename: Make aware of thread locale.
41704         * lib/localename.h (gl_locale_name_thread): New declaration.
41705         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
41706         behaviour with respect to thread locale.
41707         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
41708         <langinfo.h>, glthread/lock.h.
41709         (SIZE_BITS): New macro.
41710         (string_hash): New function.
41711         (struct hash_node): New type.
41712         (HASH_TABLE_SIZE): New macro.
41713         (struniq_hash_table, struniq_lock): New variables.
41714         (struniq): New function.
41715         (gl_locale_name_thread): New function.
41716         (gl_locale_name): Invoke it.
41717         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
41718         * modules/localename (Depends-on): Add lock.
41719         Reported by Mike Gran <spk121@yahoo.com>.
41720
41721 2009-12-23  Eric Blake  <ebb9@byu.net>
41722
41723         va-args: new module
41724         * modules/va-args: New file.
41725         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
41726         * MODULES.html.sh (Core language properties): Mention it.
41727
41728         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
41729         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
41730         named alias for __attribute__((__unused__)).
41731         * lib/chown.c: Update client.
41732         * lib/fchmodat.c: Likewise.
41733         * lib/fts.c: Likewise.
41734         * lib/getdate.y: Likewise.
41735         * lib/getgroups.c: Likewise.
41736         * lib/getopt.c: Likewise.
41737         * lib/getugroups.c: Likewise.
41738         * lib/mkdir.c: Likewise.
41739         * lib/mkfifo.c: Likewise.
41740         * lib/mkfifoat.c: Likewise.
41741         * lib/mknod.c: Likewise.
41742         * lib/mknodat.c: Likewise.
41743         * lib/readlink.c: Likewise.
41744         * lib/se-context.in.h: Likewise.
41745         * lib/se-selinux.in.h: Likewise.
41746         * lib/sockets.c: Likewise.
41747         * lib/symlink.c: Likewise.
41748         * lib/symlinkat.c: Likewise.
41749         * lib/unicodeio.c: Likewise.
41750         * lib/unistr.h: Likewise.
41751         * tests/test-areadlink.c: Likewise.
41752         * tests/test-areadlinkat.c: Likewise.
41753         * tests/test-filenamecat.c: Likewise.
41754         * tests/test-fseeko.c: Likewise.
41755         * tests/test-ftello.c: Likewise.
41756         * tests/test-getdate.c: Likewise.
41757         * tests/test-getgroups.c: Likewise.
41758         * tests/test-gethostname.c: Likewise.
41759         * tests/test-quotearg.c: Likewise.
41760         * tests/test-version-etc.c: Likewise.
41761         * tests/test-xalloc-die.c: Likewise.
41762         * tests/test-xfprintf-posix.c: Likewise.
41763         * tests/test-xprintf-posix.c: Likewise.
41764         * tests/test-xvasprintf.c: Likewise.
41765
41766         tests: avoid compiler warnings
41767         * tests/test-fcntl.c (main): Delete unused parameters.
41768         * tests/test-freopen-safer.c (main): Likewise.
41769         * tests/test-xalloc-die.c (main): Mark unused parameters.
41770         * tests/test-fseeko.c (main): Likewise.
41771         * tests/test-ftello.c (main): Likewise.
41772         * tests/test-nanosleep.c (main): Avoid declaration warning.
41773         * tests/test-sleep.c (main): Likewise.
41774         * tests/test-unsetenv.c (main): Silence warning about string
41775         literal.
41776         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
41777
41778 2009-12-23  Bruno Haible  <bruno@clisp.org>
41779
41780         * tests/test-localename.c (test_locale_name): New function, extracted
41781         from main. Also test mixed situations.
41782         (test_locale_name_posix, test_locale_name_environ,
41783         test_locale_name_default): New functions.
41784         (main): Invoke them all.
41785         * modules/localename-tests (configure.ac): Test for newlocale.
41786
41787 2009-12-23  Bruno Haible  <bruno@clisp.org>
41788
41789         unistd: Ensure getcwd gets declared before being overridden.
41790         * lib/unistd.in.h: Conditionally include <io.h>.
41791
41792 2009-12-22  Bruno Haible  <bruno@clisp.org>
41793
41794         wchar: Diagnose broken combination of glibc and gcc versions and flags.
41795         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
41796         (gl_WCHAR_H): Invoke it.
41797         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
41798         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
41799         Reported by Karl Berry <karl@freefriends.org>.
41800
41801 2009-12-22  Eric Blake  <ebb9@byu.net>
41802
41803         math, unistd: avoid redundant includes
41804         * lib/math.in.h (isnan): No need to re-include <math.h>.
41805         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
41806
41807         getsubopt: work around cygwin bug
41808         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
41809         avoid conflicting with system getsubopt.
41810         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
41811         bug.
41812
41813         getopt: synchronize from glibc
41814         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
41815         parameter order.  Adjust all callers.
41816         (_getopt_internal_r, main): Adjust quoting in error messages.
41817         Drop considerations for outdated POSIX 1003.2 error message.
41818         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
41819         callers.
41820         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
41821
41822         test-getopt: test stderr behavior
41823         * modules/getopt-posix-tests (Depends-on): Add dup2.
41824         * tests/test-getopt.c (ASSERT): Avoid stderr.
41825         (main): Move stderr to a temporary file.
41826         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
41827         Instead, add parameter to inform caller if output occurred.
41828         (test_getopt): Adjust all existing tests to expect silence, and
41829         add new tests of leading ":".
41830         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41831         glibc shortcomings with leading "-:" or "+:" in optstring.
41832         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41833         Likewise.
41834         * doc/posix-functions/getopt.texi (getopt): Likewise.
41835
41836         test-getopt: enhance test
41837         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
41838         supports optind=0.
41839         * tests/test-getopt.c (OPTIND_MIN): Move...
41840         * tests/test-getopt.h (OPTIND_MIN): ...here.
41841         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
41842         Require that optind=0 works, since modern BSD supports it in
41843         addition to optreset, and since coreutils expects it.
41844         (test_getopt_long_only): New test.
41845         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41846         glibc shortcomings with 'W;', and enforcement of optind=0.
41847         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41848         Likewise.
41849
41850 2009-12-21  Bruno Haible  <bruno@clisp.org>
41851
41852         localename: Improvements for MacOS X and Cygwin.
41853         * lib/localename.h (gl_locale_name_environ): New declaration.
41854         * lib/localename.c (gl_locale_name_environ): New function, extracted from
41855         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
41856         (gl_locale_name_posix): Invoke it.
41857         (gl_locale_name_default): Add comments. Use Windows native API also on
41858         Cygwin.
41859
41860 2009-12-21  Bruno Haible  <bruno@clisp.org>
41861
41862         Update list of Win32 locale ids.
41863         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
41864         (LANG_SAMI): Renamed from LANG_SAAMI.
41865         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
41866         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
41867         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
41868         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
41869         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
41870         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
41871         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
41872         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
41873         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
41874         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
41875         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
41876         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
41877         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
41878         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
41879         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
41880         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
41881         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
41882         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
41883         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
41884         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
41885         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
41886         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
41887         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
41888         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
41889         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
41890         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
41891         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
41892         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
41893         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
41894         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
41895         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
41896         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
41897         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
41898         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
41899         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
41900         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
41901         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
41902         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
41903         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
41904         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
41905         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
41906         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
41907         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
41908         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
41909         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
41910         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
41911         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
41912         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
41913         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
41914         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
41915         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
41916         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
41917         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
41918         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
41919         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
41920         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
41921         Add more languages and countries for Sami, Sorbian. Add more countries
41922         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
41923         for Pashto. Change country for Syriac, Tswana.
41924
41925 2009-12-21  Eric Blake  <ebb9@byu.net>
41926
41927         test-utimens: avoid spurious failure
41928         * tests/test-chown.h (nap): Factor...
41929         * tests/nap.h: ...into new file.
41930         * tests/test-lchown.h (nap): Avoid duplication.
41931         * tests/test-utimens-common.h (nap): Use shared implementation,
41932         necessary on file systems with 1-second resolution.
41933         * modules/chown-tests (Files): Include new file.
41934         * modules/fdutimensat-tests (Files): Likewise.
41935         * modules/futimens-tests (Files): Likewise.
41936         * modules/lchown-tests (Files): Likewise.
41937         * modules/openat-tests (Files): Likewise.
41938         * modules/utimens-tests (Files): Likewise.
41939         * modules/utimensat-tests (Files): Likewise.
41940
41941 2009-12-19  Eric Blake  <ebb9@byu.net>
41942
41943         futimens, utimensat: work around Linux bug
41944         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
41945         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
41946         * lib/utimensat.c (rpl_utimensat): Work around it.
41947         * lib/futimens.c (rpl_futimens): Adjust comment.
41948
41949         utimens: work around Linux ctime bug
41950         * lib/utimens.c (detect_ctime_bug): New helper function.
41951         (update_timespec): Differentiate between workaround needed for
41952         this bug vs. what is needed for systems that lack utimensat.
41953         (fdutimens, lutimens): Work around bug.
41954
41955         utimens: check for ctime update
41956         * tests/test-utimens-common.h (check_ctime): Define.
41957         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
41958         * tests/test-futimens.h (test_futimens): Likewise.
41959         * tests/test-lutimens.h (test_lutimens): Likewise.
41960         * doc/posix-functions/futimens.texi (futimens): Document the bug.
41961         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41962
41963 2009-12-19  Bruno Haible  <bruno@clisp.org>
41964
41965         dprintf-posix: Check against memory leak fixed on 2009-12-15.
41966         * tests/test-dprintf-posix2.sh: New file.
41967         * tests/test-dprintf-posix2.c: New file.
41968         * modules/dprintf-posix-tests (Files): Add them.
41969         (configure.ac): Check for getrlimit and setrlimit.
41970         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41971
41972 2009-12-19  Bruno Haible  <bruno@clisp.org>
41973
41974         fprintf-posix: Check against memory leak fixed on 2009-12-15.
41975         * tests/test-fprintf-posix3.sh: New file.
41976         * tests/test-fprintf-posix3.c: New file.
41977         * modules/fprintf-posix-tests (Files): Add them.
41978         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41979
41980 2009-12-19  Eric Blake  <ebb9@byu.net>
41981
41982         dirfd: fix prototype
41983         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
41984         * lib/dirfd.c (dirfd): Likewise.
41985
41986         canonicalize: reduce memory usage
41987         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
41988         allocation to size.
41989         Reported by Solar Designer <solar@openwall.com>.
41990
41991 2009-12-19  Bruno Haible  <bruno@clisp.org>
41992
41993         New module attribute 'Applicability'.
41994         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
41995         * gnulib-tool: New option --extract-applicability.
41996         (func_usage): Document it.
41997         (sed_extract_prog): Recognize it.
41998         (func_get_applicability): New function.
41999         (func_import): Generalize handling of 'link-warning' module.
42000         * modules/link-warning (Applicability): New section.
42001         * modules/arg-nonnull (Applicability): New section.
42002         Repoted by Simon Josefsson <simon@josefsson.org>.
42003
42004 2009-12-19  Bruno Haible  <bruno@clisp.org>
42005
42006         fflush: tweak
42007         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
42008         * lib/fseeko.c (rpl_fseeko): Likewise.
42009
42010 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
42011
42012         * lib/gl_list.h: Fix typo in comment.
42013
42014 2009-12-16  Eric Blake  <ebb9@byu.net>
42015
42016         fcntl: use to simplify other modules
42017         * modules/cloexec (Depends-on): Add fcntl.
42018         * modules/fchdir (Depends-on): Likewise.
42019         * modules/fd-safer-flag (Depends-on): Likewise.
42020         * modules/unistd-safer (Depends-on): Likewise.
42021         * modules/dup3 (configure.ac): Set module indicator.
42022         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
42023         missing.
42024         * lib/fchdir.c (_gl_register_dup): Fix comment.
42025         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
42026         * lib/dup-safer.c (dup_safer): Likewise.
42027         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
42028         * lib/dup3.c (dup3): Likewise.
42029         * tests/test-fchdir.c (main): Enhance test.
42030         Fixes a dup_cloexec bug reported by Ondřej Vašík.
42031
42032         fcntl: port portions of fcntl to mingw
42033         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
42034         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
42035         replacement for mingw.
42036         * modules/fcntl (Description): Update.
42037         (Depends-on): Add dup2.
42038         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
42039         * modules/fcntl-h (Makefile.am): Substitute it.
42040         * lib/fcntl.in.h (fcntl): Update declaration.
42041         (F_DUPFD, F_GETFD): New macros, when needed.
42042         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
42043         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
42044         * tests/test-fcntl.c (check_flags, main): Enhance test for items
42045         we now guarantee.
42046
42047         fcntl: work around cygwin bug in F_DUPFD
42048         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
42049         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
42050         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
42051         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
42052         * doc/posix-functions/fcntl.texi (fcntl): Document it.
42053
42054         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
42055         * modules/fcntl (Files): List new files.
42056         (configure.ac): Run a test.
42057         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
42058         * lib/fcntl.c (rpl_fcntl): Likewise.
42059         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
42060         (gl_FCNTL_H): Always replace fcntl.h.
42061         * modules/fcntl-h (Makefile.am): Substitute witnesses.
42062         * lib/fcntl.in.h (fcntl): Declare replacement.
42063         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
42064         needed, plus a witness.
42065         * doc/posix-functions/fcntl.texi (fcntl): Document this.
42066         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
42067         * tests/test-fcntl.c: New file.
42068         * modules/fcntl-tests: Likewise.
42069
42070         binary-io: avoid potential compilation warning
42071         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
42072         directives.
42073
42074         fflush: avoid compilation error on NetBSD
42075         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
42076         between off_t and fpos_t, since the latter is sometimes a struct.
42077         * lib/fseeko.c (rpl_fseeko): Likewise.
42078         Reported by Alexander Nasonov <alnsn@yandex.ru>.
42079
42080 2009-12-15  Eric Blake  <ebb9@byu.net>
42081
42082         fcntl-h, stdio, sys_ioctl: fix declarations
42083         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
42084         function must not take arguments.
42085         * lib/sys_ioctl.in.h (ioctl): Likewise.
42086         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
42087         (open): Add a link warning.
42088
42089 2009-12-15  Jim Meyering  <meyering@redhat.com>
42090
42091         areadlink, areadlink-with-size: relax license to LGPLv2+
42092         * modules/areadlink (License): Relax to LGPLv2+.
42093         * modules/areadlink-with-size (License): Likewise.
42094
42095 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
42096             Bruno Haible  <bruno@clisp.org>
42097
42098         *printf: Fix memory leak.
42099         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
42100         * lib/vfprintf.c (vfprintf): Likewise.
42101         * lib/dprintf.c (dprintf): Likewise.
42102         * lib/vdprintf.c (vdprintf): Likewise.
42103
42104 2009-12-14  Eric Blake  <ebb9@byu.net>
42105
42106         accept4: adjust module dependencies
42107         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
42108
42109         utimens: one more try at avoiding compiler warning
42110         * lib/utimens.c (lutimens): Lower scope of result.
42111
42112 2009-12-13  Bruno Haible  <bruno@clisp.org>
42113
42114         Move the malloc checking from module 'list' to new module 'xlist'.
42115         * modules/xlist: New file.
42116         * lib/gl_xlist.h: New file.
42117         * lib/gl_xlist.c: New file.
42118         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
42119         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
42120         gl_list_add_last, gl_list_add_before, gl_list_add_after,
42121         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
42122         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
42123         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
42124         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
42125         gl_sortedlist_nx_add): New declarations.
42126         (struct gl_list_implementation): Rename and change methods accordingly.
42127         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
42128         (gl_list_nx_create): Renamed from gl_list_create.
42129         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
42130         (gl_list_nx_set_at): Renamed from gl_list_set_at.
42131         (gl_list_nx_add_first): Renamed from gl_list_add_first.
42132         (gl_list_nx_add_last): Renamed from gl_list_add_last.
42133         (gl_list_nx_add_before): Renamed from gl_list_add_before.
42134         (gl_list_nx_add_after): Renamed from gl_list_add_after.
42135         (gl_list_nx_add_at): Renamed from gl_list_add_at.
42136         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
42137         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
42138         gl_list_create_empty.
42139         (gl_list_nx_create): Renamed from gl_list_create.
42140         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
42141         (gl_list_nx_set_at): Renamed from gl_list_set_at.
42142         (gl_list_nx_add_first): Renamed from gl_list_add_first.
42143         (gl_list_nx_add_last): Renamed from gl_list_add_last.
42144         (gl_list_nx_add_before): Renamed from gl_list_add_before.
42145         (gl_list_nx_add_after): Renamed from gl_list_add_after.
42146         (gl_list_nx_add_at): Renamed from gl_list_add_at.
42147         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
42148         * lib/gl_array_list.c: Don't include xalloc.h.
42149         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
42150         NULL upon out-of-memory.
42151         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
42152         out-of-memory.
42153         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
42154         Change return type to 'int'.
42155         (gl_array_nx_set_at): Renamed from gl_array_set_at.
42156         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
42157         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
42158         upon out-of-memory.
42159         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
42160         upon out-of-memory.
42161         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
42162         upon out-of-memory.
42163         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
42164         upon out-of-memory.
42165         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
42166         out-of-memory.
42167         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
42168         Update.
42169         (gl_array_list_implementation): Update.
42170         * lib/gl_carray_list.c: Don't include xalloc.h.
42171         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
42172         Return NULL upon out-of-memory.
42173         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
42174         out-of-memory.
42175         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
42176         Change return type to 'int'.
42177         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
42178         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
42179         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
42180         upon out-of-memory.
42181         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
42182         upon out-of-memory.
42183         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
42184         out-of-memory.
42185         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
42186         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
42187         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
42188         Update.
42189         (gl_carray_list_implementation): Update.
42190         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
42191         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
42192         gl_linked_create_empty. Return NULL upon out-of-memory.
42193         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
42194         out-of-memory.
42195         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
42196         Change return type to 'int'. Return -1 upon out-of-memory.
42197         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
42198         out-of-memory.
42199         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
42200         upon out-of-memory.
42201         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
42202         upon out-of-memory.
42203         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
42204         NULL upon out-of-memory.
42205         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
42206         upon out-of-memory.
42207         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
42208         out-of-memory.
42209         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
42210         Update.
42211         * lib/gl_linked_list.c: Don't include xalloc.h.
42212         (gl_linked_list_implementation): Update.
42213         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
42214         (add_to_bucket): Change return type to 'int'.
42215         (gl_linkedhash_list_implementation): Update.
42216         * lib/gl_anytree_list1.h (free_subtree): New function.
42217         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
42218         gl_tree_create_empty. Return NULL upon out-of-memory.
42219         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
42220         Change return type to 'int'. Return -1 upon out-of-memory.
42221         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
42222         out-of-memory.
42223         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
42224         (gl_tree_remove_node): New function, moved here from
42225         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
42226         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
42227         Update.
42228         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
42229         malloc, not xmalloc. Return NULL upon out-of-memory.
42230         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
42231         out-of-memory.
42232         (gl_tree_remove_node_from_tree): New function, extracted from
42233         gl_tree_remove_node.
42234         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
42235         upon out-of-memory.
42236         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
42237         out-of-memory.
42238         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
42239         upon out-of-memory.
42240         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
42241         upon out-of-memory.
42242         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
42243         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
42244         not xmalloc. Return NULL upon out-of-memory.
42245         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
42246         out-of-memory.
42247         (gl_tree_remove_node_from_tree): New function, extracted from
42248         gl_tree_remove_node.
42249         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
42250         upon out-of-memory.
42251         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
42252         out-of-memory.
42253         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
42254         upon out-of-memory.
42255         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
42256         upon out-of-memory.
42257         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
42258         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
42259         gl_anytree_list1.h before gl_anyavltree_list2.h.
42260         (gl_avltree_list_implementation): Update.
42261         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
42262         gl_anytree_list1.h before gl_anyavltree_list2.h.
42263         (gl_rbtree_list_implementation): Update.
42264         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
42265         Change return type to 'int'. Return -1 upon out-of-memory. Use
42266         __builtin_expect.
42267         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
42268         (gl_avltreehash_list_implementation): Update.
42269         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
42270         (gl_rbtreehash_list_implementation): Update.
42271         * modules/array-list (Depends-on): Remove xalloc.
42272         * modules/carray-list (Depends-on): Likewise.
42273         * modules/linked-list (Depends-on): Likewise.
42274         * modules/linkedhash-list (Depends-on): Likewise.
42275         * modules/avltree-list (Depends-on): Likewise.
42276         * modules/rbtree-list (Depends-on): Likewise.
42277         * modules/avltreehash-list (Depends-on): Likewise.
42278         * modules/rbtreehash-list (Depends-on): Likewise.
42279
42280         * modules/xsublist: New file.
42281         * lib/gl_xsublist.h: New file.
42282         * lib/gl_xsublist.c: New file.
42283         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
42284         (gl_sublist_nx_create): New declaration.
42285         * lib/gl_sublist.c: Don't include xalloc.h.
42286         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
42287         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
42288         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
42289         Change return type to 'int'. Return -1 upon out-of-memory.
42290         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
42291         upon out-of-memory.
42292         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
42293         NULL upon out-of-memory.
42294         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
42295         upon out-of-memory.
42296         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
42297         NULL upon out-of-memory.
42298         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
42299         NULL upon out-of-memory.
42300         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
42301         upon out-of-memory.
42302         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
42303         (gl_sublist_list_implementation): Update.
42304         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
42305         upon out-of-memory.
42306         * modules/sublist (Depends-on): Remove xalloc.
42307
42308         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
42309         * tests/test-carray_list.c: Likewise.
42310         * tests/test-linked_list.c: Likewise.
42311         * tests/test-linkedhash_list.c: Likewise.
42312         * tests/test-avltree_list.c: Likewise.
42313         * tests/test-rbtree_list.c: Likewise.
42314         * tests/test-avltreehash_list.c: Likewise.
42315         * tests/test-rbtreehash_list.c: Likewise.
42316         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
42317         * modules/carray-list-tests (Makefile.am): Likewise.
42318         * modules/linked-list-tests (Makefile.am): Likewise.
42319         * modules/linkedhash-list-tests (Makefile.am): Likewise.
42320         * modules/avltree-list-tests (Makefile.am): Likewise.
42321         * modules/rbtree-list-tests (Makefile.am): Likewise.
42322         * modules/avltreehash-list-tests (Makefile.am): Likewise.
42323         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
42324
42325         * NEWS: Mention the changes.
42326
42327         * lib/clean-temp.c: Include gl_xlist.h.
42328         * modules/clean-temp (Depends-on): Add xlist.
42329
42330         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
42331         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
42332
42333         * tests/test-array_oset.c: Include gl_xlist.h.
42334         * modules/array-oset-tests (Depends-on): Add xlist.
42335
42336         Reported by José E. Marchesi <jemarch@gnu.org>.
42337
42338 2009-12-13  Bruno Haible  <bruno@clisp.org>
42339
42340         Move the malloc checking from module 'oset' to new module 'xoset'.
42341         * modules/xoset: New file.
42342         * lib/gl_xoset.h: New file.
42343         * lib/gl_xoset.c: New file.
42344         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
42345         declarations.
42346         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
42347         (struct gl_oset_implementation): Rename and change methods accordingly.
42348         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
42349         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
42350         'int'. Mark as __warn_unused_result__.
42351         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
42352         gl_oset_create_empty.
42353         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
42354         'int'.
42355         * lib/gl_array_oset.c: Don't include xalloc.h.
42356         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
42357         malloc, not xmalloc.
42358         (grow): Change return type to 'int'. Don't call xalloc_die.
42359         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
42360         to 'int'.
42361         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
42362         'int'.
42363         (gl_array_oset_implementation): Update.
42364         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
42365         gl_tree_create_empty.
42366         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
42367         'int'.
42368         * lib/gl_avltree_oset.c: Don't include xalloc.h.
42369         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
42370         xmalloc.
42371         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
42372         not xmalloc.
42373         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
42374         xmalloc.
42375         (gl_avltree_oset_implementation): Update.
42376         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
42377         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
42378         xmalloc.
42379         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
42380         not xmalloc.
42381         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
42382         xmalloc.
42383         (gl_rbtree_oset_implementation): Update.
42384         * modules/array-oset (Depends-on): Remove xalloc.
42385         * modules/avltree-oset (Depends-on): Likewise.
42386         * modules/rbtree-oset (Depends-on): Likewise.
42387         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
42388         * tests/test-avltree_oset.c: Likewise.
42389         * tests/test-rbtree_oset.c: Likewise.
42390         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
42391         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
42392         * modules/rbtree-oset-tests (Makefile.am): Likewise.
42393         * NEWS: Mention the change.
42394
42395 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
42396
42397         maint.mk: allow a project to override release-prep commands
42398         * top/maint.mk (alpha, beta, stable): Move release-preparatory
42399         commands into a new rule.
42400         (release-prep): New rule.
42401         (release-prep-hook): New overridable variable.
42402
42403 2009-12-13  Bruno Haible  <bruno@clisp.org>
42404
42405         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
42406
42407 2009-12-13  Jim Meyering  <meyering@redhat.com>
42408
42409         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
42410         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
42411
42412 2009-12-12  Bruno Haible  <bruno@clisp.org>
42413
42414         duplocale: Tweak.
42415         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
42416
42417 2009-12-12  Karl Berry  <karl@gnu.org>
42418
42419         * config/srclist.txt (strtoll.c): tab changes, no more sync.
42420
42421 2009-12-12  Bruno Haible  <bruno@clisp.org>
42422
42423         * m4/po.m4: Undo incorrect untabification.
42424
42425 2009-12-12  Bruno Haible  <bruno@clisp.org>
42426
42427         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
42428         * modules/c-strtod (Depends-on): Add locale.
42429         * modules/c-strtold (Depends-on): Likewise.
42430
42431 2009-12-12  Bruno Haible  <bruno@clisp.org>
42432
42433         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
42434
42435 2009-12-11  Eric Blake  <ebb9@byu.net>
42436
42437         setenv: relax requirement in light of POSIX ruling
42438         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
42439         not NULL.
42440         * tests/test-setenv.c (main): Relax test.
42441         * tests/test-unsetenv.c (main): Likewise.
42442         * doc/posix-functions/setenv.texi (setenv): Document this.
42443         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
42444
42445 2009-12-11  Bruno Haible  <bruno@clisp.org>
42446
42447         New module 'fd-safer-flag'.
42448         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
42449         * lib/dup-safer.c (dup_safer_flag): Remove function.
42450         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
42451         * lib/fd-safer.c (fd_safer_flag): Remove function.
42452         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
42453         * modules/cloexec (configure.ac): Drop indicator macro.
42454         * modules/fd-safer-flag: New file.
42455         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
42456         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
42457         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
42458
42459 2009-12-11  Bruno Haible  <bruno@clisp.org>
42460
42461         Tests for module 'nl_langinfo'.
42462         * modules/nl_langinfo-tests: New file.
42463         * tests/test-nl_langinfo.sh: New file.
42464         * tests/test-nl_langinfo.c: New file.
42465
42466         New module 'nl_langinfo'.
42467         * lib/nl_langinfo.c: New file.
42468         * m4/nl_langinfo.m4: New file.
42469         * modules/nl_langinfo: New file.
42470         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
42471
42472 2009-12-11  Bruno Haible  <bruno@clisp.org>
42473
42474         Tests for module 'langinfo'.
42475         * modules/langinfo-tests: New file.
42476         * tests/test-langinfo.c: New file.
42477
42478         New module 'langinfo'.
42479         * lib/langinfo.in.h: New file.
42480         * m4/langinfo_h.m4: New file.
42481         * modules/langinfo: New file.
42482         * doc/posix-headers/langinfo.texi: Mention the new module.
42483
42484 2009-12-11  Bruno Haible  <bruno@clisp.org>
42485
42486         * lib/config.charset: Untabify.
42487
42488 2009-12-11  Bruno Haible  <bruno@clisp.org>
42489
42490         * modules/unistd-safer (configure.ac): Drop indicator macro.
42491
42492 2009-12-11  Bruno Haible  <bruno@clisp.org>
42493
42494         Move pipe2-safer code to its own file.
42495         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
42496         * lib/pipe-safer.c (pipe2_safer): Remove function.
42497         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
42498         (Makefile.am): Add it to lib_SOURCES.
42499
42500 2009-12-10  Bruno Haible  <bruno@clisp.org>
42501
42502         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
42503
42504 2009-12-10  Bruno Haible  <bruno@clisp.org>
42505
42506         Declare which arguments expect non-NULL values, for GCC and clang.
42507         * build-aux/arg-nonnull.h: New file.
42508         * modules/arg-nonnull: New file.
42509         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
42510         (inet_ntop, inet_pton): Use it.
42511         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
42512         (closedir, dirfd, opendir, scandir, alphasort): Use it.
42513         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
42514         (open, openat): Use it.
42515         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
42516         (fnmatch): Use it.
42517         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
42518         (getopt, getopt_long, getopt_long_only): Use it.
42519         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
42520         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
42521         Use it.
42522         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
42523         (iconv_open): Use it.
42524         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
42525         (strtoimax, strtoumax): Use it.
42526         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
42527         (duplocale): Use it.
42528         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
42529         (frexp, frexpl): Use it.
42530         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
42531         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
42532         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
42533         (tsearch, tfind, tdelete, twalk): Use it.
42534         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
42535         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
42536         sigpending): Use it.
42537         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
42538         (posix_spawn, posix_spawnp, posix_spawnattr_init,
42539         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
42540         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
42541         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
42542         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
42543         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
42544         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
42545         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
42546         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
42547         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
42548         Use it.
42549         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
42550         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
42551         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
42552         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
42553         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
42554         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
42555         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
42556         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
42557         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
42558         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
42559         strtoull, unsetenv): Use it.
42560         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
42561         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
42562         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
42563         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
42564         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
42565         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
42566         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
42567         (strcasecmp, strncasecmp): Use it.
42568         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
42569         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
42570         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
42571         rpl_setsockopt): Use it.
42572         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
42573         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
42574         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
42575         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
42576         (gettimeofday): Use it.
42577         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
42578         (times): Use it.
42579         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
42580         (uname): Use it.
42581         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
42582         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
42583         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
42584         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
42585         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
42586         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
42587         unlinkat, write): Use it.
42588         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
42589         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
42590         * lib/argv-iter.h: Include arg-nonnull.h.
42591         (_ATTRIBUTE_NONNULL_): Remove macro.
42592         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
42593         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
42594         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
42595         optimization.
42596         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
42597         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
42598         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
42599         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
42600         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
42601         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
42602         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
42603         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
42604         * modules/arpa_inet (Depends-on): Add arg-nonnull.
42605         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
42606         * modules/dirent (Depends-on): Add arg-nonnull.
42607         (Makefile.am): Insert arg-nonnull.h into dirent.h.
42608         * modules/fcntl-h (Depends-on): Add arg-nonnull.
42609         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
42610         * modules/fnmatch (Depends-on): Add arg-nonnull.
42611         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
42612         * modules/getopt-posix (Depends-on): Add arg-nonnull.
42613         (Makefile.am): Insert arg-nonnull.h into getopt.h.
42614         * modules/glob (Depends-on): Add arg-nonnull.
42615         (Makefile.am): Insert arg-nonnull.h into glob.h.
42616         * modules/iconv_open (Depends-on): Add arg-nonnull.
42617         (Makefile.am): Insert arg-nonnull.h into iconv.h.
42618         * modules/inttypes (Depends-on): Add arg-nonnull.
42619         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
42620         * modules/locale (Depends-on): Add arg-nonnull.
42621         (Makefile.am): Insert arg-nonnull.h into locale.h.
42622         * modules/math (Depends-on): Add arg-nonnull.
42623         (Makefile.am): Insert arg-nonnull.h into math.h.
42624         * modules/netdb (Depends-on): Add arg-nonnull.
42625         (Makefile.am): Insert arg-nonnull.h into netdb.h.
42626         * modules/search (Depends-on): Add arg-nonnull.
42627         (Makefile.am): Insert arg-nonnull.h into search.h.
42628         * modules/signal (Depends-on): Add arg-nonnull.
42629         (Makefile.am): Insert arg-nonnull.h into signal.h.
42630         * modules/spawn (Depends-on): Add arg-nonnull.
42631         (Makefile.am): Insert arg-nonnull.h into spawn.h.
42632         * modules/stdio (Depends-on): Add arg-nonnull.
42633         (Makefile.am): Insert arg-nonnull.h into stdio.h.
42634         * modules/stdlib (Depends-on): Add arg-nonnull.
42635         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
42636         * modules/string (Depends-on): Add arg-nonnull.
42637         (Makefile.am): Insert arg-nonnull.h into string.h.
42638         * modules/strings (Depends-on): Add arg-nonnull.
42639         (Makefile.am): Insert arg-nonnull.h into strings.h.
42640         * modules/sys_socket (Depends-on): Add arg-nonnull.
42641         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
42642         * modules/sys_stat (Depends-on): Add arg-nonnull.
42643         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
42644         * modules/sys_time (Depends-on): Add arg-nonnull.
42645         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
42646         * modules/sys_times (Depends-on): Add arg-nonnull.
42647         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
42648         * modules/sys_utsname (Depends-on): Add arg-nonnull.
42649         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
42650         * modules/time (Depends-on): Add arg-nonnull.
42651         (Makefile.am): Insert arg-nonnull.h into time.h.
42652         * modules/unistd (Depends-on): Add arg-nonnull.
42653         (Makefile.am): Insert arg-nonnull.h into unistd.h.
42654         * modules/wchar (Depends-on): Add arg-nonnull.
42655         (Makefile.am): Insert arg-nonnull.h into wchar.h.
42656         * modules/argv-iter (Depends-on): Add arg-nonnull.
42657         * tests/test-canonicalize.c (null_ptr): New function.
42658         (main): Use it.
42659         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
42660         (main): Use it.
42661         * tests/test-memmem.c (null_ptr): New function.
42662         (main): Use it.
42663         Reported by Jim Meyering.
42664
42665 2009-12-10  Bruno Haible  <bruno@clisp.org>
42666
42667         Use spaces for indentation, not tabs.
42668         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
42669         * m4/*.m4: Untabify.
42670         * build-aux/*.h: Untabify.
42671         * tests/**/*.[hc]: Untabify.
42672         * README: New section "Indent with spaces, not TABs", based on
42673         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
42674         * NEWS: Mention the change.
42675
42676 2009-12-10  Bruno Haible  <bruno@clisp.org>
42677
42678         pty test: Fix link error.
42679         * modules/pty-tests (Makefile.am): Add the default LDADD value to
42680         test_pty_LDADD.
42681
42682 2009-12-07  Simon Josefsson  <simon@josefsson.org>
42683
42684         * modules/pty: New file.
42685         * modules/pty-tests: New file.
42686         * m4/pty.m4: New file.
42687         * tests/test-pty.c: New file.
42688         * doc/glibc-headers/pty.texi: Modified.
42689         * doc/glibc-functions/forkpty.texi: Modified.
42690         * doc/glibc-functions/openpty.texi: Modified.
42691
42692 2009-12-10  Bruno Haible  <bruno@clisp.org>
42693
42694         Avoid syntax error in C++ mode.
42695         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
42696
42697 2009-12-10  Bruno Haible  <bruno@clisp.org>
42698
42699         Use sed with option -e.
42700         * gnulib-tool (func_version, func_emit_copyright_notice,
42701         func_emit_initmacro_end, func_import, func_create_testdir): Pass
42702         option -e to sed.
42703         * modules/link-warning (Makefile.am): Likewise.
42704
42705 2009-12-10  Jim Meyering  <meyering@redhat.com>
42706
42707         mgetgroups: do not write bytes beyond end of malloc'd buffer
42708         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
42709         username, we call getgroups with a one-element-shorter buffer,
42710         but still told it the length was original, max_n_groups.
42711
42712 2009-12-09  Eric Blake  <ebb9@byu.net>
42713
42714         cloexec: relax license
42715         * modules/cloexec (Maintainer): Add myself.
42716         (License): Use LGPL, not GPL.
42717
42718         link-warning: optimize generation
42719         * modules/link-warning (Makefile.am): Reduce process usage.
42720
42721 2009-12-09  Bruno Haible  <bruno@clisp.org>
42722
42723         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
42724         workaround was added on 2009-11-17.
42725
42726 2009-12-09  Jim Meyering  <meyering@redhat.com>
42727             Bruno Haible  <bruno@clisp.org>
42728
42729         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
42730         * modules/link-warning (Makefile.am): Make the comment-removing sed
42731         command more robust in the face of bootstrap-prepended comment lines.
42732
42733 2009-12-09  Bruno Haible  <bruno@clisp.org>
42734
42735         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
42736         most one group.
42737
42738 2009-12-09  Simon Josefsson <simon@josefsson.org>
42739             Bruno Haible  <bruno@clisp.org>
42740
42741         * build-aux/link-warning.h: Add copyright notice.
42742         * modules/link-warning (Makefile.am): Generate link-warning.h from
42743         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
42744         * NEWS: Mention change in link-warning module.
42745         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
42746         * modules/dirent (Makefile.am): Add dependency to dirent.h.
42747         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
42748         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
42749         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
42750         * modules/math (Makefile.am): Add dependency to math.h.
42751         * modules/search (Makefile.am): Add dependency to search.h.
42752         * modules/signal (Makefile.am): Add dependency to signal.h.
42753         * modules/spawn (Makefile.am): Add dependency to spawn.h.
42754         * modules/stdio (Makefile.am): Add dependency to stdio.h.
42755         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
42756         * modules/string (Makefile.am): Add dependency to string.h.
42757         * modules/strings (Makefile.am): Add dependency to strings.h.
42758         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
42759         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
42760         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
42761         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
42762         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
42763         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
42764         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
42765         * modules/unistd (Makefile.am): Add dependency to unistd.h.
42766         * modules/wchar (Makefile.am): Add dependency to wchar.h.
42767
42768 2009-12-09  Bruno Haible  <bruno@clisp.org>
42769
42770         fchdir: Optimize away rpl_fstat when possible.
42771         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
42772         REPLACE_OPEN_DIRECTORY.
42773         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
42774
42775 2009-12-09  Bruno Haible  <bruno@clisp.org>
42776
42777         * lib/fchdir.c: Update comment.
42778
42779 2009-12-09  Bruno Haible  <bruno@clisp.org>
42780
42781         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
42782
42783 2009-12-08  Eric Blake  <ebb9@byu.net>
42784
42785         fchdir: avoid memory leak on re-registration.
42786         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
42787
42788 2009-12-08  Jim Meyering  <meyering@redhat.com>
42789
42790         init.sh: avoid Solaris 10 /bin/sh portability problem
42791         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
42792         sourced script:
42793           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
42794           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
42795           bar
42796         tests/init.sh relied on that, accepting a --set-path=DIR argument,
42797         and two tests used that idiom.
42798         * tests/init.sh: Update suggested usage comments.
42799         (path_prepend_): New function, to be used in place
42800         of the --src-path=DIR option.
42801         (setup_): Move PATH-prepending code into path_prepend_.
42802         * tests/test-pread.sh: Adapt to new usage.
42803         * tests/test-xalloc-die.sh: Likewise.
42804
42805 2009-12-08  Simon Josefsson  <simon@josefsson.org>
42806
42807         * doc/gnulib.texi (Glibc pty.h): Add.
42808         * doc/glibc-functions/forkpty.texi: Add.
42809         * doc/glibc-functions/openpty.texi: Add.
42810         Suggested by Bruno Haible.
42811
42812 2009-12-08  Eric Blake  <ebb9@byu.net>
42813
42814         fchdir: fix logic bugs
42815         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
42816         * tests/test-fchdir.c (main): Enhance test.
42817         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
42818         is in use.
42819
42820         dup2: fix logic bugs
42821         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
42822         REPLACE_DUP2 to decide when rpl_dup2 is needed.
42823         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
42824         exists.
42825         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
42826
42827 2009-12-07  Eric Blake  <ebb9@byu.net>
42828
42829         unlink: fix m4 detection
42830         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
42831
42832         unistd-safer: add unit test
42833         * modules/unistd-safer-tests: New file.
42834         * tests/test-dup-safer.c: Likewise.
42835         * tests/test-cloexec.c (setmode): Avoid compiler warning.
42836         * tests/test-dup2.c (setmode): Likewise.
42837         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
42838
42839         cloexec: preserve text vs. binary across dup_cloexec
42840         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
42841         mode.
42842         * modules/dup2-tests (Depends-on): Add binary-io.
42843         * modules/cloexec-tests (Depends-on): Likewise.
42844         * tests/test-dup2.c (setmode, is_mode): New helpers.
42845         (main): Add tests that translation mode is preserved.
42846         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
42847         Reported by Bruno Haible.
42848
42849         mgetgroups: reduce duplicate listings
42850         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
42851         resulting array.
42852         * tests/test-chown.h (test_chown): Simplify client.
42853         * tests/test-lchown.h (test_lchown): Likewise.
42854
42855 2009-12-06  Bruno Haible  <bruno@clisp.org>
42856
42857         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
42858         value.
42859
42860 2009-12-06  Bruno Haible  <bruno@clisp.org>
42861
42862         * lib/progname.c: Include stdio.h, stdlib.h.
42863         (set_program_name): Reject a NULL argument.
42864
42865 2009-12-05  Eric Blake  <ebb9@byu.net>
42866
42867         pipe2-safer: new module
42868         * modules/pipe2-safer: New file.
42869         * lib/unistd-safer.h (pipe2_safer): New prototype.
42870         * lib/unistd--.h (pipe2): New wrapper.
42871         * lib/pipe-safer.c (pipe2_safer): New function.
42872         * modules/pipe (Depends-on): Add pipe2-safer.
42873         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
42874
42875         stdlib-safer: preserve cloexec flag for mkostemp[s]
42876         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
42877         fd_safer_flag.
42878
42879         unistd-safer: allow preservation of cloexec status via flag
42880         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
42881         prototypes.
42882         * lib/dup-safer.c (dup_safer_flag): New function.
42883         * lib/fd-safer.c (fd_safer_flag): Likewise.
42884         * modules/cloexec (configure.ac): Set witness.
42885
42886         test-dup2: enhance test
42887         * modules/dup2-tests (Depends-on): Add cloexec.
42888         * tests/test-dup2.c (main): Enhance test.
42889
42890         cloexec: add dup_cloexec
42891         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
42892         header and comments.
42893         * lib/cloexec.c (set_cloexec_flag): Add comments.
42894         (dup_cloexec): New function, with mingw implementation borrowed
42895         from...
42896         * lib/w32spawn.h (dup_noinherit): ...here.
42897         * modules/execute (Depends-on): Add cloexec.
42898         * modules/pipe (Depends-on): Likewise.
42899         * modules/cloexec (Depends-on): Add dup2.
42900         * modules/cloexec-tests (Files): New file.
42901         * tests/test-cloexec.c: Likewise.
42902
42903         test-xalloc-die: fix test for mingw
42904         * modules/xalloc-die-tests (Files): Add tests/init.sh.
42905         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
42906         directory and .exe suffix off argv[0] output.
42907
42908         test-fseeko: fix test for mingw
42909         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
42910         than undefining fseek, so test will pass on mingw.
42911
42912 2009-12-05  Bruno Haible  <bruno@clisp.org>
42913
42914         * lib/progname.h (set_program_name): Clarify specification.
42915         * lib/progname.c (set_program_name): Likewise.
42916         Reported by Jim Meyering.
42917
42918 2009-12-05  Jim Meyering  <meyering@redhat.com>
42919
42920         maint.mk: backslash-escape parens in default regexp
42921         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
42922         backslash-escape the literal parentheses.
42923
42924         maint.mk: news-date-check: use grep -E
42925         * top/maint.mk (today): Define a Make variable, not a...
42926         (news-date-check): ...shell variable.
42927         (news-date-regexp): Use the Make variable.
42928         Use grep's -E option.  Change the failing diagnostic to mention
42929         the variable, $(news-date-regexp).
42930
42931 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
42932
42933         maintainer-makefile: allow customization of NEWS entry format
42934         * top/maint.mk (news-date-regexp): New overridable variable.
42935         (news-date-check): Use it.
42936
42937 2009-12-04  Eric Blake  <ebb9@byu.net>
42938
42939         mgetgroups: add xgetgroups, and avoid ENOSYS failures
42940         * lib/mgetgroups.h (xgetgroups): New prototype.
42941         * lib/mgetgroups.c (xgetgroups): New wrapper.
42942         (mgetgroups): Handle ENOSYS.
42943         * modules/mgetgroups (Depends-on): Add realloc.
42944         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
42945
42946         mgetgroups: avoid argument promotion issues with -1
42947         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
42948         for invalid gid_t.
42949         * tests/test-chown.h (getegid, test_chown): Likewise.
42950         * tests/test-lchown.h (getegid, test_lchown): Likewise.
42951
42952 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
42953
42954         exclude: Fix header file problems.
42955         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
42956
42957 2009-12-01  Jim Meyering  <meyering@redhat.com>
42958
42959         fts: fts_open: do not let an empty string cause immediate failure
42960         This is required in support of GNU rm, for which the command
42961         "rm A '' B" must process and remove both A and B, in spite of
42962         the empty string argument.
42963         * lib/fts.c (fts_open): Do not let the presence of an empty string
42964         cause fts_open to fail immediately.  Most fts-using tools must be
42965         able to process all arguments, in order, and can be expected to
42966         diagnose such arguments themselves.
42967
42968 2009-11-30  Eric Blake  <ebb9@byu.net>
42969
42970         utimens: fix compilation error
42971         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
42972         Declare variable at right scope.
42973
42974 2009-11-29  Jim Meyering  <meyering@redhat.com>
42975
42976         bootstrap: handle perl-5.11's changed --version output
42977         * build-aux/bootstrap (get_version): Handle perl separately,
42978         since perl-5.11's --version output is different.
42979
42980 2009-11-28  Jim Meyering  <meyering@redhat.com>
42981
42982         userspec: depend on the inttostr module, too
42983         * modules/userspec (Depends-on): Add inttostr.
42984
42985         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
42986         * lib/userspec.c (parse_with_separator): Do not accept a user ID
42987         number of MAXUID when it evaluates to (uid_t) -1.
42988         Likewise for group ID.  Reported by Matt McCutchen in
42989         <http://savannah.gnu.org/bugs/?28113>
42990
42991         userspec: reformat to use spaces, not TABs
42992         * lib/userspec.c: Expand TABs to spaces.
42993         Add Emacs' "indent-tabs-mode: nil" hint.
42994
42995 2009-11-27  Eric Blake  <ebb9@byu.net>
42996
42997         getopt-gnu: flush out another BSD bug
42998         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
42999         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
43000         flush out BSD bug.
43001         * tests/test-getopt.h (test_getopt): End lists with NULL.
43002         * tests/test-getopt_long.h (test_getopt_long): Likewise.
43003         (test_getopt_long_posix): Enhance test.
43004         * modules/getopt-posix-tests (Depends-on): Add stdbool.
43005         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
43006         getopt-gnu.
43007         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
43008         Likewise.
43009
43010 2009-11-27  Simon Josefsson  <simon@josefsson.org>
43011
43012         * modules/idpriv-droptemp-tests (Notice): Fix text.
43013
43014 2009-11-27  Jim Meyering  <meyering@redhat.com>
43015
43016         test-xalloc-die: avoid spurious failure due to libtool argv difference
43017         In a libtool-enabled project, this test would fail due to a difference
43018         in the emitted program name, e.g.,
43019         -test-xalloc-die: memory exhausted
43020         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
43021         Use program to avoid that.
43022         * modules/xalloc-die-tests (Depends-on): Add progname.
43023         * tests/test-xalloc-die.c: Include progname.h".
43024         (program_name): Remove decl.
43025         (main): Call set_program_name.
43026         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
43027
43028 2009-11-26  Richard Jones  <rjones@redhat.com>
43029
43030         w32sock: leave win32 error in place.
43031         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
43032
43033 2009-11-26  Eric Blake  <ebb9@byu.net>
43034
43035         init.sh: suggest to use skip_ and fail_ functions in comments
43036         * tests/init.sh: Add a sentence.
43037
43038 2009-11-25  Bruno Haible  <bruno@clisp.org>
43039
43040         init.sh: add documentation in comments
43041         * tests/init.sh: Add some developer and user documentation.
43042
43043 2009-11-26  Jim Meyering  <meyering@redhat.com>
43044
43045         init.sh: accommodate even those who specify bogus srcdir manually
43046         * tests/init.sh: Normally, srcdir is guaranteed by automake and
43047         configure-time tests to be sanitized, so that there is no need to
43048         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
43049         (with no double quotes) suffices.  However, since tests may be
43050         invoked manually, and since you may explicitly set srcdir to the
43051         name of a directory containing spaces, do quote its uses here.
43052         * tests/test-pread.sh: Likewise.
43053         Suggested by Bruno Haible.
43054
43055         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
43056         * tests/test-pread.sh: Write no data into the pipe, because
43057         test-pread actually reads none.  This avoids a diagnostic,
43058         "bash: echo: write error: Broken pipe", that arises in the unusual
43059         event something is ignoring SIGPIPE, and might be interpreted
43060         as some sort of failure.  Reported by Bruno Haible.
43061
43062 2009-11-25  Jim Meyering  <meyering@redhat.com>
43063
43064         test-pread: cover failure with ESPIPE and EINVAL
43065         * tests/test-pread.c (main): Test for failure, too.
43066         * tests/test-pread.sh: Invoke with stdin on a pipe.
43067         Suggested by Eric Blake.
43068
43069         pread: improvement and fix
43070         * modules/pread (Depends-on): Depend on lseek, for portability to
43071         e.g., mingw.  Suggested by Eric Blake.
43072         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
43073
43074         unistd.in.h: correct declaration of pread
43075         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
43076         Reported by Richard W.M. Jones.
43077
43078         test-pread.sh: distribute the test script
43079         * modules/pread-tests (Files): Include test-pread.sh.
43080
43081         test-pread.sh: clean up
43082         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
43083         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
43084         That is unnecessary, since it's always ".".
43085         Suggestion from Eric Blake.
43086
43087         test-pread.sh: make executable
43088         * tests/test-pread.sh: Set executable bit.
43089         Reported by Eric Blake.
43090
43091         correct typo in test-pread.sh
43092         * tests/test-pread.sh: Add #! line.
43093
43094         test pread
43095         * tests/test-pread.c: New file.
43096         * tests/test-pread.sh: Likewise.
43097         * modules/pread-tests: Likewise.
43098
43099         pread: new module
43100         * modules/pread: New file.
43101         * lib/unistd.in.h (pread): Define/declare.
43102         * lib/pread.c (pread): New file.
43103         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
43104         * modules/unistd (Makefile.am): Substitute witnesses.
43105         * doc/posix-functions/pread.texi (pread): Update.
43106         * MODULES.html.sh: Add pread.
43107
43108 2009-11-25  Jim Meyering  <meyering@redhat.com>
43109
43110         tests/init.sh: new file to be used via most *.sh tests
43111         * tests/init.sh: New file.
43112
43113 2009-11-25  Eric Blake  <ebb9@byu.net>
43114
43115         utimens: work around older Linux failure with symlinks
43116         * lib/utimens.c (lutimensat_works_really): New variable.
43117         (fdutimens, lutimens): Use it to manage kernels that support
43118         nanosecond times on files, but not on symlinks.
43119         Reported by Ondřej Vašík.
43120
43121         utimes: fix configure grammar
43122         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
43123
43124 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
43125
43126         regex: Fix fastmap for multibyte character ranges.
43127         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
43128         characters when a multibyte character range is included.
43129
43130 2009-11-22  Andy Wingo  <wingo@pobox.com>
43131
43132         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
43133         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
43134
43135 2009-11-24  Bruno Haible  <bruno@clisp.org>
43136
43137         doc: Most *_l functions exist in MacOS X 10.5.
43138         * doc/posix-functions/duplocale.texi: Update platforms list.
43139         * doc/posix-functions/freelocale.texi: Likewise.
43140         * doc/posix-functions/newlocale.texi: Likewise.
43141         * doc/posix-functions/uselocale.texi: Likewise.
43142         * doc/posix-functions/isalnum_l.texi: Likewise.
43143         * doc/posix-functions/isalpha_l.texi: Likewise.
43144         * doc/posix-functions/isblank_l.texi: Likewise.
43145         * doc/posix-functions/iscntrl_l.texi: Likewise.
43146         * doc/posix-functions/isdigit_l.texi: Likewise.
43147         * doc/posix-functions/isgraph_l.texi: Likewise.
43148         * doc/posix-functions/islower_l.texi: Likewise.
43149         * doc/posix-functions/isprint_l.texi: Likewise.
43150         * doc/posix-functions/ispunct_l.texi: Likewise.
43151         * doc/posix-functions/isspace_l.texi: Likewise.
43152         * doc/posix-functions/isupper_l.texi: Likewise.
43153         * doc/posix-functions/iswalnum_l.texi: Likewise.
43154         * doc/posix-functions/iswalpha_l.texi: Likewise.
43155         * doc/posix-functions/iswblank_l.texi: Likewise.
43156         * doc/posix-functions/iswcntrl_l.texi: Likewise.
43157         * doc/posix-functions/iswctype_l.texi: Likewise.
43158         * doc/posix-functions/iswdigit_l.texi: Likewise.
43159         * doc/posix-functions/iswgraph_l.texi: Likewise.
43160         * doc/posix-functions/iswlower_l.texi: Likewise.
43161         * doc/posix-functions/iswprint_l.texi: Likewise.
43162         * doc/posix-functions/iswpunct_l.texi: Likewise.
43163         * doc/posix-functions/iswspace_l.texi: Likewise.
43164         * doc/posix-functions/iswupper_l.texi: Likewise.
43165         * doc/posix-functions/iswxdigit_l.texi: Likewise.
43166         * doc/posix-functions/isxdigit_l.texi: Likewise.
43167         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
43168         * doc/posix-functions/strcasecmp_l.texi: Likewise.
43169         * doc/posix-functions/strcoll_l.texi: Likewise.
43170         * doc/posix-functions/strfmon_l.texi: Likewise.
43171         * doc/posix-functions/strftime_l.texi: Likewise.
43172         * doc/posix-functions/strncasecmp_l.texi: Likewise.
43173         * doc/posix-functions/strxfrm_l.texi: Likewise.
43174         * doc/posix-functions/tolower_l.texi: Likewise.
43175         * doc/posix-functions/toupper_l.texi: Likewise.
43176         * doc/posix-functions/towctrans_l.texi: Likewise.
43177         * doc/posix-functions/towlower_l.texi: Likewise.
43178         * doc/posix-functions/towupper_l.texi: Likewise.
43179         * doc/posix-functions/wcscoll_l.texi: Likewise.
43180         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
43181         * doc/posix-functions/wctrans_l.texi: Likewise.
43182         * doc/posix-functions/wctype_l.texi: Likewise.
43183         * doc/glibc-functions/strptime_l.texi: Likewise.
43184         * doc/glibc-functions/strtod_l.texi: Likewise.
43185         * doc/glibc-functions/strtof_l.texi: Likewise.
43186         * doc/glibc-functions/strtol_l.texi: Likewise.
43187         * doc/glibc-functions/strtold_l.texi: Likewise.
43188         * doc/glibc-functions/strtoll_l.texi: Likewise.
43189         * doc/glibc-functions/strtoul_l.texi: Likewise.
43190         * doc/glibc-functions/strtoull_l.texi: Likewise.
43191         * doc/glibc-functions/wcsftime_l.texi: Likewise.
43192         * doc/glibc-functions/wcstod_l.texi: Likewise.
43193         * doc/glibc-functions/wcstof_l.texi: Likewise.
43194         * doc/glibc-functions/wcstol_l.texi: Likewise.
43195         * doc/glibc-functions/wcstold_l.texi: Likewise.
43196         * doc/glibc-functions/wcstoll_l.texi: Likewise.
43197         * doc/glibc-functions/wcstoul_l.texi: Likewise.
43198         * doc/glibc-functions/wcstoull_l.texi: Likewise.
43199
43200 2009-11-24  Bruno Haible  <bruno@clisp.org>
43201
43202         duplocale: Fix logic bug.
43203         * lib/duplocale.c: Don't include <langinfo.h>.
43204         (_NL_LOCALE_NAME): Remove macro.
43205         (rpl_duplocale): Use setlocale instead of nl_langinfo.
43206         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
43207
43208 2009-11-23  Jim Meyering  <meyering@redhat.com>
43209
43210         test-update-copyright: don't hard-code /usr/bin/perl
43211         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
43212         perl to print the current year.  Gilles Espinasse reported that
43213         the replaced use of perl was hard-coded as /usr/bin/perl.
43214
43215 2009-11-23  Bruno Haible  <bruno@clisp.org>
43216
43217         duplocale: Add support for glibc 2.3.x.
43218         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
43219
43220 2009-11-22  Bruno Haible  <bruno@clisp.org>
43221
43222         vasnprintf: Tiny optimization.
43223         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
43224         MacOS X.
43225
43226 2009-11-22  Bruno Haible  <bruno@clisp.org>
43227
43228         Tests for module 'duplocale'.
43229         * modules/duplocale-tests: New file.
43230         * tests/test-duplocale.c: New file.
43231
43232         New module 'duplocale'.
43233         * m4/duplocale.m4: New file.
43234         * lib/locale.in.h (duplocale): New declaration.
43235         * lib/duplocale.c: New file.
43236         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
43237         gl_LOCALE_H_DEFAULTS): New macros.
43238         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
43239         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
43240         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
43241         REPLACE_DUPLOCALE.
43242         * modules/duplocale: New file.
43243         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
43244
43245 2009-11-22  Bruno Haible  <bruno@clisp.org>
43246
43247         * modules/locale-tests (configure.ac): Test for newlocale function.
43248         * tests/test-locale.c: When the system has extended locale functions,
43249         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
43250
43251         locale: Make locale_t available when possible.
43252         * lib/locale.in.h: Include <xlocale.h> when it exists.
43253         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
43254         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
43255         * modules/locale (Depends-on): Add extensions.
43256         (Makefile.am): Also substitute HAVE_XLOCALE_H.
43257         * doc/posix-headers/locale.texi: Document the problem with locale_t.
43258
43259 2009-11-22  Bruno Haible  <bruno@clisp.org>
43260
43261         Add comments.
43262         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
43263         invocation.
43264         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
43265         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
43266         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
43267
43268 2009-11-22  Bruno Haible  <bruno@clisp.org>
43269
43270         error: account for the possibility of freopen (stdout).
43271         * lib/error.c: Include <unistd.h>.
43272         (flush_stdout): New function, extracted from error and error_at_line.
43273         Determine stdout's fd dynamically.
43274         (error, error_at_line): Invoke flush_stdout.
43275         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
43276         * modules/error (Depends-on): Add unistd.
43277
43278 2009-11-22  Bruno Haible  <bruno@clisp.org>
43279
43280         diffseq: Add comment.
43281         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
43282
43283 2009-11-22  Jim Meyering  <meyering@redhat.com>
43284
43285         c-stack: avoid defining an unused static function
43286         * lib/c-stack.c (find_stack_direction): Do not define this function
43287         when it will not be used.
43288
43289         diffseq: avoid spurious gcc warnings
43290         * lib/diffseq.h (IF_LINT2): Define.
43291         (compareseq): Use it to initialize two members of "part".
43292         This avoids two used-uninitialized warnings.
43293
43294 2009-11-21  Jim Meyering  <meyering@redhat.com>
43295
43296         c-stack: avoid "ignoring return value of `write'" warning
43297         * lib/c-stack.c: Include "ignore-value.h".
43298         (die): Explicitly ignore each write return value.
43299         * modules/c-stack (Depends-on): Add ignore-value.
43300
43301 2009-11-21  Bruno Haible  <bruno@clisp.org>
43302
43303         diffseq: reduce scope of variable 'best'.
43304         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
43305         variable, earlier used for two different purposes.
43306
43307 2009-11-21  Jim Meyering  <meyering@redhat.com>
43308
43309         diffseq: remove useless assignment to "best"
43310         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
43311         assignment.  At that point "best" is already guaranteed to be zero.
43312
43313 2009-11-20  Eric Blake  <ebb9@byu.net>
43314
43315         build: mention ftp redirector in release announcements
43316         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
43317         values that used to come from cfg.mk; mention FTP redirect URL.
43318         * build-aux/announce-gen: Mention the mirror list.
43319         Suggested by Karl Berry.
43320
43321         nanosleep: improve port to mingw
43322         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
43323         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
43324         LIB_NANOSLEEP, but only when needed.
43325         * modules/select (Link): Document LIBSOCKET.
43326         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
43327         enough.
43328
43329         nanosleep: work around cygwin bug
43330         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
43331         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
43332         bug.
43333         (getnow): Delete, not needed.
43334         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
43335         LIB_CLOCK_GETTIME.
43336         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
43337         clock-time, gettime.
43338         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
43339         bug.
43340         * modules/nanosleep-tests: New test.
43341         * tests/test-nanosleep.c: New file.
43342
43343         sleep: work around cygwin bug
43344         * lib/sleep.c (rpl_sleep): Work around the bug.
43345         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
43346         (gl_PREREQ_SLEEP): Delete unused macro.
43347         * modules/sleep (Depends-on): Add verify.
43348         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
43349         * modules/unistd (Makefile.am): Substitute witness.
43350         * lib/unistd.in.h (sleep): Update prototype.
43351         * doc/posix-functions/sleep.texi (sleep): Document the bug.
43352         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
43353         * modules/sleep-tests (Depends-on): Check for alarm.
43354
43355 2009-11-20  Jim Meyering  <meyering@redhat.com>
43356
43357         maint.mk: improve sc_prohibit_magic_number_exit
43358         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
43359         so it does not match uses like System.exit(1).
43360         Add comments showing how to correct all offenders.
43361
43362 2009-11-19  Eric Blake  <ebb9@byu.net>
43363
43364         xalloc-die-tests: add missing library
43365         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
43366
43367         test-xvasprintf: silence compiler warnings
43368         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
43369         empty string from gcc.
43370
43371 2009-11-19  Jim Meyering  <meyering@redhat.com>
43372
43373         xfreopen: new module, from coreutils
43374         * modules/xfreopen: New module.
43375         * lib/xfreopen.c: New file.
43376         * lib/xfreopen.h: New file.
43377         * MODULES.html.sh (File stream based Input/Output"): Add it.
43378
43379 2009-11-19  Eric Blake  <ebb9@byu.net>
43380
43381         manywarnings: depend on warnings
43382         * modules/manywarnings (Depends-on): Add warnings.
43383
43384         build: avoid compiler warnings
43385         * lib/select.c (rpl_select): Delete unused variable.
43386         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
43387
43388 2009-11-18  Eric Blake  <ebb9@byu.net>
43389
43390         tests: avoid false negative with --with-packager
43391         * tests/test-version-etc.sh: Discard packager information.
43392         * tests/test-argp-version-etc-1.sh: Likewise.
43393         Reported by Mike Frysinger.
43394
43395         utimens: fix regression on Solaris
43396         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
43397         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
43398         can only change fd timestamps via futimesat.  Instead, use an
43399         additional witness macro to avoid BSD bug.
43400         Reported by Jim Meyering.
43401
43402 2009-11-17  Eric Blake  <ebb9@byu.net>
43403
43404         usleep: use it to simplify tests
43405         * modules/stat-time-tests (Depends-on): Add usleep.
43406         (configure.ac): Drop usleep check.
43407         * modules/chown-tests (Depends-on, configure.ac): Likewise.
43408         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
43409         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
43410         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
43411         * modules/openat-tests (Depends-on, configure.ac): Likewise.
43412         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
43413         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
43414         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
43415         Likewise.
43416         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
43417         * tests/test-lchown.h (nap): Likewise.
43418         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
43419         * tests/test-stat-time.c (nap): Likewise.
43420         * tests/test-utimens-common.h (nap): Update comments.
43421
43422         usleep: new module
43423         * modules/usleep: New file.
43424         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
43425         * lib/usleep.c (usleep): Likewise.
43426         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
43427         * modules/unistd (Makefile.am): Substitute witnesses.
43428         * lib/unistd.in.h (usleep): Add declaration.
43429         * doc/pastposix-functions/usleep.texi (usleep): Document this.
43430         * MODULES.html.sh (Date and time): Likewise.
43431         * modules/usleep-tests (Depends-on): New test.
43432         * tests/test-usleep.c: New file.
43433
43434         chown: work around OpenBSD bug
43435         * lib/chown.c (rpl_chown): Work around the bug.
43436         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
43437         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
43438         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
43439         * modules/chown (Depends-on): Add stdbool.
43440         * modules/lchown (Depends-on): Likewise.
43441         * doc/posix-functions/chown.texi (chown): Document the bug.
43442         * doc/posix-functions/lchown.texi (lchown): Likewise.
43443         * tests/test-lchown.h (test_chown): Relax test.
43444
43445         mkstemp: avoid conflict with C++ keyword template
43446         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
43447         * lib/mkostemp.c (mkostemp): Likewise.
43448         * lib/mkostemps.c (mkostemps): Likewise.
43449         * lib/mkstemp.c (mkstemp): Likewise.
43450         * lib/mkstemps.c (mkstemps): Likewise.
43451
43452         xalloc-die-tests: optimize
43453         * tests/test-xalloc-die.sh: Reduce number of processes.
43454
43455 2009-11-17  Simon Josefsson  <simon@josefsson.org>
43456
43457         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
43458         patch from ludo@gnu.org (Ludovic Courtès).
43459
43460 2009-11-17  Jim Meyering  <meyering@redhat.com>
43461
43462         version-etc: use proper license string
43463         * modules/version-etc (License): Use LGPL, not LGPLv3+.
43464         * modules/version-etc-fsf: Likewise.
43465
43466 2009-11-17  Simon Josefsson  <simon@josefsson.org>
43467
43468         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
43469         printed to stdout.  Deal with EOL differences.
43470
43471 2009-11-17  Eric Blake  <ebb9@byu.net>
43472
43473         unsetenv: work around Solaris bug
43474         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
43475         * lib/unsetenv.c (rpl_unsetenv): Work around it.
43476         Reported by Jim Meyering.
43477
43478         vasnprintf: avoid compiler warnings
43479         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
43480         variables.
43481         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
43482
43483 2009-11-17  Simon Josefsson  <simon@josefsson.org>
43484
43485         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
43486         settings since xalloc-die is no longer the self test,
43487         xalloc-die.sh is.
43488
43489 2009-11-17  Jim Meyering  <meyering@redhat.com>
43490
43491         test-xalloc-die.sh: make the code agree with the commit log
43492         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
43493         at the end, just in case you happen to have a test-xalloc-die
43494         program in some other PATH directory.
43495
43496         test-xalloc-die.sh: fix a portability bug
43497         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
43498         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
43499         Otherwise, argv[0] (as often seen in diagnostics) would be too
43500         system-dependent, sometimes with, and sometimes without the leading "./".
43501
43502         version-etc-fsf: relax license to LGPLv3+
43503         * modules/version-etc-fsf (License): Relax license.
43504
43505 2009-11-16  Eric Blake  <ebb9@byu.net>
43506
43507         xalloc-die-tests: avoid printing null pointer
43508         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
43509         shell script.
43510         * tests/test-xalloc-die.c (program_name): Declare.
43511         * tests/test-xalloc-die.sh (tmpfiles): New file.
43512
43513         setenv, unsetenv: work around various bugs
43514         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
43515         (setenv) [HAVE_SETENV]: Work around bugs.
43516         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
43517         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
43518         for bugs.
43519         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
43520         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
43521         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
43522         * modules/stdlib (Makefile.am): Update substitutions.
43523         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
43524         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
43525         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
43526         * modules/setenv-tests: New test.
43527         * modules/unsetenv-tests: Likewise.
43528         * tests/test-setenv.c: New file.
43529         * tests/test-unsetenv.c: Likewise.
43530
43531 2009-11-16  Jim Meyering  <meyering@redhat.com>
43532
43533         version-etc: relax license to LGPLv3+
43534         * modules/version-etc (License): Relax license.
43535
43536         better AC_REQUIRE expanded-before-required-warning avoidance
43537         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
43538         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
43539         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
43540         which is no longer needed.
43541
43542 2009-11-16  Eric Blake  <ebb9@byu.net>
43543
43544         test-freading: clean up temporary file
43545         * tests/test-freading.c (main): Remove file on success, and use
43546         ASSERT more liberally.
43547         Reported by Jim Meyering.
43548
43549 2009-11-16  Jim Meyering  <meyering@redhat.com>
43550
43551         avoid new AC_REQUIRE expanded-before-required warnings
43552         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
43553         merely using it.
43554         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
43555         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
43556
43557 2009-11-15  Simon Josefsson  <simon@josefsson.org>
43558
43559         * tests/test-xalloc-die.c: New file.
43560         * modules/xalloc-die-tests: New file.
43561         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
43562         XFAIL_TESTS so it can be appended by modules.
43563
43564 2009-11-15  Simon Josefsson  <simon@josefsson.org>
43565
43566         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
43567         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
43568
43569 2009-11-14  Eric Blake  <ebb9@byu.net>
43570
43571         fnmatch: avoid compiler warning
43572         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
43573         to silence compiler warning about mismatch signedness in ?:.
43574         Reported by Robert Millan.
43575
43576         intprops: add double-inclusion guard
43577         * lib/intprops.h: Allow idempotent includes.
43578         Suggested by Bruce Korb.
43579
43580         openat: detect Solaris fchownat bug
43581         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
43582         penalizing glibc chownat when only lchownat is broken.
43583         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
43584         trailing slash bugs.
43585         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
43586         * modules/openat-tests (Files): Include more files.
43587         (Depends-on): Add mgetgroups, sleep, stat-time.
43588         (configure.ac): Add additional checks.
43589         (Makefile.am): Build new test.
43590         * tests/test-fchownat.c: New file.
43591
43592         lchown: detect Solaris and FreeBSD bug
43593         * lib/lchown.c (rpl_lchown): Work around bug.
43594         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
43595         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43596         * modules/unistd (Makefile.am): Populate it.
43597         * lib/unistd.in.h (lchown): Update declaration.
43598         * doc/posix-functions/lchown.texi (lchown): Document the bug.
43599         * modules/lchown-tests: New file.
43600         * tests/test-lchown.h (test_lchown): Likewise.
43601         * tests/test-lchown.c (main): Likewise.
43602
43603         chown: detect Solaris and FreeBSD bug
43604         * lib/chown.c (rpl_chown): Work around bug.
43605         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
43606         (gl_PREREQ_CHOWN): Delete.
43607         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43608         * modules/unistd (Makefile.am): Populate it.
43609         * lib/unistd.in.h (chown): Update declaration.
43610         * lib/lchown.c (chown): Update client.
43611         * modules/lchown (Depends-on): Add lstat.
43612         * doc/posix-functions/chown.texi (chown): Document the bug.
43613         * doc/posix-functions/getgroups.texi (getgroups): Document
43614         getgroups pitfall.
43615         * modules/chown-tests: New file.
43616         * tests/test-chown.h (test_chown): Likewise.
43617         * tests/test-chown.c (main): Likewise.
43618
43619 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
43620
43621         gnulib-tool: correctly detect absence of m4 directories
43622         * gnulib-tool: Avoid extra newline on data passed to wc -l.
43623
43624 2009-11-14  Jim Meyering  <meyering@redhat.com>
43625
43626         maint.mk: Prohibit inclusion of "xalloc.h" without use.
43627         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
43628
43629 2009-11-14  John W. Eaton  <jwe@gnu.org>
43630
43631         strftime.h: wrap function declaration in extern "C" block
43632         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
43633
43634 2009-11-13  Eric Blake  <ebb9@byu.net>
43635
43636         getgroups: avoid compiler warning
43637         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
43638
43639         getgroups: work around FreeBSD bug
43640         * lib/getgroups.c (rpl_getgroups): Work around the bug.
43641         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
43642         * doc/posix-functions/getgroups.texi (getgroups): Document it.
43643         * tests/test-getgroups.c (main): Fix buffer overrun.
43644
43645         getgroups: avoid compilation failure
43646         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
43647         * modules/getgroups (Depends-on): Add stdint.
43648
43649 2009-11-13  Jim Meyering  <meyering@redhat.com>
43650
43651         test-getgroups: avoid compilation failure
43652         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
43653
43654 2009-11-13  Eric Blake  <ebb9@byu.net>
43655
43656         mgetgroups: new module, taken from coreutils
43657         * modules/mgetgroups: New file.
43658         * lib/mgetgroups.h: Likewise.
43659         * lib/mgetgroups.c (mgetgroups): Likewise.
43660         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
43661         * MODULES.html.sh (Users and groups): Mention it.
43662
43663         getgroups: don't expose GETGROUPS_T to user
43664         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
43665         an element at a time if GETGROUPS_T is wrong size.
43666         * lib/getugroups.h (getugroups): Change signature.
43667         * lib/unistd.in.h (getgroups): Likewise.
43668         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
43669         signature needs fixing.
43670         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
43671         AC_TYPE_GETGROUPS.
43672         * modules/group-member (Depends-on): Add getgroups.
43673         * lib/group-member.c (group_info, get_group_info): Use gid_t.
43674         (group_member): Rely on getgroups replacement.
43675         * lib/getugroups.c (getugroups): Use gid_t.
43676         * tests/test-getgroups.c (main): Likewise.
43677         * NEWS: Mention the signature change.
43678         * doc/posix-functions/getgroups.texi (getgroups): Mention the
43679         problem with signature.
43680         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
43681         GETGROUPS_T is still useful for setgroups.
43682
43683         getgroups, getugroups: provide stubs for mingw
43684         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
43685         * lib/getugroups.c (getugroups): Likewise.
43686         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
43687         function.  Modernize replacement scheme.
43688         (gl_PREREQ_GETGROUPS): Delete.
43689         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
43690         * modules/getgroups (configure.ac): Declare witness.
43691         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
43692         * modules/unistd (Depends-on): Substitute witness.
43693         * lib/unistd.in.h (getgroups): Declare replacement.
43694
43695         getgroups: avoid calling exit
43696         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
43697         drop xalloc.
43698         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
43699         dependencies.
43700         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
43701         exiting, in the rare case of malloc failure.
43702
43703         getgroups: fix logic error
43704         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
43705         has more than 20 groups.
43706         * modules/getgroups-tests: New test.
43707         * tests/test-getgroups.c: New file.
43708
43709 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43710
43711         * tests/test-base64.c: Improve.
43712
43713 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43714
43715         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
43716         Blake <ebb9@byu.net>.
43717
43718 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43719
43720         * tests/test-xvasprintf.c: Add %s%s related checks.
43721
43722 2009-11-12  Eric Blake  <ebb9@byu.net>
43723
43724         version-etc: match standards.texi style
43725         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
43726         and use <> only for URLs.
43727
43728 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
43729
43730         fts: do not fail on a submount during traversal
43731         * lib/fts.c (fts_build): Read the stat info again after opening
43732         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
43733         Original report at http://bugzilla.redhat.com/501848.
43734
43735 2009-11-12  Jim Meyering  <meyering@redhat.com>
43736
43737         bootstrap: sync from coreutils
43738         * build-aux/bootstrap (bootstrap_epilogue): New function.
43739         Use git_modules_config in one more place.  This make bootstrap's
43740         --gnulib-srcdir option more useful for testing.
43741
43742         bootstrap: generalize autoheader check
43743         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
43744         AC_CONFIG_HEADERS.
43745
43746 2009-11-11  Eric Blake  <ebb9@byu.net>
43747
43748         mkfifoat: use new modules for Solaris and BSD bugs
43749         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
43750         * lib/mkfifoat.c (mknodat): Split...
43751         * lib/mknodat.c (mknodat): ...into new file.
43752         * modules/mkfifoat (Files): Ship new file.
43753         (Depends-on): Add mkfifo, mknod.
43754         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
43755         (Depends-on): Add symlink.
43756         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
43757         redundant with test_mkfifo.h.
43758         (do_mkfifoat, do_mknodat): New helpers.
43759
43760         mknod: new module
43761         * modules/mknod: New file.
43762         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
43763         * lib/mknod.c (mknod): Likewise.
43764         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43765         defaults.
43766         * modules/sys_stat (Makefile.am): Substitute them.
43767         * lib/sys_stat.in.h (mknod): Declare replacement.
43768         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43769         Document it.
43770         * doc/posix-functions/mknod.texi (mknod): Likewise.
43771         * modules/mknod-tests: New test.
43772         * tests/test-mknod.c: Likewise.
43773
43774         mkfifo: new module
43775         * modules/mkfifo: New file.
43776         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
43777         * lib/mkfifo.c (mkfifo): Likewise.
43778         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43779         defaults.
43780         * modules/sys_stat (Makefile.am): Substitute them.
43781         * lib/sys_stat.in.h (mkfifo): Declare replacement.
43782         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43783         Document it.
43784         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
43785         * modules/mkfifo-tests: New test.
43786         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
43787         from test-mkfifoat.c.
43788         * tests/test-mkfifo.c: New file.
43789
43790         readlink: detect FreeBSD bug
43791         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
43792         slash on symlink.
43793         * doc/posix-functions/readlink.texi (readlink): Document the bug.
43794         * tests/test-readlink.h (test_readlink): Enhance test.
43795
43796         symlink: detect FreeBSD bug
43797         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
43798         slash on symlink.
43799         * doc/posix-functions/symlink.texi (symlink): Document the bug.
43800         * tests/test-symlink.h (test_symlink): Enhance test.
43801
43802 2009-11-10  Eric Blake  <ebb9@byu.net>
43803
43804         link: detect FreeBSD bug
43805         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
43806         symlink.
43807         * doc/posix-functions/link.texi (link): Document the bug.
43808         * tests/test-link.h (test_link): Enhance test.
43809         * tests/test-linkat.c (main): Update caller.
43810
43811         unlink, remove: detect FreeBSD bug
43812         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
43813         slash on symlink.
43814         * doc/posix-functions/unlink.texi (unlink): Document the bug.
43815         * doc/posix-functions/remove.texi (remove): Likewise.
43816         * tests/test-unlink.h (test_unlink): Enhance test.
43817         * tests/test-remove.c (main): Likewise.
43818
43819 2009-11-09  Eric Blake  <ebb9@byu.net>
43820
43821         rename: detect FreeBSD bug
43822         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
43823         slash on symlink.
43824         * modules/renameat-tests (Depends-on): Add filenamecat.
43825         * tests/test-rename.h (test_rename): Allow one more errno.
43826         * tests/test-renameat.c (main): Likewise.
43827         * doc/posix-functions/rename.texi (rename): Document the bug.
43828
43829         open: detect FreeBSD bug
43830         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
43831         symlink.
43832         * doc/posix-functions/open.texi (open): Document the bug.
43833         * doc/posix-functions/utimes.texi (utimes): Likewise.
43834         * tests/test-open.h (test_open): Add parameters, and test symlink
43835         handling.
43836         * tests/test-open.c (main): Adjust caller.
43837         * tests/test-fcntl-safer.c (main): Likewise.
43838         * modules/open-tests (Depends-on): Add stdbool, symlink.
43839         * modules/fcntl-safer-tests (Depends-on): Likewise.
43840         * tests/test-openat.c (main): Add test-open tests.
43841
43842         stat: detect FreeBSD bug
43843         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
43844         symlink.
43845         * doc/posix-functions/stat.texi (stat): Document the bug.
43846         * tests/test-stat.h (test_stat_func): Add argument.
43847         * tests/test-stat.c (main): Adjust caller.
43848         * tests/test-fstatat.c (main): Likewise.
43849         * modules/stat-tests (Depends-on): Add stdbool, symlink.
43850         Reported by Jim Meyering.
43851
43852 2009-11-09  James Youngman  <jay@gnu.org>
43853
43854         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
43855         * lib/strftime.c: Correct placement of #include "ignore-value.h".
43856
43857 2009-11-08  Jim Meyering  <meyering@redhat.com>
43858
43859         utimens: remove invalid futimesat call
43860         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
43861         It used the file descriptor of the target file as the DIR_FD
43862         parameter and NULL as the file name.  That caused failure with
43863         errno == EFAULT on FreeBSD-8.0-rc2
43864
43865 2009-11-07  Eric Blake  <ebb9@byu.net>
43866
43867         fflush, freadseek: use fseeko, not fseek
43868         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
43869         (clear_ungetc_buffer): Avoid potential problems on large files.
43870         * lib/freadseek.c (freadseek): Likewise.
43871         * modules/freadseek (Depends-on): Add fseeko.
43872         * modules/fseek (configure.ac): Set a witness.
43873         * tests/test-fflush.c (main): Use fseeko.
43874         * tests/test-fpurge.c (fseek): Disable link warning.
43875         * tests/test-freadable.c (fseek): Likewise.
43876         * tests/test-freading.c (fseek): Likewise.
43877         * tests/test-fseeko.c (fseek): Likewise.
43878         * tests/test-ftell.c (fseek): Likewise.
43879         * tests/test-ftello.c (fseek): Likewise.
43880         * tests/test-fwritable.c (fseek): Likewise.
43881         * tests/test-fwriting.c (fseek): Likewise.
43882
43883 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43884
43885         * modules/memchr (Depends-on): Drop getpagesize dependency.
43886
43887 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43888
43889         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
43890         Reported by Ludovic Courtès.
43891         * build-aux/pmccabe2html: Improve example usage.
43892         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
43893
43894 2009-11-06  Jim Meyering  <meyering@redhat.com>
43895
43896         do-release-commit-and-tag: New module.
43897         Automate the release-commit and tag process.
43898         * build-aux/do-release-commit-and-tag: New script, from coreutils.
43899         * modules/do-release-commit-and-tag: New file.
43900         * MODULES.html.sh (Support for maintaining and releasing): Add it.
43901
43902 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43903
43904         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
43905         because test-select.c uses inet_pton.
43906
43907 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43908
43909         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
43910         GETADDRINFO_LIB.  Bump serial number.
43911         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
43912         Suggested by Eric Blake <ebb9@byu.net>.
43913
43914 2009-11-05  Eric Blake  <ebb9@byu.net>
43915
43916         strtod: detect darwin bug
43917         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
43918         Reported by Leo Davis.
43919
43920         freopen-safer: new module
43921         * modules/freopen-safer: New module.
43922         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
43923         * lib/freopen-safer.c (freopen_safer): New file.
43924         * lib/stdio-safer.h (freopen_safer): New declaration.
43925         * lib/stdio--.h (freopen): New override.
43926         * MODULES.html.sh (File stream based Input/Output): Mention it.
43927         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
43928         freopen-safer module.
43929         * doc/posix-functions/stderr.texi (stderr): Likewise.
43930         * doc/posix-functions/stdin.texi (stdin): Likewise.
43931         * doc/posix-functions/stdout.texi (stdout): Likewise.
43932         * modules/freopen-safer-tests: New test.
43933         * tests/test-reopen-safer.c: New file.
43934
43935 2009-11-05  Jim Meyering  <meyering@redhat.com>
43936
43937         maint.mk: Prohibit inclusion of "close-stream.h" without use.
43938         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
43939
43940 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43941
43942         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
43943
43944 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43945
43946         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
43947
43948 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43949
43950         Fix link error.
43951         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43952         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43953
43954 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43955
43956         * tests/test-func.c: Also test value of __func__.
43957
43958 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43959
43960         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
43961         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
43962
43963 2009-11-05  Bruno Haible  <bruno@clisp.org>
43964
43965         Fix link error.
43966         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43967         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43968         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
43969
43970 2009-11-05  Bruno Haible  <bruno@clisp.org>
43971
43972         Tests for module 'inet_pton'.
43973         * modules/inet_pton-tests: New file.
43974         * tests/test-inet_pton.c: New file.
43975
43976 2009-11-05  Bruno Haible  <bruno@clisp.org>
43977
43978         Tests for module 'inet_ntop'.
43979         * modules/inet_ntop-tests: New file.
43980         * tests/test-inet_ntop.c: New file.
43981
43982 2009-11-04  Eric Blake  <ebb9@byu.net>
43983
43984         stdlib-safer: wrap all mkstemp variants
43985         * modules/mkostemp (configure.ac): Set witness.
43986         * modules/mkostemps (configure.ac): Likewise.
43987         * modules/mkstemps (configure.ac): Likewise.
43988         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
43989         (mkstemps_safer): Wrap more functions.
43990         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
43991         wrapping.
43992         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
43993         (mkstemps_safer): Implement the wrappers.
43994
43995         mkstemps, mkostemps: new modules
43996         * modules/mkostemps: New module.
43997         * modules/mkstemps: Likewise.
43998         * lib/mkostemps.c (mkostemps): New file.
43999         * lib/mkstemps.c (mkstemps): Likewise.
44000         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
44001         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
44002         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
44003         * modules/stdlib (Makefile.am): Substitute them.
44004         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
44005         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
44006         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
44007         * doc/gnulib.texi (Glibc stdlib.h): Include them.
44008         * MODULES.html.sh (File system functions): Mention them.
44009
44010         tempname: resync from glibc
44011         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
44012         same values for __GT_FILE as glibc.  Abort even when assertions
44013         are disabled.
44014         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
44015         match its value otherwise.  Allow idempotent inclusion.
44016         * lib/mkdtemp.c (mkdtemp): Adjust caller.
44017         * lib/mkostemp.c (mkostemp): Likewise.
44018         * lib/mkstemp.c (mkstemp): Likewise.
44019         * lib/tmpfile.c (tmpfile): Likewise.
44020         * NEWS: Document this.
44021
44022         utimens: fix use of futimens on older Linux
44023         * lib/utimens.c (fdutimens): Use updated, rather than original,
44024         timespec to avoid bug in older Linux kernel.
44025         Reported by Simon Josefsson.
44026
44027 2009-11-04  Bruno Haible  <bruno@clisp.org>
44028
44029         Make num_processors more flexible and consistent.
44030         * lib/nproc.h (enum nproc_query): New type.
44031         (num_processors): Add a 'query' argument.
44032         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
44033         (num_processors): Add a 'query' argument. Test the value of the
44034         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
44035         mingw, count the number of CPUs available for the current process.
44036         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
44037         Check for sched_getaffinity and sched_getaffinity_np.
44038         * modules/nproc (Depends-on): Add c-ctype, extensions.
44039         * NEWS: Mention the change.
44040
44041 2009-11-03  Bruno Haible  <bruno@clisp.org>
44042
44043         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
44044
44045 2009-11-03  Jim Meyering  <meyering@redhat.com>
44046
44047         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
44048         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
44049         if it is defined.
44050
44051 2009-11-02  Eric Blake  <ebb9@byu.net>
44052
44053         mktime, timegm: share common declaration
44054         * lib/mktime-internal.h: New file.
44055         * lib/mktime.c: Use it rather than open-coding a declaration.
44056         * lib/timegm.c: Likewise.
44057         * modules/mktime (Files): Ship it.
44058         * modules/timegm (Files): Likewise.
44059         Suggested by Bruno Haible.
44060
44061         test-update-copyright: update test to match script changes
44062         * tests/test-update-copyright.sh: Avoid hard-coding perl
44063         location.  Don't update *.bak created by earlier runs.
44064
44065 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
44066             Simon Josefsson  <simon@josefsson.org>
44067             Bruno Haible  <bruno@clisp.org>
44068
44069         Fix link error on Solaris 8.
44070         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
44071         also in libnsl. Define also INET_PTON_LIB.
44072         * modules/inet_pton (Link): New section.
44073
44074 2009-11-02  Simon Josefsson  <simon@josefsson.org>
44075             Bruno Haible  <bruno@clisp.org>
44076
44077         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
44078         * modules/inet_ntop (Link): New section.
44079         Reported by Boyan Kasarov <bkasarov@gmail.com>.
44080
44081 2009-11-02  Eric Blake  <ebb9@byu.net>
44082
44083         maint: avoid compiler warnings in m4 macros
44084         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
44085         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
44086
44087 2009-11-02  Simon Josefsson  <simon@josefsson.org>
44088
44089         * m4/pmccabe2html.m4: Remove file.
44090         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
44091         function.  Change maintainer.
44092         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
44093         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
44094         Courtès).
44095
44096 2009-10-31  Eric Blake  <ebb9@byu.net>
44097
44098         fseeko: fix m4 regression
44099         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
44100         regression from 2009-10-27.
44101         Reported by Ralf Wildenhues.
44102
44103 2009-10-31  Jim Meyering  <meyering@redhat.com>
44104
44105         inttostr: aesthetics and improved (compile-time) safety
44106         Define inttype_is_signed rather than inttype_is_unsigned,
44107         since the sole use is via "#if inttype_is_signed".
44108         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
44109         inttype_is_unsigned.
44110         * lib/offtostr.c (inttype_is_signed): Likewise.
44111         * lib/uinttostr.c (inttype_is_signed): Likewise.
44112         * lib/umaxtostr.c (inttype_is_signed): Likewise.
44113         * lib/inttostr.c (inttostr): Use verify to cross-check the
44114         inttype_is_signed value and the signedness of the actual type.
44115         * modules/inttostr (Depends-on): Add verify.
44116
44117 2009-10-30  Eric Blake  <ebb9@byu.net>
44118
44119         build: avoid compiler warnings
44120         * lib/fchmodat.c (lchmod): Mark unused variables.
44121         * lib/getopt.c (_getopt_initialize): Likewise.
44122         * lib/mktime.c (__mktime_internal): Provide prototype.
44123         * lib/inttostr.c (inttostr): Avoid compiler warning even with
44124         older gcc that do not understand #pragma GCC diagnostic.
44125         * lib/uinttostr.c (inttype_is_unsigned): Define.
44126         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
44127
44128 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
44129
44130         stat: fix compilation on AIX
44131         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
44132         only see struct stat64.
44133
44134 2009-10-30  Eric Blake  <ebb9@byu.net>
44135
44136         exclude: make more robust
44137         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
44138         rather than masking a coding bug.
44139         Suggested by Bruno Haible.
44140
44141 2009-10-30  Jim Meyering  <meyering@redhat.com>
44142
44143         perl scripts: remove #!/usr/bin/perl in favor of more portable...
44144         Rather than putting #!/usr/bin/perl on the first line,
44145         start with a variant of what's recommended by "man perlrun" that
44146         invokes the first "perl" program from your shell's search path.
44147         * build-aux/gitlog-to-changelog: Replace #!... as above.
44148         Add a "Local Variables" perl mode setting.
44149         Prompted by a patch from Ludovic Courtès.
44150         Improved by Eric Blake.
44151         * build-aux/useless-if-before-free: Likewise.
44152         * build-aux/announce-gen: Likewise.
44153         * build-aux/update-copyright: Likewise.
44154
44155 2009-10-29  Eric Blake  <ebb9@byu.net>
44156
44157         filenamecat-lgpl: adjust clients
44158         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
44159         filenamecat.
44160         * modules/renameat (Depends-on): Likewise.
44161
44162         filenamecat: split into filenamecat-lgpl
44163         * modules/filenamecat-lgpl: New module.
44164         * modules/filenamecat (Files): Move library-safe files into
44165         filenamecat-lgpl.
44166         (Depends-on): Add filenamecat-lgpl.
44167         (configure.ac): Declare witness.
44168         * lib/filenamecat.h (file_name_concat): Only declare when using
44169         GPL module.
44170         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
44171         Move...
44172         * lib/filenamecat-lgpl.c: ...into new file.
44173         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
44174         (gl_FILE_NAME_CONCAT): Use it.
44175         * MODULES.html.sh (File system functions): Mention new module.
44176
44177         argp: avoid memory leak
44178         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
44179         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
44180         base_name, since the latter malloc()s and can call exit().
44181         Leak introduced 2006-07-03.
44182
44183         dirname-lgpl: adjust clients that don't need full dirname
44184         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
44185         * modules/filenamecat (Depends-on): Likewise.
44186         * modules/linkat (Depends-on): Likewise.
44187         * modules/mkancesdirs (Depends-on): Likewise.
44188         * modules/mkdir (Depends-on): Likewise.
44189         * modules/openat (Depends-on): Likewise.
44190         * modules/savewd (Depends-on): Likewise.
44191         * modules/rename (Depends-on): Likewise.
44192         (License): Relax license.
44193         * modules/mkdir-tests (Depends-on): Drop progname.
44194         (Makefile.am): Delete unneeded LDADD.
44195         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
44196
44197         dirname: split into dirname-lgpl
44198         * modules/dirname-lgpl: New module.
44199         * modules/dirname (Files): Move library-safe files into
44200         dirname-lgpl.
44201         (Depends-on): Add dirname-lgpl.
44202         (configure.ac): Declare witness.
44203         * modules/double-slash-root (License): Relax license.
44204         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
44205         module.
44206         * lib/dirname.c (dir_len, mdir_name): Move...
44207         * lib/dirname-lgpl.c: ...into new file.
44208         * lib/basename.c (last_component, base_len): Move...
44209         * lib/basename-lgpl.c: ...into new file.
44210         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
44211         (gl_DIRNAME): Use it.
44212         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
44213         Mention new module.
44214         * modules/dirname-tests (Depends-on): Add progname.
44215         * tests/test-dirname.c (program_name): Delete.
44216
44217         mkdir: make safe for libraries
44218         * modules/mkdir (Depends-on): Drop xalloc.
44219         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
44220         exit.
44221
44222         tests: avoid some compiler warnings
44223         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
44224         literals.
44225         * tests/test-memchr.c (main): Avoid type mismatch.
44226         * tests/test-arpa_inet.c (main): Avoid unused parameters.
44227         * tests/test-base64.c (main): Likewise.
44228         * tests/test-getdelim.c (main): Likewise.
44229         * tests/test-gethostname.c (main): Likewise.
44230         * tests/test-getline.c (main): Likewise.
44231         * tests/test-netinet_in.c (main): Likewise.
44232         * tests/test-select.c (open_server_socket, main): Likewise.
44233         * tests/test-select-stdin.c (main): Likewise.
44234         * tests/test-sockets.c (main): Likewise.
44235         * tests/test-strsignal.c (main): Likewise.
44236         * tests/test-sys_select.c (main): Likewise.
44237         * tests/test-sys_socket.c (main): Likewise.
44238         * tests/test-u64.c (main): Likewise.
44239         * tests/test-xfprintf-posix.c (main): Likewise.
44240         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
44241
44242         sockets: avoid compiler warning
44243         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
44244
44245         maint: detect usage(1) and other suspicious exits
44246         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
44247
44248 2009-10-29  Jim Meyering  <meyering@redhat.com>
44249
44250         timespec: long-to-int truncation could make timespec_cmp malfunction
44251         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
44252         a multiple of 2^32 nanoseconds as no difference.
44253
44254 2009-10-28  Jim Meyering  <meyering@redhat.com>
44255
44256         fprintftime: wrap macro code argument in "do {...} while(0)"
44257         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
44258         cpy macro must be a statement that can be followed by a semicolon.
44259         Now that the else clause contains a comment and is hence longer
44260         than one line, I require curly braces.  That in turn requires
44261         that we wrap this code block in the standard do...while(0).
44262
44263         fprintftime: remove stray semicolon from previous change
44264         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
44265
44266         fprintftime: avoid a warning about ignored fwrite return value
44267         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
44268         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
44269         that is unsafe.
44270         * modules/fprintftime (Depends-on): Add ignore-value.
44271
44272         exclude: avoid an unwarranted warning
44273         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
44274
44275 2009-10-27  Eric Blake  <ebb9@byu.net>
44276
44277         fseek: avoid compilation failure when fflush is replaced
44278         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
44279         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
44280         module is in use.
44281         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
44282         module is not in use; since REPLACE_FSEEK worked otherwise.
44283         (GNULIB_FTELLO): Likewise for ftell.
44284         Reported by Ian Beckwith and others.
44285
44286 2009-10-27  Bruno Haible  <bruno@clisp.org>
44287
44288         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
44289         Reported by Jim Meyering.
44290
44291 2009-10-27  Jim Meyering  <jim@meyering.net>
44292             Bruno Haible  <bruno@clisp.org>
44293
44294         Avoid warning despite dropping the return value of fwrite.
44295         * lib/unicodeio.c: Include ignore-value.h.
44296         (fwrite_success_callback): Explicitly ignore fwrite's return value.
44297         * modules/unicodeio (Depends-on): Add ignore-value.
44298
44299 2009-10-26  Eric Blake  <ebb9@byu.net>
44300
44301         areadlinkat: fix fallback path
44302         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
44303         pointer and zero.
44304
44305 2009-10-22  Pádraig Brady  <P@draigBrady.com>
44306
44307         Use a better IO block size for modern systems
44308         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
44309         * lib/md2.c: Likewise.
44310         * lib/md4.c: Likewise.
44311         * lib/md5.c: Likewise.
44312         * lib/sha1.c: Likewise.
44313         * lib/sha256.c: Likewise.
44314         * lib/sha512.c: Likewise.
44315
44316 2009-10-22  Eric Blake  <ebb9@byu.net>
44317
44318         tests: avoid several compiler warnings
44319         * tests/test-getcwd.c (main): Avoid buffer underflow.
44320         * tests/test-getdate.c (main): String literals are not safe with
44321         putenv, so use setenv.  Declare unused argument.
44322         * modules/getdate-tests (Depends-on): Add setenv.
44323         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
44324         problems with string literals in char *.
44325         * tests/test-hash.c (main): Avoid shadowing declaration.
44326         (insert_new): Treat string literals as char const *.
44327         * tests/test-getopt.h (test_getopt): Likewise.
44328         (getopt_loop): Alter types to minimize casting elsewhere.
44329         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
44330         (test_getopt_long_posix): Likewise.
44331         (do_getopt_long): Add wrapper to minimize casting.
44332         * tests/test-atexit.c (clear_temp_file): Use void.
44333         * tests/test-areadlink-with-size.c (main): Declare unused
44334         arguments.
44335         * tests/test-areadlink.c (main): Likewise.
44336         * tests/test-areadlinkat-with-size.c (main): Likewise.
44337         * tests/test-areadlinkat.c (main): Likewise.
44338         * tests/test-canonicalize-lgpl.c (main): Likewise.
44339         * tests/test-canonicalize.c (main): Likewise.
44340         * tests/test-dirent-safer.c (main): Likewise.
44341         * tests/test-dirname.c (main): Likewise.
44342         * tests/test-dup2.c (main): Likewise.
44343         * tests/test-fchdir.c (main): Likewise.
44344         * tests/test-fcntl-h.c (main): Likewise.
44345         * tests/test-fcntl-safer.c (main): Likewise.
44346         * tests/test-fdopendir.c (main): Likewise.
44347         * tests/test-fdutimensat.c (main): Likewise.
44348         * tests/test-fflush.c (main): Likewise.
44349         * tests/test-filenamecat.c (main): Likewise.
44350         * tests/test-filevercmp.c (main): Likewise.
44351         * tests/test-fopen-safer.c (main): Likewise.
44352         * tests/test-fopen.c (main): Likewise.
44353         * tests/test-fpending.c (main): Likewise.
44354         * tests/test-fpurge.c (main): Likewise.
44355         * tests/test-freading.c (main): Likewise.
44356         * tests/test-fstatat.c (main): Likewise.
44357         * tests/test-fsync.c (main): Likewise.
44358         * tests/test-futimens.c (main): Likewise.
44359         * tests/test-getndelim2.c (main): Likewise.
44360         * tests/test-gettimeofday.c (main): Likewise.
44361         * tests/test-getopt.c (main): Likewise.
44362         * tests/test-i-ring.c (main): Likewise.
44363         * tests/test-inttypes.c (main): Likewise.
44364         * tests/test-link.c (main): Likewise.
44365         * tests/test-lstat.c (main): Likewise.
44366         * tests/test-math.c (main): Likewise.
44367         * tests/test-md5.c (main): Likewise.
44368         * tests/test-memchr2.c (main): Likewise.
44369         * tests/test-memrchr.c (main): Likewise.
44370         * tests/test-mkdir.c (main): Likewise.
44371         * tests/test-mkdirat.c (main): Likewise.
44372         * tests/test-mkfifoat.c (main): Likewise.
44373         * tests/test-open.c (main): Likewise.
44374         * tests/test-openat-safer.c (main): Likewise.
44375         * tests/test-openat.c (main): Likewise.
44376         * tests/test-quotearg.c (main): Likewise.
44377         * tests/test-rawmemchr.c (main): Likewise.
44378         * tests/test-readlink.c (main): Likewise.
44379         * tests/test-remove.c (main): Likewise.
44380         * tests/test-rename.c (main): Likewise.
44381         * tests/test-renameat.c (main): Likewise.
44382         * tests/test-rmdir.c (main): Likewise.
44383         * tests/test-sha1.c (main): Likewise.
44384         * tests/test-signal.c (main): Likewise.
44385         * tests/test-sigaction.c (main): Likewise.
44386         * tests/test-stat.c (main): Likewise.
44387         * tests/test-stat-time.c (main): Likewise.
44388         * tests/test-stddef.c (main): Likewise.
44389         * tests/test-stdint.c (main): Likewise.
44390         * tests/test-stdio.c (main): Likewise.
44391         * tests/test-stdlib.c (main): Likewise.
44392         * tests/test-strchrnul.c (main): Likewise.
44393         * tests/test-strerror.c (main): Likewise.
44394         * tests/test-string.c (main): Likewise.
44395         * tests/test-strtod.c (main): Likewise.
44396         * tests/test-strverscmp.c (main): Likewise.
44397         * tests/test-symlink.c (main): Likewise.
44398         * tests/test-symlinkat.c (main): Likewise.
44399         * tests/test-sys_stat.c (main): Likewise.
44400         * tests/test-sys_time.c (main): Likewise.
44401         * tests/test-time.c (main): Likewise.
44402         * tests/test-unistd.c (main): Likewise.
44403         * tests/test-unlink.c (main): Likewise.
44404         * tests/test-unlinkat.c (main): Likewise.
44405         * tests/test-utimens.c (main): Likewise.
44406         * tests/test-utimensat.c (main): Likewise.
44407         * tests/test-version-etc.c (main): Likewise.
44408         * tests/test-wchar.c (main): Likewise.
44409         * tests/test-wctype.c (main): Likewise.
44410         * tests/test-xprintf-posix.c (main): Likewise.
44411         * tests/test-posixtm.c (main): Likewise.
44412         (STREQ): Delete unused macro.
44413         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
44414         shadowed variables.
44415         * tests/test-memchr.c (main): Likewise.
44416
44417 2009-10-21  Eric Blake  <ebb9@byu.net>
44418
44419         areadlinkat: avoid failure on older glibc
44420         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
44421         rather than mis-comparing 0 against FUNC_RESULT of char*.
44422
44423 2009-10-21  Bruno Haible  <bruno@clisp.org>
44424
44425         * modules/stpncpy (License): Relicense under LGPLv2+.
44426         Reported by David Lutterkort <lutter@redhat.com>.
44427
44428 2009-10-20  Eric Blake  <ebb9@byu.net>
44429
44430         utimensat: work around Solaris 9 bug
44431         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
44432         has trailing slash bugs.
44433         * tests/test-lutimens.h (test_lutimens): Enhance test.
44434         * tests/test-utimens.h (test_utimens): Likewise.
44435         * doc/posix-functions/utime.texi (utime): Enhance documentation.
44436         * doc/posix-functions/utimes.texi (utimes): Likewise.
44437         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44438         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
44439         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
44440         * doc/posix-functions/futimens.texi (futimens): Likewise.
44441
44442         fdutimensat: new module
44443         * modules/fdutimensat: New file.
44444         * lib/fdutimensat.c (fdutimensat): Likewise.
44445         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
44446         * MODULES.html.sh (File system functions): Mention module.
44447         * modules/fdutimensat-tests: New test.
44448         * tests/test-fdutimensat.c: Likewise.
44449
44450         doc: regenerate INSTALL
44451         * doc/INSTALL: Reflect recent autoconf update.
44452         * doc/INSTALL.ISO: Likewise.
44453         * doc/INSTALL.UTF-8: Likewise.
44454
44455 2009-10-20  Pádraig Brady  <P@draigBrady.com>
44456
44457         acl: warn if ACL support is not detected
44458         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
44459
44460 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
44461
44462         * lib/nproc.h: Add extern "C" block for C++.
44463
44464 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
44465             Bruno Haible  <bruno@clisp.org>
44466
44467         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
44468         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
44469         * doc/posix-functions/isalpha.texi: Likewise.
44470         * doc/posix-functions/isblank.texi: Likewise.
44471         * doc/posix-functions/iscntrl.texi: Likewise.
44472         * doc/posix-functions/isdigit.texi: Likewise.
44473         * doc/posix-functions/isgraph.texi: Likewise.
44474         * doc/posix-functions/islower.texi: Likewise.
44475         * doc/posix-functions/isprint.texi: Likewise.
44476         * doc/posix-functions/ispunct.texi: Likewise.
44477         * doc/posix-functions/isspace.texi: Likewise.
44478         * doc/posix-functions/isupper.texi: Likewise.
44479         * doc/posix-functions/isxdigit.texi: Likewise.
44480
44481 2009-10-18  Bruno Haible  <bruno@clisp.org>
44482
44483         Tests for module 'isblank'.
44484         * modules/isblank-tests: New file.
44485         * tests/test-isblank.c: New file.
44486
44487         New module 'isblank'.
44488         * lib/isblank.c: New file.
44489         * m4/isblank.m4: New file.
44490         * modules/isblank: New file.
44491         * doc/posix-functions/isblank.texi: Mention the new module.
44492
44493 2009-10-18  Bruno Haible  <bruno@clisp.org>
44494
44495         New module 'ctype'.
44496         * lib/ctype.in.h: New file.
44497         * m4/ctype.m4: New file.
44498         * modules/ctype: New file.
44499         * doc/posix-headers/ctype.texi: Mention the new module.
44500
44501 2009-10-18  Jim Meyering  <meyering@redhat.com>
44502
44503         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
44504         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
44505         right after its initialization, rather than farther down.
44506         Keeping these in close proximity makes it easier to ensure
44507         that each such variable is initialized.  E.g.,
44508
44509             LIB_CLOCK_GETTIME=
44510             AC_SUBST([LIB_CLOCK_GETTIME])
44511
44512         This change also increments these serial numbers.
44513         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
44514         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
44515         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44516
44517 2009-10-18  Bruno Haible  <bruno@clisp.org>
44518
44519         Don't let environment variables perturb build.
44520         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
44521         (gl_PREREQ_GETHRXTIME): ... not here.
44522
44523 2009-10-18  Bruno Haible  <bruno@clisp.org>
44524
44525         Avoid symlink attack in localcharset module.
44526         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
44527         (O_NOFOLLOW): Define fallback.
44528         (get_charset_aliases): Don't open the file if it is a symbolic link.
44529         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
44530         gl_FCNTL_H.
44531         (gl_FCNTL_H): Require it.
44532         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
44533         * modules/localcharset (Files): Add m4/fcntl_h.m4.
44534         Reported by Fergal Glynn <fglynn@veracode.com>.
44535
44536 2009-10-18  Bruno Haible  <bruno@clisp.org>
44537
44538         Implement nproc for mingw.
44539         * lib/nproc.c: Include <windows.h>
44540         (num_processors): On native Windows platforms, try GetSystemInfo.
44541
44542 2009-10-18  Bruno Haible  <bruno@clisp.org>
44543
44544         Implement nproc for IRIX.
44545         * lib/nproc.c: Include <sys/sysmp.h>.
44546         (num_processors): On IRIX systems, try sysmp.
44547         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
44548
44549 2009-10-18  Bruno Haible  <bruno@clisp.org>
44550
44551         Implement nproc for HP-UX.
44552         * lib/nproc.c: Include <sys/pstat.h>
44553         (num_processors): On HP-UX systems, try pstat_getdynamic.
44554         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
44555         pstat_getdynamic.
44556
44557 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
44558             Bruno Haible  <bruno@clisp.org>
44559
44560         Implement nproc for NetBSD, OpenBSD.
44561         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
44562         (ARRAY_SIZE): New macro.
44563         (num_processors): On BSD systems, try sysctl of HW_NCPU.
44564         * m4/nproc.m4: New file.
44565         * modules/nproc (Files): Add m4/nproc.m4.
44566         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
44567         (Makefile.am): Instead, augment lib_SOURCES.
44568
44569 2009-10-18  Bruno Haible  <bruno@clisp.org>
44570
44571         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
44572         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
44573         sys/param.h.
44574
44575 2009-10-16  Eric Blake  <ebb9@byu.net>
44576
44577         utimensat: new module
44578         * modules/utimensat: New file.
44579         * lib/utimensat.c (utimensat): Likewise.
44580         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
44581         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
44582         so we can work around Linux bugs.
44583         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44584         * modules/sys_stat (Makefile.am): Substitute them.
44585         * lib/sys_stat.in.h (utimensat): Declare it.
44586         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44587         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44588         * modules/utimensat-tests: New test.
44589         * tests/test-utimensat.c: Likewise.
44590
44591         utimens: let lutimens work on non-symlinks
44592         * lib/utimens.c (lutimens): Fall back to utimens rather than
44593         failing with ENOSYS, when file is not a symlink.
44594         (utimens): Reduce redirection.
44595         * tests/test-lutimens.h (test_lutimens): Update test to cover
44596         non-symlinks.
44597         * tests/test-utimens.h (test_utimens): Update test to cover
44598         symlinks.
44599         * tests/test-utimens.c (main): Update caller.
44600
44601         utimens: cache whether utimensat syscall works
44602         * lib/utimens.c (utimensat_works_really): New cache variable.
44603         (fdutimens, lutimens): Use it to avoid failing syscall.
44604
44605         test-stat-time, test-utimens: improve portability
44606         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
44607         ext4 on alpha, and for cygwin.
44608         * tests/test-utimens-common.h: New file.
44609         (nap): Factor delays into single function.
44610         * tests/test-lutimens.h (test_lutimens): Use new header.
44611         * tests/test-futimens.h (test_futimens): Likewise.
44612         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
44613         timestamps to occur from same machine, as was done previously for
44614         test_utimens.
44615         * modules/utimens-tests (Files): Ship new file.
44616         * modules/futimens-tests (Files): Likewise.
44617         Reported in part by Jim Meyering.
44618
44619         sys_stat: sort replacement declarations
44620         * lib/sys_stat.in.h: Sort declarations.
44621         * lib/futimens.c (futimens): Fix typo.
44622
44623 2009-10-15  Jim Meyering  <meyering@redhat.com>
44624
44625         don't let environment settings perturb build
44626         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
44627         could cause a configure-time and/or build-time malfunction.
44628         Typically, a configure-time function-in-library test is performed
44629         via code like this:
44630
44631           LIB_VAR=
44632           AC_SUBST([LIB_VAR])
44633           prefix_saved_LIBS=$LIBS
44634             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
44635                        [test "$ac_cv_search_FUNC" = "none required" ||
44636                         LIB_VAR=$ac_cv_search_FUNC])
44637           LIBS=$prefix_saved_LIBS
44638
44639         However, in each of the files affected by this change, the LIB_VAR=
44640         initialization was omitted.  Thus, when set in the environment, its
44641         value would propagate into generated Makefiles when FUNC is not found
44642         in LIB_NAME.
44643         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
44644         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
44645         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44646
44647 2009-10-14  Eric Blake  <ebb9@byu.net>
44648
44649         fchdir: avoid infinite recursion in mingw
44650         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
44651         recursing.
44652
44653         test-stat-time: port to mingw
44654         * tests/test-stat-time.c (force_unlink): Return a value.
44655         (test_ctime) [W32]: Fix compilation error.
44656         (nap): Don't call usleep with too large an argument.  Use
44657         force_unlink.
44658         * doc/pastposix-functions/usleep.texi (usleep): Document the
44659         portability issue.
44660
44661 2009-10-13  Jim Meyering  <meyering@redhat.com>
44662
44663         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
44664         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
44665         * modules/pipe-filter-ii: Likewise.
44666         * modules/sys_socket-tests: Likewise.
44667         * modules/tsearch-tests: Likewise.
44668         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
44669         (check): Depend on it.
44670
44671 2009-10-12  Eric Blake  <ebb9@byu.net>
44672
44673         utimens-tests: port to NFS file systems
44674         * tests/test-utimens.h (test_utimens): Refactor utimecmp
44675         comparisons to avoid spurious failures from timestamp drift
44676         between NFS machines.
44677
44678 2009-10-12  Eric Blake  <ebb9@byu.net>
44679
44680         stat-time-tests: minor cleanups
44681         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
44682         * tests/test-stat-time.c (nap): Separate assignment from call.
44683         Suggested by Paolo Bonzini and Bruno Haible.
44684
44685         sys_stat: guarantee struct timespec
44686         * lib/sys_stat.in.h (includes): Always include <time.h>
44687         * modules/sys_stat (Depends-on): Add time.
44688         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
44689         mode_t permission values.
44690         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
44691         get at subsecond timestamps.
44692
44693 2009-10-10  Eric Blake  <ebb9@byu.net>
44694
44695         futimens: new module
44696         * modules/futimens: New file.
44697         * lib/futimens.c (futimens): Likewise.
44698         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
44699         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
44700         we can work around Linux bugs.
44701         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44702         * modules/sys_stat (Makefile.am): Substitute them.
44703         * lib/sys_stat.in.h (futimens): Declare it.
44704         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44705         * doc/posix-functions/futimens.texi (futimens): Likewise.
44706         * modules/futimens-tests: New test.
44707         * tests/test-futimens.c: Likewise.
44708
44709         utimens: introduce fdutimens
44710         * lib/utimens.h (fdutimens): New prototype.
44711         * lib/utimens.c (gl_futimens): Move guts...
44712         (fdutimens): ...to new interface.
44713         * tests/test-utimens.c (do_fdutimens): Use it.
44714
44715         utimens: add UTIME_NOW and UTIME_OMIT support
44716         * lib/utimens.c (validate_timespec, update_timespec): New helper
44717         functions.
44718         (gl_futimens, lutimens): Use them.
44719         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
44720         stdbool, sys_stat.
44721         (Link): Mention resulting library dependency.
44722         * modules/utimecmp (Link): Likewise.
44723         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
44724         (Makefile.am): Pick up library dependency.
44725         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
44726         definition.
44727         * tests/test-sys_stat.c: Test the definitions.
44728         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
44729         * NEWS: Document library dependency.
44730
44731         utimecmp: support symlink timestamps
44732         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
44733         hashing when possible.  Use pathconf when available.
44734         (SYSCALL_RESOLUTION): Recognize tighter resolution.
44735         * modules/utimecmp (Depends-on): Add lstat.
44736
44737         utimens: add lutimens interface
44738         * lib/utimens.c (lutimens): New function.
44739         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
44740         * lib/utimens.h (lutimens): Declare new interface.
44741         * tests/test-utimens.c (main): Enhance test.
44742         * tests/test-lutimens.h (test_lutimens): New file.
44743         * modules/utimens-tests (Files): Distribute it.
44744         (Depends-on): Add symlink.
44745         (configure.ac): Check for usleep.
44746
44747         utimens: validate futimens usage
44748         * lib/utimens.c (gl_futimens): Require valid fd up front, using
44749         fewer syscalls on failure later on.  Avoid compiler warning on
44750         mingw.
44751         * modules/utimens (Depends-on): Add dup2.
44752
44753         utimens: add test
44754         * modules/utimens-tests: New test.
44755         * tests/test-utimens.h: New file.
44756         * tests/test-futimens.h: Likewise.
44757         * tests/test-utimens.c: Likewise.
44758
44759         doc: mention timestamp portability issues
44760         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
44761         instead.
44762         * doc/posix-functions/utime.texi (utime): Likewise.
44763         * doc/posix-functions/utimes.texi (utimes): Likewise.
44764         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
44765         instead.
44766         * doc/posix-functions/futimens.texi (futimens): Mention utimens
44767         module.
44768         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44769         Mention weakness with symlink timestamps.
44770         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
44771         to utimensat/futimens instead.
44772         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
44773
44774         test-dup2: enhance test
44775         * tests/test-dup2.c (main): Also check AT_FDCWD.
44776
44777         test-stat-time: avoid more spurious failures
44778         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
44779         xfs; and avoid race if the two timestamps cross quantization edge.
44780
44781         relocatable: prefer 'file system' over 'filesystem'
44782         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
44783         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
44784         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
44785         * doc/relocatable.texi (Enabling Relocatability): Likewise.
44786         * lib/relocatable.c (compute_curr_prefix): Likewise.
44787
44788 2009-10-10  Jim Meyering  <meyering@redhat.com>
44789
44790         stat-time-tests: check for the usleep function
44791         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
44792
44793 2009-10-10  Bruno Haible  <bruno@clisp.org>
44794
44795         * modules/xnanosleep: Put the Link section after the Include section.
44796
44797 2009-10-09  Eric Blake  <ebb9@byu.net>
44798
44799         dup2: work around FreeBSD 6.1 bug
44800         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
44801         * doc/posix-functions/dup2.texi (dup2): Document it.
44802         Reported by Nelson H. F. Beebe and Jim Meyering.
44803
44804         test-stat-time: port to buggy NFS clients
44805         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
44806         (test_ctime): Also skip test if mtime and ctime are skewed.
44807
44808         maint: prefer 'file system' over 'filesystem'
44809         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44810         * doc/posix-functions/lstat.texi (lstat): Likewise.
44811         * lib/file-has-acl.c (file_has_acl): Likewise.
44812         * lib/fwriteerror.c [TEST]: Likewise.
44813         * tests/test-areadlink.h (test_areadlink): Likewise.
44814         * tests/test-areadlinkat-with-size.c (main): Likewise.
44815         * tests/test-areadlinkat.c (main): Likewise.
44816         * tests/test-canonicalize-lgpl.c (main): Likewise.
44817         * tests/test-canonicalize.c (main): Likewise.
44818         * tests/test-fstatat.c (main): Likewise.
44819         * tests/test-linkat.c (main): Likewise.
44820         * tests/test-lstat.h (test_lstat_func): Likewise.
44821         * tests/test-mkdir.h (test_mkdir): Likewise.
44822         * tests/test-readlink.h (test_readlink): Likewise.
44823         * tests/test-remove.c (main): Likewise.
44824         * tests/test-rename.h (test_rename): Likewise.
44825         * tests/test-renameat.c (main): Likewise.
44826         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44827         * tests/test-symlink.h (test_symlink): Likewise.
44828         * tests/test-symlinkat.c (main): Likewise.
44829         * tests/test-unlink.h (test_unlink_func): Likewise.
44830         * tests/test-unlinkat.c (main): Likewise.
44831
44832         maint: make realtime library usage explicit
44833         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
44834         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
44835         * modules/settime (Link): Likewise.
44836         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
44837
44838         test-stat-time: speed up execution
44839         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
44840         warning on mingw.
44841         (nap): New helper function.
44842         (prepare_test): Use it to reduce sleep time.
44843         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
44844         execution.
44845         * modules/stat-time-tests (configure.ac): Check for usleep.
44846
44847 2009-10-09  Jim Meyering  <meyering@redhat.com>
44848
44849         selinux-h: always use getfilecon wrappers
44850         * lib/getfilecon.c: New file.
44851         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
44852         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
44853         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
44854         (fgetfilecon): Provide a stub.
44855         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
44856         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
44857         file unconditionally.
44858         When <selinux/selinux.h> is found, arrange to use wrappers.
44859         * modules/selinux-h (Files): Add getfilecon.c.
44860         (Makefile.am): Substitute include-next-related bits
44861         into the now-always-generated selinux/selinux.h file.
44862         * doc/glibc-functions/lgetfilecon.texi: New file.
44863         * doc/glibc-functions/fgetfilecon.texi: New file.
44864         * doc/glibc-functions/getfilecon.texi: New file.
44865         * doc/glibc-functions/getfilecon-desc.texi: New file.
44866         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
44867         which to pull in the new files.
44868         * MODULES.html.sh (Misc): Add selinux-h.
44869
44870 2009-10-08  Jim Meyering  <meyering@redhat.com>
44871
44872         unistd: fix comment typo
44873         * lib/unistd.in.h (euidaccess): Fix a comment typo.
44874
44875 2009-10-08  Eric Blake  <ebb9@byu.net>
44876
44877         areadlink: use SIZE_MAX consistently
44878         * modules/areadlink (Depends-on): Add stdint.
44879         * modules/areadlink-with-size (Depends-on): Likewise.
44880         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
44881         gives NULL; drop sys/types, since unistd gives size_t; and add
44882         stdint for SIZE_MAX.
44883         (SIZE_MAX): Rely on headers.
44884         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
44885         and add stdint.
44886         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
44887         (SIZE_MAX): Likewise.
44888         (INITIAL_BUF_SIZE): Turn into enum.
44889         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
44890
44891 2009-10-08  Jim Meyering  <meyering@redhat.com>
44892
44893         areadlinkat: avoid compilation failure
44894         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
44895         Fix typo in comment.
44896
44897 2009-10-07  Eric Blake  <ebb9@byu.net>
44898
44899         areadlinkat-with-size: new module
44900         * modules/areadlinkat-with-size: New module.
44901         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
44902         * lib/areadlink.h (areadlinkat): Declare it.
44903         * MODULES.html.sh (File system functions): Mention it.
44904         * modules/areadlinkat-with-size-tests: New test.
44905         * tests/test-areadlinkat-with-size.c: New file.
44906
44907         xreadlinkat: new module
44908         * modules/xreadlinkat: New module.
44909         * lib/xreadlinkat.c (xreadlinkat): New file.
44910         * lib/xreadlink.h (xreadlinkat): Declare it.
44911         * MODULES.html.sh (File system functions): Mention it.
44912
44913         areadlinkat: new module
44914         * lib/at-func.c (FUNC_FAIL): New define.
44915         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
44916         * modules/areadlinkat: New module.
44917         * lib/linkat.c (areadlinkat): Move...
44918         * lib/areadlinkat.c (areadlinkat): ...to new file.
44919         * lib/areadlink.h (areadlinkat): Declare it.
44920         * modules/linkat (Depends-on): Add areadlinkat.
44921         * MODULES.html.sh (File system functions): Mention it.
44922         * modules/areadlinkat-tests: New test.
44923         * tests/test-areadlinkat.c: New file.
44924
44925         areadlink, areadlink-with-size: add tests
44926         * modules/areadlink-tests: New test.
44927         * modules/areadlink-with-size-tests: Likewise.
44928         * tests/test-areadlink.h: New file.
44929         * tests/test-areadlink.c: Likewise.
44930         * tests/test-areadlink-with-size.c: Likewise.
44931
44932         maint: minor cleanups
44933         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
44934         _UNUSED_PARAMETER_ instead.
44935         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
44936         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
44937         * modules/linkat-tests (Files): Distribute test-link.h.
44938
44939         openat, utimens: whitespace cleanup
44940         * lib/openat.c: Prefer space throughout, rather than mix of 8
44941         spaces vs. tabs.
44942         * lib/at-func.c: Likewise.
44943         * lib/utimens.c: Likewise.
44944
44945         openat: avoid using wrong fd
44946         * lib/openat.c (openat_permissive): Reject user's fd if saving the
44947         working directory chooses same fd.
44948         * lib/at-func.c (AT_FUNC_NAME): Likewise.
44949
44950         mkdir, mkdirat: fix cygwin 1.5.x bug
44951         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
44952         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
44953         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
44954         bug.
44955         (gl_PREREQ_MKDIR): Delete unused macro.
44956         * modules/mkdir (Files): Track file rename.
44957         (configure.ac): Update macro name.
44958         * modules/openat (Depends-on): Add mkdir.
44959         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
44960
44961         mkdir, mkdirat: add tests
44962         * modules/mkdir-tests: New test.
44963         * tests/test-mkdir.h: New file.
44964         * tests/test-mkdir.c: Likewise.
44965         * tests/test-mkdirat.c: Likewise.
44966         * modules/openat-tests (Files): Add new files.
44967         (Makefile.am): Run new test.
44968
44969 2009-10-06  Eric Blake  <ebb9@byu.net>
44970
44971         doc: tweak *at function documentation
44972         * doc/posix-functions/faccessat.texi (faccessat): Mention
44973         known issue with replacement.
44974         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
44975         * doc/posix-functions/linkat.texi (linkat): Likewise.
44976         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
44977         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
44978         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44979         * doc/posix-functions/renameat.texi (renameat): Likewise.
44980         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
44981
44982         openat: fix GNU/Hurd bug in unlinkat
44983         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
44984         broken.
44985         * doc/posix-functions/unlink.texi (unlink): Document this.
44986         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
44987
44988         fdopendir: fix GNU/Hurd bug
44989         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
44990         allowing non-directory fds.
44991         * lib/fdopendir.c (rpl_fdopendir): Work around it.
44992         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
44993         * modules/dirent (Makefile.am): Substitute it.
44994         * lib/dirent.in.h (fdopendir): Declare replacement.
44995         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
44996         * tests/test-fdopendir.c (main): Test something other than
44997         /dev/null, since on Hurd that behaves like a directory.
44998
44999         test-symlink: port to GNU/Hurd
45000         * tests/test-symlink.h (test_symlink): Relax expected errno.
45001
45002         doc: tweak more cygwin information
45003         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
45004         now compatible with glibc.
45005         * doc/posix-functions/getopt.texi (getopt): Likewise.
45006
45007         getopt-gnu: add another test
45008         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
45009         guarantee behavior relied on by m4.
45010         * tests/test-getopt.c (main): Use it.
45011         * modules/getopt-posix-tests (Depends-on): Add setenv.
45012         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
45013
45014         getopt: fix compilation on darwin
45015         * lib/getopt.in.h (includes): Leave breadcrumbs during system
45016         include.
45017         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
45018         Reported by Ludovic Courtès.
45019
45020 2009-10-06  Bruno Haible  <bruno@clisp.org>
45021
45022         * modules/size_max (Description): Discourage its use.
45023         Reported by Simon Josefsson.
45024
45025 2009-10-06  Jim Meyering  <meyering@redhat.com>
45026
45027         linkat: avoid compilation failure
45028         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
45029
45030 2009-10-05  Eric Blake  <ebb9@byu.net>
45031
45032         linkat: support Linux 2.6.17
45033         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
45034         linkat on Linux, but allow cache variable override.
45035         * lib/linkat.c (rpl_linkat): Define override.
45036         * modules/linkat (Depends-on): Add symlinkat.
45037         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
45038         * modules/unistd (Makefile.am): Substitute it.
45039         * lib/unistd.in.h (linkat): Declare replacement.
45040         Reported by Pádraig Brady.
45041
45042         quotearg: port test to systems with C.UTF-8 locale
45043         * tests/test-quotearg.c (struct result_strings): Add another
45044         member, differentiating between C.ASCII and C.UTF-8 handling.
45045         (compare_strings): Add parameter.
45046         (main): Adjust all callers.
45047
45048         getopt: avoid clash with FreeBSD _getopt_internal
45049         * lib/getopt.in.h (_getopt_internal): Override the name.
45050         * lib/getopt_int.h (includes): Pick up any overrides.
45051         Reported by Reuben Thomas.
45052
45053         hash: allow C89 compilation
45054         * lib/hash.c (check_tuning): Move declaration before statement.
45055         Reported by Reuben Thomas.
45056
45057 2009-10-05  Karl Berry  <karl@gnu.org>
45058
45059         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
45060
45061 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
45062             Bruno Haible  <bruno@clisp.org>
45063
45064         * lib/uname.c (uname): Use a table-driven algorithm to compute
45065         Windows NT versions.
45066
45067 2009-10-04  Bruno Haible  <bruno@clisp.org>
45068
45069         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
45070         program_invocation_short_name.
45071         * modules/progname (configure.ac): Test for presence of
45072         program_invocation_short_name.
45073         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
45074
45075 2009-10-04  Bruno Haible  <bruno@clisp.org>
45076
45077         * lib/progname.c (set_program_name): Fix comment.
45078         Reported by Jim Meyering.
45079
45080 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
45081             Bruno Haible  <bruno@clisp.org>
45082
45083         * lib/uname.c: Include <string.h>.
45084         (uname): Do only one call to GetVersionEx in the common case.
45085
45086 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
45087             Bruno Haible  <bruno@clisp.org>
45088
45089         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
45090         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
45091         (uname): Add support for Windows CE and various non-x86 CPU types.
45092
45093 2009-10-03  Bruno Haible  <bruno@clisp.org>
45094
45095         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
45096         invocation to tests/configure.ac.
45097         Reported by Ian Beckwith <ianb@erislabs.net>.
45098
45099 2009-10-02  Eric Blake  <ebb9@byu.net>
45100
45101         fchdir: avoid compiler warning
45102         * lib/fchdir.c (canonicalize_file_name)
45103         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
45104
45105         test-open: support mingw errno values
45106         * tests/test-open.h (test_open): Relax test.
45107         * tests/test-fopen.h (test_fopen): Likewise.
45108         * tests/test-openat-safer.c (main): Likewise.
45109
45110         open: fix opening directory on mingw
45111         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
45112
45113         test-open: on GNU/Hurd, /dev/null is a directory
45114         * tests/test-fopen.h (main): Rename...
45115         (test_fopen): ...to this.  Use a guaranteed non-directory when
45116         confirming open behavior on trailing slash.
45117         * tests/test-openat-safer.c (main): Likewise.
45118         * tests/test-open.h (main): Likewise....
45119         (test_open): ...to this.
45120         * tests/test-fopen.c (main): Adjust caller.
45121         * tests/test-fopen-safer.c (main): Likewise.
45122         * tests/test-open.c (main): Likewise.
45123         * tests/test-fcntl-safer.c (main): Likewise.
45124         Reported by Samuel Thibault.
45125
45126         rename, fchdir: don't ignore chdir failure
45127         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
45128         * lib/rename.c (rpl_rename) [W32]: Likewise.
45129         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
45130         an empty destination directory if source cannot be renamed,
45131         although there is still possibility for failure.
45132         * doc/posix-functions/rename.texi (rename): Document the race.
45133         Reported by Jim Meyering.
45134
45135         maint: cleanup whitespace in recent commits
45136         * lib/rename.c (rpl_rename): Remove tabs.
45137         * tests/test-link.h (test_link): Likewise.
45138         * lib/fchdir.c (get_name): Likewise.
45139         Reported by Jim Meyering.
45140
45141 2009-10-02  Ben Pfaff  <blp@gnu.org>
45142
45143         relocatable-prog-wrapper: Add missing dependency on
45144         double-slash-root.
45145         * modules/relocatable-prog-wrapper: Add dependency.
45146         Reported by Ian Beckwith <ianb@erislabs.net>.
45147
45148 2009-10-02  Eric Blake  <ebb9@byu.net>
45149
45150         renameat: fix Solaris bugs
45151         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
45152         needed fixing.
45153         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
45154         * modules/stdio (Makefile.am): Substitute it.
45155         * lib/stdio.in.h (renameat): Declare replacement.
45156         * lib/renameat.c (rpl_renameat): Implement fix.
45157
45158         renameat: new module
45159         * modules/renameat: New file.
45160         * lib/renameat.c (renameat): Likewise.
45161         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
45162         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
45163         * modules/stdio (Makefile.am): Substitute them.
45164         * lib/stdio.in.h (renameat): Declare it.
45165         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45166         * doc/posix-functions/renameat.texi (renameat): Likewise.
45167         * modules/renameat-tests: New test.
45168         * tests/test-renameat.c: Likewise.
45169
45170         rename: fix mingw bugs
45171         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
45172         directory overwrite bugs.
45173
45174         rename: fix another cygwin 1.5 bug
45175         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
45176         checks.
45177         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
45178         unnecessary cygwin workarounds.  Also work around bug with moving
45179         full directory onto an empty one.
45180         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
45181
45182         rename-dest-slash: merge into rename module
45183         * modules/rename-dest-slash (Status): Mark obsolete.
45184         (Depends-on): Add rename.
45185         (Files): Let rename do it all.
45186         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
45187         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
45188         * m4/rename-dest-slash.m4: ...so this file can be deleted.
45189         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
45190         * lib/rename.c (rpl_rename): Update comments.
45191
45192         rename: fix cygwin 1.5.x bugs
45193         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
45194         * lib/rename.c (rpl_rename): Work around them.
45195         * modules/rename (Depends-on): Add same-inode.
45196
45197         rename: fix Solaris 10 bug
45198         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
45199         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
45200         was the only bug.
45201
45202         rename: fix Solaris 9 bug
45203         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
45204         on non-directory.  Avoid calling exit.
45205         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
45206         strdup.
45207         * modules/rename-tests (Depends-on): Drop lstat.
45208         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
45209         (gl_PREREQ_RENAME): Delete unused macro.
45210
45211         rename-dest-slash: fix NetBSD bug
45212         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
45213         links.
45214         * modules/rename-dest-slash (Depends-on): Add same-inode.
45215
45216         rename-tests: new test, exposes several platform bugs
45217         * modules/rename-tests: New file.
45218         * tests/test-rename.h: Likewise.
45219         * tests/test-rename.c: Likewise.
45220         * doc/posix-functions/rename.texi (rename): Improve documentation,
45221         including bugs that will eventually be fixed in gnulib.
45222
45223 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
45224
45225         * lib/uname.c: Include <stdlib.h>
45226         (uname): Assume version info is available.
45227
45228 2009-10-02  Jim Meyering  <meyering@redhat.com>
45229
45230         gnu-web-doc-update: correct --help output
45231         * build-aux/gnu-web-doc-update: Make --help output relevant.
45232
45233         gnu-web-doc-update: add standard options
45234         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
45235
45236         gnu-web-doc-update: New module.
45237         Use this script to automatically update the on-line web documentation
45238         for your GNU project at http://www.gnu.org/software/$pkg/manual/
45239         * modules/gnu-web-doc-update: New file, from coreutils.
45240         * build-aux/gnu-web-doc-update: New script.
45241
45242 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
45243
45244         link: LoadLibrary is not needed.
45245         * lib/link.c: Use GetModuleHandle.
45246
45247 2009-10-01  Eric Blake  <ebb9@byu.net>
45248
45249         getopt: bump serial number
45250         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
45251         change.
45252
45253         tests: tighten link, rmdir, and remove tests
45254         * tests/test-link.h (includes): No need to use <config.h> here.
45255         Clean up if directory hard link was created, otherwise test for
45256         trailing '.'.
45257         * tests/test-linkat.c (main): Simplify.
45258         * tests/test-remove.c (main): Enhance test for trailing '.'.
45259         * tests/test-rmdir.h (test_rmdir_func): Likewise.
45260
45261 2009-10-01  Jim Meyering  <meyering@redhat.com>
45262
45263         maint.mk: requiring "make major" was annoying, for a "minor" release.
45264         What is intended is "stable", to contrast with alpha and beta,
45265         so require "make stable", not "make major".
45266         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
45267         (get_tool_versions): Likewise.
45268         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
45269
45270 2009-09-30  Ben Pfaff  <blp@gnu.org>
45271
45272         Fix broken build of replacement for Windows tmpfile().
45273         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
45274         flags argument added along with the 'mkostemp' module.
45275
45276 2009-09-28  Bruno Haible  <bruno@clisp.org>
45277
45278         Avoid identifier clash with POSIX function 'remove' defined as a macro.
45279         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
45280         to 'remove_elt'.
45281         (gl_list_remove): Update.
45282         * lib/gl_list.c (gl_list_remove): Update.
45283         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
45284         to 'remove_elt'.
45285         (gl_oset_remove): Update.
45286         * lib/gl_list.c (gl_oset_remove): Update.
45287         Reported by Eric Blake.
45288
45289 2009-09-28  Eric Blake  <ebb9@byu.net>
45290
45291         doc: mention yet more cygwin 1.7 status
45292         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
45293         cygwin.
45294         * doc/glibc-functions/execvpe.texi (execvpe): New file.
45295         * doc/gnulib.texi (Glibc unistd.h): Mention it.
45296
45297         argp: fix test failure
45298         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
45299         that are not upper-case.  Pass correct range to tolower.
45300
45301 2009-09-27  Jim Meyering  <meyering@redhat.com>
45302
45303         test-yesno: work around sparc-dash here-document infelicity
45304         Without this change, the literal \177 byte in a here document
45305         would make dash 0.5.5.1-3 access uninitialized memory.
45306         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
45307         Instead, use a marker, "@", and filter through tr to create the desired
45308         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
45309
45310 2009-09-27  Bruno Haible  <bruno@clisp.org>
45311
45312         Disable untested support for new flavours of ACLs on AIX.
45313         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
45314         progress.
45315         * lib/set-mode-acl.c (qset_acl): Likewise.
45316
45317 2008-12-07  Bruno Haible  <bruno@clisp.org>
45318
45319         Add support for new flavours of ACLs on AIX. (Untested.)
45320         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
45321         (file_has_acl): Add support for newer AIX.
45322         * lib/set-mode-acl.c (qset_acl): Likewise.
45323         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
45324         Rainer Tammer <tammer@tammer.net>.
45325
45326 2009-09-26  Eric Blake  <ebb9@byu.net>
45327
45328         argp: fix compilation of getopt
45329         * lib/getopt.in.h (includes): Use different guard than glibc.
45330         Reported by Sergey Poznyakoff.
45331
45332         doc: mention more cygwin 1.7 status
45333         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
45334         bug.
45335         * doc/posix-functions/execl.texi (execl): Likewise.
45336         * doc/posix-functions/execle.texi (execle): Likewise.
45337         * doc/posix-functions/execlp.texi (execlp): Likewise.
45338         * doc/posix-functions/execv.texi (execv): Likewise.
45339         * doc/posix-functions/execve.texi (execve): Likewise.
45340         * doc/posix-functions/execvp.texi (execvp): Likewise.
45341         * doc/glibc-functions/canonicalize_file_name.texi
45342         (canonicalize_file_name): Cygwin 1.7 now provides this.
45343         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
45344         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
45345         on AT_SYMLINK_NOFOLLOW.
45346
45347 2009-09-24  Eric Blake  <ebb9@byu.net>
45348
45349         test-linkat: make test more robust
45350         * tests/test-linkat.c (main): Avoid collision with EEXIST.
45351
45352         getopt: fix inclusion guards for cygwin
45353         * modules/getopt-posix (Depends-on): Add include-next.
45354         (Makefile.am): Substitute more items in replacement header.
45355         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
45356         <getopt.h>.
45357         * lib/getopt.in.h (includes): Use split inclusion guard, and
45358         prefer <getopt.h> over include <unistd.h> when one is present.
45359         (option): Also override name of 'struct option'.
45360
45361         same-inode: revert prior change; it is not yet ready
45362         * NEWS: Undo mention of this change.
45363         * lib/same-inode.h (same-inode.h): Undo tri-state change.
45364         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
45365         * lib/cycle-check.c (cycle_check): Likewise.
45366         * lib/same.c (same_name): Likewise.
45367         * lib/at-func2.c (at_func2): Likewise.
45368
45369 2009-09-23  Eric Blake  <ebb9@byu.net>
45370
45371         linkat: new module
45372         * modules/linkat: New file.
45373         * lib/at-func2.c (at_func2): Likewise.
45374         * lib/linkat.c (linkat): Likewise.
45375         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
45376         * lib/openat-priv.h (at_func2): Add declaration.
45377         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45378         * modules/unistd (Makefile.am): Substitute them.
45379         * lib/unistd.in.h (linkat): Declare it.
45380         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45381         * doc/posix-functions/linkat.texi (linkat): Likewise.
45382         * doc/posix-functions/link.texi (link): Tweak wording.
45383         * tests/test-link.c (main): Move guts...
45384         * tests/test-link.h (test_link): ...into new file.
45385         * modules/linkat-tests: New test.
45386         * tests/test-linkat.c: Likewise.
45387         * modules/link-tests (Files): Ship new file.
45388         (Depends-on): Add stdbool.
45389
45390         dirname: add library-safe mdir_name
45391         * lib/dirname.h (mdir_name): New prototype.
45392         * lib/dirname.c (dir_name): Move guts...
45393         (mdir_name): ...to new function that avoids xalloc_die.
45394
45395         fchdir: another mingw fix
45396         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
45397         * lib/fchdir.c (get_name): New helper method; skips canonicalize
45398         on mingw (where it has not yet been ported), and make it optional
45399         elsewhere.
45400         (_gl_register_fd): Use it.
45401
45402         same-inode: make SAME_INODE tri-state, to port to mingw
45403         * NEWS: Mention this change.
45404         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
45405         st_ino always being 0.
45406         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
45407         * lib/cycle-check.c (cycle_check): Likewise.
45408         * lib/same.c (same_name): Likewise.
45409
45410         lstat: avoid mingw compilation error
45411         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
45412         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
45413         lstat ourselves.
45414         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
45415         was adequate.
45416         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
45417         the checks for lstat.
45418         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
45419
45420         link: fix test failure on Solaris 9
45421         * lib/link.c (rpl_link): Don't assume link will catch bogus
45422         trailing slash on source.
45423
45424         test-symlinkat: enhance test
45425         * tests/test-readlink.c (main): Move guts...
45426         * tests/test-readlink.h (test_readlink): ...into new file.
45427         * tests/test-symlink.c (main): Move guts...
45428         * tests/test-symlink.h (test_symlink): ...into new file.
45429         * tests/test-symlinkat.c (main): Use new files for further
45430         coverage.
45431         (do_symlink, do_readlink): New helper functions.
45432         * modules/symlink-tests (Files): Ship new file.
45433         (Depends-on): Add stdbool.
45434         * modules/readlink-tests (Files): Ship new file.
45435         (Depends-on): Add stdbool.
45436         * modules/symlinkat-tests (Files): Use new files.
45437
45438 2009-09-23  Eric Blake  <ebb9@byu.net>
45439
45440         readlink: document portability issue with symlink length
45441         * doc/posix-functions/lstat.texi (lstat): Mention that some file
45442         systems have bogus st_size on symlinks, and mention the
45443         areadlink-with-size module.
45444         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
45445         * doc/posix-functions/readlink.texi (readlink): Mention the
45446         areadlink module, and ERANGE failure.
45447         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
45448         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
45449
45450         readlink: fix Solaris 9 bug with trailing slash
45451         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
45452         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
45453         * doc/posix-functions/readlink.texi (readlink): Document this.
45454         * modules/readlink-tests: New test.
45455         * tests/test-readlink.c: Likewise.
45456
45457         readlink: fix cygwin 1.5.x bug with return type
45458         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
45459         * lib/unistd.in.h (readlink): Use ssize_t.
45460         * lib/readlink.c (readlink): Likewise.
45461         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45462         * modules/unistd (Makefile.am): Substitute it.
45463         * lib/unistd.in.h (readlink): Declare replacement.
45464         * doc/posix-functions/readlink.texi (readlink): Document this.
45465
45466         symlink: use throughout gnulib
45467         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
45468         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
45469         symlink is not used.
45470         * modules/symlinkat (Depends-on): Add symlink.
45471         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
45472         * modules/canonicalize-tests (Depends-on): Likewise.
45473         * modules/lstat-tests (Depends-on): Likewise.
45474         * modules/openat-tests (Depends-on): Likewise.
45475         * modules/remove-tests (Depends-on): Likewise.
45476         * modules/rmdir-tests (Depends-on): Likewise.
45477         * modules/unlink-tests (Depends-on): Likewise.
45478         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
45479         * tests/test-canonicalize.c (symlink): Likewise.
45480         * tests/test-fstatat.c (symlink): Likewise.
45481         * tests/test-lstat.c (symlink): Likewise.
45482         * tests/test-remove.c (symlink): Likewise.
45483         * tests/test-rmdir.c (symlink): Likewise.
45484         * tests/test-unlink.c (symlink): Likewise.
45485         * tests/test-unlinkat.c (symlink): Likewise.
45486
45487         symlink: new module, for Solaris 9 bug
45488         * modules/symlink: New file.
45489         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
45490         * lib/symlink.c: Likewise.
45491         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
45492         * modules/unistd (Makefile.am): Substitute them.
45493         * lib/unistd.in.h (symlink): Declare replacement.
45494         * MODULES.html.sh (File system functions): Mention it.
45495         * doc/posix-functions/symlink.texi (symlink): Likewise.
45496         * modules/symlink-tests: New test.
45497         * tests/test-symlink.c: Likewise.
45498
45499 2009-09-23  Bruno Haible  <bruno@clisp.org>
45500
45501         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
45502         when needed.
45503         Test case: gnulib-tool --import --with-tests atexit inttypes.
45504         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
45505
45506 2009-09-23  Bruno Haible  <bruno@clisp.org>
45507
45508         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
45509         subcommand, not in a subshell.
45510
45511 2009-09-22  Eric Blake  <ebb9@byu.net>
45512
45513         unistd: sort replacement declarations
45514         * lib/unistd.in.h: Sort declarations.
45515
45516         open, openat: minor optimization
45517         * lib/open.c (open): If open succeeded, len is non-zero.
45518         * lib/openat.c (rpl_openat): Likewise.
45519
45520         link-follow: ensure correct result
45521         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
45522         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
45523         distinguish between possible failures.
45524
45525 2009-09-21  Eric Blake  <ebb9@byu.net>
45526
45527         fts: avoid compiler warning
45528         * lib/fts.c (dirent_inode_sort_may_be_useful)
45529         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
45530
45531 2009-09-19  Bruno Haible  <bruno@clisp.org>
45532
45533         * lib/progreloc.c (canonicalize_file_name): New declaration.
45534
45535 2009-09-19  Eric Blake  <ebb9@byu.net>
45536
45537         link: fix quoting
45538         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
45539
45540         openat: fix openat bugs on Solaris 9
45541         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
45542         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
45543         * modules/openat (Depends-on): Add open.
45544         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
45545         * modules/fcntl-h (Makefile.am): Substitute it.
45546         * lib/fcntl.in.h (openat): Declare replacement.
45547         * doc/posix-functions/openat.texi (openat): Document this.
45548
45549         openat: move fstatat and unlinkat into correct files
45550         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
45551         compiled.
45552         * lib/openat.c (fstatat, unlinkat): Move...
45553         * lib/fstatat.c (fstatat): ...into correct files.
45554         * lib/unlinkat.c (unlinkat): Likewise.
45555
45556         openat: fix unlinkat bugs on Solaris 9
45557         * lib/unlinkat.c (unlinkat): New file.
45558         * modules/openat (Depends-on): Add unlink.
45559         (Files): Distribute it.
45560         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
45561         trailing slash behavior is broken.
45562         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45563         * modules/unistd (Makefile.am): Substitute it.
45564         * lib/unistd.in.h (unlinkat): Declare replacement.
45565         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
45566
45567         openat: fix fstatat bugs on Solaris 9
45568         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
45569         stat.
45570         * doc/posix-functions/fstatat.texi (fstatat): Document this.
45571
45572         test-unlinkat: enhance test, to expose Solaris 9 bug
45573         * tests/test-unlink.c (main): Factor guts...
45574         * tests/test-unlink.h (test_rmdir_func): ...into new file.
45575         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
45576         * tests/test-rmdir.c (main): Adjust caller.
45577         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
45578         (unlinker): New helper function.
45579         (rmdirat): Enhance check.
45580         * modules/rmdir-tests (Depends-on): Add stdbool.
45581         * modules/unlink-tests (Depends-on): Likewise.
45582         (Files): Add test-unlink.h.
45583         * modules/openat-tests (Files): Likewise.
45584         (Depends-on): Add unlinkdir.
45585
45586         test-fstatat: new test, to expose Solaris 9 bugs
45587         * tests/test-stat.c (main): Factor guts...
45588         * tests/test-stat.h (test_stat_func): ...into new file.
45589         * tests/test-lstat.c (main): Factor guts...
45590         * tests/test-lstat.h (test_lstat_func): ...into new file.
45591         * tests/test-fstatat.c: New file.
45592         * modules/stat-tests (Files): Add test-stat.h.
45593         * modules/lstat-tests (Files): Add test-lstat.h.
45594         (Depends-on): Add stdbool.
45595         * modules/openat-tests (Depends-on): Add pathmax.
45596         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
45597         (Makefile.am): Run new test.
45598
45599         remove: new module, for mingw and Solaris 9 bugs
45600         * modules/remove: New file.
45601         * lib/remove.c: Likewise.
45602         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
45603         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
45604         * modules/stdio (Makefile.am): Use them.
45605         * lib/stdio.in.h (remove): Declare replacement.
45606         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45607         * doc/posix-functions/remove.texi (remove): Likewise.
45608         * modules/remove-tests: New test.
45609         * tests/test-remove.c: Likewise.
45610
45611         unlink: new module, for Solaris 9 bug
45612         * modules/unlink: New file.
45613         * lib/unlink.c: Likewise.
45614         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
45615         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45616         * modules/unistd (Makefile.am): Use them.
45617         * lib/unistd.in.h (stat): Declare replacement.
45618         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45619         * doc/posix-functions/unlink.texi (unlink): Likewise.
45620         * modules/unlink-tests: New test.
45621         * tests/test-unlink.c: Likewise.
45622
45623         lstat: fix Solaris 9 bug
45624         * lib/lstat.c (lstat): Also check for trailing slash on
45625         non-symlink, non-directories.  Use stat module to simplify logic.
45626         * doc/posix-functions/lstat.texi (lstat): Document it.
45627         * modules/lstat-tests (Depends-on): Add errno, same-inode.
45628         (configure.ac): Check for symlink.
45629         * tests/test-lstat.c (main): Add more tests.
45630
45631         stat: add as dependency to other modules
45632         * modules/chown (Depends-on): Add stat.
45633         * modules/euidaccess (Depends-on): Likewise.
45634         * modules/fchdir (Depends-on): Likewise.
45635         * modules/isdir (Depends-on): Likewise.
45636         * modules/link (Depends-on): Likewise.
45637         * modules/lstat (Depends-on): Likewise.
45638         * modules/mkdir-p (Depends-on): Likewise.
45639         * modules/modechange (Depends-on): Likewise.
45640         * modules/open (Depends-on): Likewise.
45641         * modules/readlink (Depends-on): Likewise.
45642         * modules/same (Depends-on): Likewise.
45643
45644         stat: fix Solaris 9 bug
45645         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
45646         slash.
45647         * lib/stat.c (rpl_stat): Work around it.
45648         * doc/posix-functions/stat.texi (stat): Update documentation.
45649
45650         stat: new module, for mingw bug
45651         * modules/stat: New file.
45652         * lib/stat.c: Likewise.
45653         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
45654         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45655         * modules/sys_stat (Makefile.am): Use them.
45656         * lib/sys_stat.in.h (stat): Declare replacement.
45657         * lib/openat.c (fstatat): Deal with lstat and stat being function
45658         macros.
45659         * modules/openat (Depends-on): Add inline.
45660         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45661         * doc/posix-functions/stat.texi (stat): Likewise.
45662         * modules/stat-tests: New test.
45663         * tests/test-stat.c: Likewise.
45664
45665 2009-09-19  Jim Meyering  <meyering@redhat.com>
45666
45667         syntax-check: detect unnecessary inclusion of canonicalize.h
45668         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
45669
45670 2009-09-19  Eric Blake  <ebb9@byu.net>
45671
45672         canonicalize-lgpl: adjust clients to use correct header
45673         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
45674         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
45675         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
45676         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
45677         * lib/progreloc.c (includes): Likewise.
45678
45679 2009-09-19  Jim Meyering  <meyering@redhat.com>
45680
45681         test-posixtm.c: correct a comment
45682         * tests/test-posixtm.c: Correct first-line comment.
45683         Spotted by Eric Blake.
45684
45685 2009-09-16  Jim Meyering  <meyering@redhat.com>
45686
45687         posixtm-tests: make T const-correct; add a test case
45688         * tests/test-posixtm.c (T): Declare const.
45689         Add a test for -(2^31+1).
45690         Remove useless can-succeed-only-in-2002 test.
45691
45692         posixtm-tests: adjust the sole failing test
45693         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
45694         expected output matches what mktime now produces.  Cross-checked via
45695         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
45696
45697         posixtm: move #ifdef'd tests into a new module
45698         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
45699         * tests/test-posixtm.c: ... this new file.
45700         * modules/posixtm-tests: New module.
45701
45702 2009-09-19  Eric Blake  <ebb9@byu.net>
45703
45704         openat: simplify use of at-func.c
45705         * lib/at-func.c (includes): Include prerequisites here, to
45706         simplify requirements on client files.
45707         * lib/openat-priv.h: Add double-inclusion guard.
45708         * lib/faccessat.c (includes): Simplify.
45709         * lib/fchmodat.c (includes): Likewise.
45710         * lib/fchownat.c (includes): Likewise.
45711         * lib/mkdirat.c (includes): Likewise.
45712         * lib/mkfifoat.c (includes): Likewise.
45713         * lib/symlinkat.c (includes): Likewise.
45714
45715         openat: allow return of fd 0
45716         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
45717         * modules/save-cwd (Depends-on): Replace fcntl-safer with
45718         unistd-safer.
45719         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
45720         <fcntl.h>; this module does not leak fds.
45721         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
45722         must be allowed to return 0, leaving openat_safer to add the
45723         safety.
45724         (openat_permissive): Avoid writing to just-opened fd 2 if
45725         restoring the current directory fails.
45726         * lib/openat-die.c (openat_restore_fail): Add comment.
45727         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
45728         (save_cwd): Guarantee safe fd, but without use of open_safer.
45729         * tests/test-openat.c: New test.
45730         * modules/openat-tests (Files, Makefile.am): Distribute and build
45731         new file.
45732
45733         relocatable-prog-wrapper: fix build
45734         * modules/relocatable-prog-wrapper (Files): Update name of
45735         canonicalize m4 file, broken on 2009-09-17.
45736         Reported by emad hajjar <aleppos@hotmail.com>.
45737
45738 2009-09-19  Bruno Haible  <bruno@clisp.org>
45739
45740         * lib/safe-alloc.h: Use the standard header with GPL copyright.
45741         * lib/safe-alloc.c: Likewise.
45742         Reported by Ian Beckwith <ianb@erislabs.net>.
45743
45744 2009-09-18  Bruno Haible  <bruno@clisp.org>
45745
45746         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
45747         Reported by <erobles@sensacd.com.mx>.
45748
45749 2009-09-17  Eric Blake  <ebb9@byu.net>
45750
45751         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
45752         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
45753         slashes when checking if last component is missing.
45754         * tests/test-canonicalize.c (main): Test this.
45755
45756         canonicalize, canonicalize-lgpl: honor // if distinct from /
45757         * modules/canonicalize (Files): Add double-slash-root.m4.
45758         * modules/canonicalize-lgpl (Files): Likewise.
45759         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
45760         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
45761         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
45762         fallback definition.
45763         (canonicalize_filename_mode): Use it to protect //.
45764         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
45765         (__realpath): Likewise.
45766         * tests/test-canonicalize.c (main): Test this.
45767         * tests/test-canonicalize-lgpl.c (main): Likewise.
45768         * modules/canonicalize-tests (Depends-on): Add same-inode.
45769         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
45770
45771         canonicalize-lgpl: fix glibc bug with trailing slash
45772         * m4/canonicalize-lgpl.m4: Move contents...
45773         * m4/canonicalize.m4: ...here.
45774         (gl_CANONICALIZE_LGPL): Factor realpath check...
45775         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
45776         glibc 2.3.5 bug, fixed 2005-04-27.
45777         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
45778         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
45779         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
45780         * modules/canonicalize-lgpl (Files): Manage file rename.
45781         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45782         * modules/stdlib (Makefile.am): Substitute witness.
45783         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
45784         is needed.
45785         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
45786         replacement is required.
45787         * lib/canonicalize.c (canonicalize_file_name): Likewise.
45788         * doc/glibc-functions/canonicalize_file_name.texi
45789         (canonicalize_file_name): Document this.
45790         * doc/posix-functions/realpath.texi (realpath): Likewise.
45791
45792         canonicalize-lgpl: reject non-directory with trailing slash
45793         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
45794         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
45795         catches failures in glibc 2.3.5.
45796         * tests/test-canonicalize.c (main): Likewise.
45797
45798         canonicalize-lgpl: use native realpath if it works
45799         * lib/canonicalize-lgpl.c (realpath): Guard with
45800         FUNC_REALPATH_WORKS.
45801         * lib/stdlib.in.h (realpath): Make declaration optional based on
45802         HAVE_REALPATH.
45803         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
45804         native realpath works.
45805         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45806         * modules/stdlib (Makefile.am): Substitute witness.
45807
45808         canonicalize, canonicalize-lgpl: use <stdlib.h>
45809         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
45810         (Include): Mention <stdlib.h>.
45811         (configure.ac): Mention functions we provide.
45812         * modules/canonicalize (configure.ac): Likewise.
45813         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
45814         realpath if canonicalize_file_name is missing.
45815         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
45816         * modules/stdlib (Makefile.am): Substitute witnesses.
45817         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
45818         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
45819         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
45820         * NEWS: Document this.
45821         * doc/glibc-functions/canonicalize_file_name.texi
45822         (canonicalize_file_name): Likewise.
45823         * doc/posix-functions/realpath.texi (realpath): Likewise.
45824         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
45825
45826         test-canonicalize: consolidate into single C program
45827         * tests/test-canonicalize.sh: Delete; move setup into...
45828         * tests/test-canonicalize.c (main): ...the program, making it
45829         easier to run in debugger.  Add some tests.
45830         * modules/canonicalize-tests (Files): Remove unused file.
45831         (Depends-on): Add progname.
45832         (configure.ac, Makefile.am): Simplify.
45833
45834         test-canonicalize-lgpl: consolidate into single C program
45835         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
45836         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
45837         easier to run in debugger.  Add some tests.
45838         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
45839         (configure.ac, Makefile.am): Simplify.
45840
45841         canonicalize: avoid resolvepath
45842         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
45843         unnecessary checks.
45844         * lib/canonicalize.c (includes): Simplify.
45845         (canonicalize_file_name): Drop resolvepath implementation.
45846         * modules/canonicalize (Depends-on): Drop filenamecat.
45847
45848         canonicalize: don't lose errno
45849         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
45850         over calls to free.
45851
45852         canonicalize: simplify errno handling
45853         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
45854         assignment.
45855
45856         canonicalize, canonicalize-lgpl: update module dependencies
45857         * modules/canonicalize (Depends-on): Add extensions, lstat,
45858         pathmax, stdlib.
45859         (Files): Drop pathmax.h.
45860         (configure.ac): Adjust macro name.
45861         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
45862         lstat, stdlib, sys_stat.
45863         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
45864         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
45865         extensions.
45866         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
45867         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
45868         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
45869         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
45870         declaration, if available.
45871         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
45872         we can rely on the readlink module.
45873         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
45874         (includes): Use <unistd.h> unconditionally.
45875
45876 2009-09-17  Eric Blake  <ebb9@byu.net>
45877
45878         maint: make Include sections of modules consistent
45879         * modules/alloca: Use only header name; no need to list #include.
45880         * modules/alloca-opt: Likewise.
45881         * modules/arpa_inet: Likewise.
45882         * modules/canon-host: Likewise.
45883         * modules/configmake: Likewise.
45884         * modules/dirent: Likewise.
45885         * modules/eealloc: Likewise.
45886         * modules/environ: Likewise.
45887         * modules/fchdir: Likewise.
45888         * modules/fcntl: Likewise.
45889         * modules/fcntl-h: Likewise.
45890         * modules/gethrxtime: Likewise.
45891         * modules/gettime: Likewise.
45892         * modules/ignore-value: Likewise.
45893         * modules/inet_ntop: Likewise.
45894         * modules/inet_pton: Likewise.
45895         * modules/inttypes: Likewise.
45896         * modules/isnand-nolibm: Likewise.
45897         * modules/isnanf-nolibm: Likewise.
45898         * modules/mbchar: Likewise.
45899         * modules/mbfile: Likewise.
45900         * modules/mbiter: Likewise.
45901         * modules/mbuiter: Likewise.
45902         * modules/netdb: Likewise.
45903         * modules/netinet_in: Likewise.
45904         * modules/nproc: Likewise.
45905         * modules/pagealign_alloc: Likewise.
45906         * modules/poll: Likewise.
45907         * modules/printf-frexp: Likewise.
45908         * modules/pthread: Likewise.
45909         * modules/putenv: Likewise.
45910         * modules/random_r: Likewise.
45911         * modules/relocatable-prog: Likewise.
45912         * modules/search: Likewise.
45913         * modules/select: Likewise.
45914         * modules/selinux-h: Likewise.
45915         * modules/settime: Likewise.
45916         * modules/signal: Likewise.
45917         * modules/size_max: Likewise.
45918         * modules/socklen: Likewise.
45919         * modules/ssize_t: Likewise.
45920         * modules/stdarg: Likewise.
45921         * modules/stdbool: Likewise.
45922         * modules/stddef: Likewise.
45923         * modules/stdint: Likewise.
45924         * modules/stdio: Likewise.
45925         * modules/stdlib: Likewise.
45926         * modules/string: Likewise.
45927         * modules/strings: Likewise.
45928         * modules/sys_file: Likewise.
45929         * modules/sys_ioctl: Likewise.
45930         * modules/sys_select: Likewise.
45931         * modules/sys_socket: Likewise.
45932         * modules/sys_stat: Likewise.
45933         * modules/sys_time: Likewise.
45934         * modules/sys_times: Likewise.
45935         * modules/sys_utsname: Likewise.
45936         * modules/sys_wait: Likewise.
45937         * modules/sysexits: Likewise.
45938         * modules/time: Likewise.
45939         * modules/times: Likewise.
45940         * modules/tmpfile: Likewise.
45941         * modules/trim: Likewise.
45942         * modules/unistd: Likewise.
45943         * modules/wchar: Likewise.
45944         * modules/wctype: Likewise.
45945
45946 2009-09-17  Bruno Haible  <bruno@clisp.org>
45947
45948         Make getdate.y compile on QNX and NetBSD 5 / i386.
45949         * m4/getdate.m4 (gl_GETDATE): Conditionally define
45950         TIME_T_FITS_IN_LONG_INT.
45951         * lib/getdate.y (long_time_t): New type.
45952         (relative_time): Change type of 'seconds' field to long_time_t.
45953         (get_date): Update types of local variables. Check against overflow
45954         during conversion from long_time_t to time_t.
45955         Reported by Matt Kraai <kraai@ftbfs.org>
45956         and Hasso Tepper <hasso@netbsd.org>.
45957
45958 2009-09-17  Bruno Haible  <bruno@clisp.org>
45959
45960         * modules/COPYING: Update copyright years.
45961         * modules/README: Likeiwse.
45962         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
45963         Reported by Ian Beckwith <ianb@erislabs.net>.
45964
45965 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45966
45967         * users.txt: Update references for gnuit package.
45968
45969 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45970
45971         * m4/getdelim.m4: Fix typo in copyright line.
45972
45973 2009-09-17  Bruno Haible  <bruno@clisp.org>
45974
45975         * lib/atoll.c: Use the standard header with GPL copyright.
45976         * lib/argz.in.h: Likewise.
45977         * lib/glob.c: Likewise.
45978         * lib/glob-libc.h: Likewise.
45979         * lib/random_r.c: Likewise.
45980         * lib/siglist.h: Likewise.
45981         * lib/strsignal.c: Likewise.
45982         Reported by Ian Beckwith <ianb@erislabs.net>.
45983
45984 2009-09-17  Eric Blake  <ebb9@byu.net>
45985
45986         rmdir: ensure correct dependency order
45987         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
45988
45989 2009-09-17  Bruno Haible  <bruno@clisp.org>
45990
45991         Disable assertion that fails on NetBSD 5 / i386.
45992         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
45993         Reported by Sam Steingold <sds@gnu.org>
45994         and Hasso Tepper <hasso@netbsd.org>.
45995
45996 2009-09-16  Eric Blake  <ebb9@byu.net>
45997
45998         unlinkdir: port to mingw
45999         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
46000         on which no one can unlink a directory.
46001
46002         stdlib: sort witness names
46003         * modules/stdlib (Makefile.am): Sort replacements.
46004         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
46005         * lib/stdlib.in.h: Likewise.
46006
46007         parse-duration-tests: avoid link failure
46008         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
46009         LIBINTL.
46010         Reported by Tom G. Christensen.
46011
46012         openat-tests: ensure unlinkat behaves like rmdir
46013         * tests/test-rmdir.c (main): Factor guts...
46014         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
46015         * modules/rmdir-tests (Files): Ship new file.
46016         * modules/openat-tests: New test.
46017         * tests/test-unlinkat.c: Likewise.
46018
46019         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
46020         * modules/rmdir-errno (Status, Notice): Now obsolete.
46021
46022         rmdir: work around cygwin 1.5.x and mingw bugs
46023         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
46024         * lib/rmdir.c (rmdir): Work around it.
46025         * modules/rmdir (Status, Notice): No longer obsolete.
46026         (Files): Add dos.m4.
46027         (Depends-on): Add unistd.
46028         (configure.ac): Set witnesses.
46029         (License): Relax to LGPLv2+.
46030         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
46031         * modules/unistd (Makefile.am): Substitute witnesses.
46032         * lib/unistd.in.h (rmdir): Declare replacement.
46033         * doc/posix-functions/rmdir.texi (rmdir): Document this.
46034         * modules/rmdir-tests: New tests.
46035         * tests/test-rmdir.c: Likewise.
46036
46037 2009-09-15  Eric Blake  <ebb9@byu.net>
46038
46039         fchdir: improve use of replacement functions
46040         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
46041         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
46042         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
46043         REPLACE_CLOSEDIR.
46044         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
46045         * modules/sys_stat (Makefile.am): Substitute correct witness.
46046         * modules/dirent (Makefile.am): Likewise.
46047         * modules/unistd (Makefile.am): Likewise.
46048         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
46049         * lib/unistd.in.h (dup): Likewise.
46050         * lib/sys_stat.in.h (fstat): Likewise.
46051
46052         maint: ignore gnulib-tool temp files
46053         * .gitignore: Ignore files created during gnulib-tool --test.
46054
46055 2009-09-13  Jim Meyering  <meyering@redhat.com>
46056
46057         posixtm: don't reject a time that specify "60" as the number of seconds
46058         * lib/posixtm.c (posixtime): The code to reject invalid dates
46059         would also reject a time specified with the .60 suffix.
46060         But POSIX allows that, in order to accommodate leap seconds.
46061         So don't reject it.
46062         (main): Adjust tests accordingly.
46063         * modules/posixtm (Depends-on): Add stpcpy.
46064
46065 2009-09-11  Jim Meyering  <meyering@redhat.com>
46066
46067         announce-gen: include [$release_type] in emitted Subject:
46068         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
46069         e.g., [stable] in the emitted Subject: line.
46070
46071 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46072
46073         Remove obsolete macros from several modules.
46074         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
46075         obsolete Autoconf macros with their modern counterparts.
46076         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
46077         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
46078         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
46079         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
46080         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
46081         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46082         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
46083         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
46084         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
46085         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
46086         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
46087         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
46088         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
46089         * m4/sockets.m4 (gl_SOCKETS): Likewise.
46090         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
46091         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
46092         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
46093         * m4/time_r.m4 (gl_TIME_R): Likewise.
46094         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
46095         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
46096         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
46097
46098         Fix copyright header in build-aux scripts.
46099         * build-aux/git-version-gen: Fix copyright header to match GPLv3
46100         recommendation.
46101         * build-aux/ncftpput-ftp: Likewise.
46102         * build-aux/update-copyright: Likewise.
46103
46104 2009-09-09  Eric Blake  <ebb9@byu.net>
46105
46106         test-link: allow Linux choice of errno
46107         * tests/test-link.c (main): Relax test for alternate error.
46108
46109         strndup: fix improper m4 caching
46110         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
46111         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
46112         (gl_PREREQ_STRNDUP): Delete.
46113         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
46114         * modules/string (Makefile.am): Substitute it.
46115         * lib/string.in.h (strndup): Modernize prototype.
46116
46117         getcwd: port to mingw
46118         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
46119         different from the POSIX assumptions made throughout the getcwd
46120         module; fortunately, the mingw getcwd does not need replacement.
46121         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
46122         * modules/getcwd-tests: New test.
46123         * tests/test-getcwd.c: Likewise.
46124
46125         link: fix platform bugs
46126         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
46127         * lib/link.c (link): Work around them.  Fix related mingw bug.
46128         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
46129         * modules/unistd (Makefile.am): Substitute it.
46130         * lib/unistd.in.h (link): Declare replacement.
46131         * doc/posix-functions/link.texi (link): Document this.
46132         * modules/link (Depends-on): Add strdup-posix, sys_stat.
46133
46134         test-link: consolidate into single C program, test more cases
46135         * tests/test-link.sh: Delete.
46136         * tests/test-link.c: Test more error conditions.  Exposes bugs on
46137         at least Cygwin and Solaris.
46138         * modules/link-tests (Files): Remove unused file.
46139         (Depends-on): Add errno, sys_stat.
46140         (Makefile.am): Simplify.
46141
46142 2009-09-08  Bruno Haible  <bruno@clisp.org>
46143
46144         Work around towlower, towupper bug on mingw.
46145         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
46146         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
46147         * doc/posix-functions/towlower.texi: Mention the mingw bug.
46148         * doc/posix-functions/towupper.texi: Likewise.
46149         Reported by Eric Blake.
46150
46151 2009-09-08  Jim Meyering  <meyering@redhat.com>
46152
46153         build: don't try to run autoheader if we don't use it
46154         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
46155         is not used in configure.ac.
46156
46157 2009-09-08  Eric Blake  <ebb9@byu.net>
46158
46159         euidaccess: fix compilation error
46160         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
46161
46162         rawmemchr: relax license
46163         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
46164         okay.
46165         Reported by Jim Meyering.
46166
46167         mkfifoat: new module
46168         * modules/mkfifoat: New file.
46169         * lib/mkfifoat.c: Likewise.
46170         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
46171         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
46172         * modules/sys_stat (Makefile.am): Use them.
46173         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
46174         * MODULES.html.sh (File system functions): Mention module.
46175         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
46176         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
46177         * modules/mkfifoat-tests: New test.
46178         * tests/test-mkfifoat.c: Likewise.
46179
46180         strchrnul: relax license
46181         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
46182         okay.
46183         Reported by Jim Meyering.
46184
46185 2009-09-08  Eric Blake  <ebb9@byu.net>
46186
46187         fstatat: fix compilation on Solaris
46188         * lib/fstatat.c (includes): Add fcntl.h.
46189         Reported by Pádraig Brady.
46190
46191 2009-09-07  Eric Blake  <ebb9@byu.net>
46192
46193         rename: modernize replacement
46194         * modules/rename (Depends-on): Add stdio.
46195         (configure.ac): Declare witness.
46196         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
46197         stdio take care of replacement.
46198         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
46199         * modules/stdio (Makefile.am): Substitute them.
46200         * lib/stdio.in.h (rename): Declare replacement.
46201         * lib/rename.c (includes): Allow cross-compilation to non-windows
46202         machines.
46203         * doc/posix-functions/rename.texi (rename): Improve
46204         documentation.
46205
46206         stdio: sort witness names
46207         * modules/stdio (Makefile.am): Sort replacements.
46208         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
46209         * lib/stdio.in.h: Likewise.
46210
46211         getcwd: minor cleanups
46212         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
46213         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
46214
46215         openat: provide more convenience names
46216         * modules/faccessat (configure.ac): Add C witness.
46217         * lib/unistd.in.h (readlinkat): Fix typo.
46218         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
46219         convenience wrappers.
46220         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
46221         wrappers in syntax checks.
46222
46223 2009-09-06  Eric Blake  <ebb9@byu.net>
46224
46225         doc: fix comments in recent patches
46226         * lib/faccessat.c: Mention correct function.
46227         * lib/fchmodat.c: Likewise.
46228         * lib/fchownat.c: Likewise.
46229         * lib/symlinkat.c: Likewise.
46230         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
46231         constants.
46232
46233         faccessat, symlinkat: continue cleanup of previous patch
46234         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
46235         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
46236         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
46237         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
46238         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
46239         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
46240         set.
46241
46242 2009-09-06  Bruno Haible  <bruno@clisp.org>
46243
46244         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
46245         (fstatat): Declare if GNULIB_FSTATAT is set.
46246         (mkdirat): Declare if GNULIB_MKDIRAT is set.
46247         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
46248         (unlinkat): Declare if GNULIB_UNLINKAT is set.
46249         * modules/fcntl-h (Files): Remove m4/openat.m4.
46250         * modules/sys_stat (Files): Remove m4/openat.m4.
46251         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
46252         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
46253         * modules/unistd (Files): Remove m4/openat.m4.
46254         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
46255         GNULIB_OPENAT.
46256         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
46257         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
46258         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
46259         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
46260         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
46261         gl_OPENAT_DEFAULTS.
46262         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
46263         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
46264         Don't require gl_OPENAT_DEFAULTS.
46265         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
46266         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
46267         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
46268         (gl_OPENAT_DEFAULTS): Remove macro.
46269
46270 2009-09-06  Bruno Haible  <bruno@clisp.org>
46271
46272         * modules/openat (configure.ac): Remove unneeded witness.
46273
46274 2009-09-06  Bruno Haible  <bruno@clisp.org>
46275
46276         Set errno to ENOSYS when a function is entirely unsupported.
46277         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
46278         EOPNOTSUPP.
46279         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
46280         * modules/chown (Depends-on): Remove errno.
46281
46282 2009-09-06  Bruno Haible  <bruno@clisp.org>
46283
46284         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
46285
46286 2009-09-06  Bruno Haible  <bruno@clisp.org>
46287
46288         * lib/sys_stat.in.h: Fix preprocessor command indentation.
46289
46290 2009-09-06  Ben Pfaff  <blp@gnu.org>
46291             Bruno Haible  <bruno@clisp.org>
46292
46293         Work around a glibc bug in strtok_r.
46294         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
46295         Undefine if UNDEFINE_STRTOK_R is set.
46296         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
46297         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
46298         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
46299         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
46300         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
46301         UNDEFINE_STRTOK_R.
46302         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
46303
46304 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
46305
46306         exclude: minor fix
46307         * lib/exclude.c: Include wctype.h
46308
46309 2009-09-06  Akim Demaille  <demaille@gostai.com>
46310
46311         bootstrap: improve error message
46312         * build-aux/bootstrap (find_tool): Upon failure, report the list
46313         of candidates.
46314         Honor the initial value of the envvar.
46315
46316 2009-09-05  Eric Blake  <ebb9@byu.net>
46317
46318         symlinkat: new module
46319         * modules/symlinkat: New file.
46320         * lib/symlinkat.c: Likewise.
46321         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
46322         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
46323         * modules/unistd (Makefile.am): Use them.
46324         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
46325         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
46326         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
46327         * MODULES.html.sh (File system functions): Mention module.
46328         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
46329         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
46330         * modules/symlinkat-tests: New test.
46331         * tests/test-symlinkat.c: Likewise.
46332
46333         test-openat-safer: add more checks
46334         * tests/test-openat-safer.c (main): Check more code paths.
46335
46336 2009-09-05  Jim Meyering  <meyering@redhat.com>
46337
46338         syntax-check: detect unnecessary inclusion of openat.h
46339         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
46340
46341 2009-09-05  Bruno Haible  <bruno@clisp.org>
46342
46343         Support towlower, towupper.
46344         * doc/posix-functions/towlower.texi: Mention module wctype.
46345         * doc/posix-functions/towupper.texi: Likewise.
46346         * lib/wctype.in.h (towlower, towupper): New functions.
46347         * tests/test-wctype.c: Include stdio.h, stdlib.h.
46348         (ASSERT): New macro.
46349         (e): New variable.
46350         (main): Test also towlower, towupper. Test WEOF argument.
46351         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46352
46353 2009-09-05  Bruno Haible  <bruno@clisp.org>
46354
46355         Fix conversion behaviour when the input is invalid.
46356         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
46357         mark occurring in first pass of indirect conversion.
46358         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
46359         input.
46360         Found by clang's static analyzer.
46361
46362 2009-09-05  Bruno Haible  <bruno@clisp.org>
46363
46364         * tests/test-striconveh.c (main): Test indirect conversion on platforms
46365         where direct conversion is possible.
46366
46367 2009-09-04  Eric Blake  <ebb9@byu.net>
46368
46369         openat: fail with ENOENT on empty name
46370         * lib/openat-proc.c (openat_proc_name): Special-case the empty
46371         buffer.
46372
46373         link-follow: fix logic bug in prior patch
46374         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
46375         reversed sense of yes and no in prior patch.  Avoid confusing
46376         compilation failure with desired semantics.
46377
46378         link-follow: accommodate mingw and cross-compilation
46379         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
46380         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
46381         cross-compilation results to -1, to make linkat easier to
46382         implement when cross-compiling.  Trivially support mingw.
46383         * modules/link-follow (configure.ac): Call new name.
46384         * NEWS: Mention this.
46385
46386 2009-09-03  Eric Blake  <ebb9@byu.net>
46387
46388         faccessat: compile replacement
46389         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
46390         needed.
46391
46392         fts: fix compilation error
46393         * lib/fts.c (includes): Re-add "openat.h", for
46394         openat_needs_fchdir.
46395
46396         faccessat: new module
46397         * modules/faccessat: New file.
46398         * lib/faccessat.c: Likewise.
46399         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
46400         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
46401         * modules/unistd (Makefile.am): Use it.
46402         * lib/unistd.in.h (faccessat): Declare it.
46403         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
46404         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
46405         * MODULES.html.sh (File system functions): Mention it.
46406         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
46407         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
46408
46409         euidaccess: prefer POSIX over non-standard implementation
46410         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
46411         * lib/euidaccess.c (euidaccess): Use it if available.
46412
46413         openat: make template easier to use
46414         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
46415         AT_FUNC_F2 to be undefined.
46416         (VALIDATE_FLAG): New macro; use it to reject bad flags.
46417         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
46418         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
46419         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
46420         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
46421         Likewise.
46422         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
46423         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
46424         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
46425         Likewise.
46426
46427         openat: declare in POSIX headers
46428         * NEWS: Mention this.
46429         * modules/openat (configure.ac): Declare witnesses.
46430         (Depends-on): Add fcntl-h, sys_stat, unistd.
46431         (Include): Mention correct headers.
46432         * modules/fcntl-h (Depends-on): Add link-warning.
46433         (Files): Add openat.m4.
46434         (Makefile.am): Substitute witnesses.
46435         * modules/sys_stat (Files, Makefile.am): Likewise.
46436         * modules/unistd (Files, Makefile.am): Likewise.
46437         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
46438         (gl_OPENAT_DEFAULTS): New macro.
46439         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
46440         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
46441         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
46442         (SYS_STAT_H): Remove unused variable.
46443         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
46444         * lib/fcntl--.h (includes): Remove unneeded header.
46445         * lib/openat-safer.c (includes): Likewise.
46446         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
46447         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
46448         appropriate headers.
46449         (__OPENAT_PREFIX): Delete.
46450         * lib/fcntl.in.h (openat): Provide declaration.
46451         (AT_FDCWD): Fix Solaris bug.
46452         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
46453         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
46454         * lib/fchmodat.c (includes):  Adjust to find declaration.
46455         * lib/fchownat.c (includes): Likewise.
46456         * lib/mkdirat.c (includes): Likewise.
46457         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
46458         still visible.
46459
46460 2009-09-02  Eric Blake  <ebb9@byu.net>
46461
46462         errno: use consistently
46463         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
46464         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
46465         * lib/canonicalize.c (ELOOP): Likewise.
46466         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
46467         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
46468         * lib/lchown.c (EOPNOTSUPP): Likewise.
46469         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
46470         * lib/savewd.c (ESTALE): Likewise.
46471         * lib/settime.c (ENOSYS): Likewise.
46472         * lib/utimens.c (ENOSYS): Likewise.
46473         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
46474         * lib/chdir-safer.c (ELOOP): Likewise.
46475         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
46476         * modules/c-stack (Depends-on): Add errno.
46477         * modules/canonicalize (Depends-on): Likewise.
46478         * modules/chdir-safer (Depends-on): Likewise.
46479         * modules/fdopendir (Depends-on): Likewise.
46480         * modules/inet_ntop (Depends-on): Likewise.
46481         * modules/inet_pton (Depends-on): Likewise.
46482         * modules/lchown (Depends-on): Likewise.
46483         * modules/openat (Depends-on): Likewise.
46484         * modules/savewd (Depends-on): Likewise.
46485         * modules/settime (Depends-on): Likewise.
46486         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
46487
46488         fts: avoid leaking fds
46489         * modules/fts (Depends-on): Add cloexec.
46490         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
46491         flag.
46492
46493         fts: make directory fds more robust
46494         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
46495         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
46496
46497         backupfile, chdir-long, fts, savedir: make safer
46498         * lib/backupfile.c (includes): Use "dirent--.h", since
46499         numbered_backup can write to stderr during readdir.
46500         * lib/savedir.c (includes): Likewise.
46501         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
46502         emulation can write to stderr on failure.
46503         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
46504         * lib/getcwd.c: Document why opendir_safer is unused.
46505         * lib/glob.c: Likewise.
46506         * lib/scandir.c: Likewise.
46507         * lib/openat-proc.c: Likewise, for open_safer.
46508         * modules/backupfile (Depends-on): Add dirent-safer.
46509         * modules/savedir (Depends-on): Likewise.
46510         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
46511         * modules/chdir-long (Depends-on): Add openat-safer.
46512
46513         openat-safer: new module
46514         * modules/openat-safer: New file.
46515         * lib/openat-safer.c: Likewise.
46516         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
46517         * lib/fcntl-safer.h (openat_safer): Declare.
46518         * lib/fcntl--.h (openat): Override.
46519         * MODULES.html.sh (File descriptor based I/O): Mention it.
46520         * lib/openat.h: Add double-inclusion guards.
46521         * lib/openat.c (includes): Only include "fcntl-safer.h", not
46522         "fcntl--.h", so we can implement openat.
46523         * modules/openat-safer-tests: New test.
46524         * tests/test-openat-safer.c: New file.
46525
46526         dirent-safer: new module
46527         * modules/dirent-safer: New file.
46528         * lib/dirent--.h: Likewise.
46529         * lib/dirent-safer.h: Likewise.
46530         * lib/opendir-safer.c: Likewise.
46531         * m4/dirent-safer.m4: Likewise.
46532         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
46533         * modules/dirent-safer-tests: New test.
46534         * tests/test-dirent-safer.c: New file.
46535         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
46536
46537         fdopendir: optimize on mingw
46538         * lib/unistd.in.h (_gl_directory_name): New prototype.
46539         * lib/fchdir.c (_gl_directory_name): Implement it.
46540         (fchdir): Use it to simplify implementation.
46541         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
46542         fchdir, when available, to avoid calling [f]chdir().
46543
46544         fdopendir: split into its own module
46545         * lib/openat.c (fdopendir): Move...
46546         * lib/fdopendir.c: ...into new file.
46547         * modules/fdopendir: New module.
46548         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
46549         * modules/openat (Depends-on): Add fdopendir.
46550         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
46551         fdopendir here.
46552         * modules/savedir (Depends-on): Only need fdopendir, not full
46553         openat.
46554         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
46555         * lib/openat.h (fdopendir): Drop prototype.
46556         * lib/dirent.in.h (fdopendir): Provide prototype.
46557         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
46558         * modules/dirent (Makefile.am): Substitute them.
46559         * MODULES.html.sh (File system functions): Mention it.
46560         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
46561         * modules/fdopendir-tests: New file.
46562         * tests/test-fdopendir.c: Likewise.
46563
46564         fchdir: use more consistent macro convention
46565         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
46566         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
46567         REPLACE_FCHDIR, rather than relying on config.h macros.
46568         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
46569         inside a single make-time REPLACE_FCHDIR block, rather than using
46570         the config.h FCHDIR_REPLACEMENT.
46571         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
46572         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
46573         Manage fstat replacement.
46574         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
46575         REPLACE_FCHDIR.
46576         * modules/sys_stat (Files): Add m4/unistd_h.m4.
46577         (Makefile.am): Substitute REPLACE_FCHDIR.
46578         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
46579         FCHDIR_REPLACEMENT.
46580         * lib/dup-safer.c (dup_safer): Likewise.
46581         * lib/dup2.c (rpl_dup2): Likewise.
46582         * lib/dup3.c (rpl_dup3): Likewise.
46583         * lib/open.c (rpl_open): Likewise.
46584
46585         fchdir: simplify error handling, and support dup3
46586         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
46587         stdbool, malloc-posix, realloc-posix.
46588         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
46589         (ensure_dirs_slot): Return false on allocation failure.
46590         (rpl_dup2): Delete.
46591         (_gl_register_dup): New function.
46592         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
46593         (_gl_register_fd): Close fd on allocation failure.
46594         * lib/fcntl.in.h (_gl_register_fd): Update signature.
46595         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
46596         prototype.
46597         (rpl_dup2_fchdir): Delete prototype.
46598         * lib/open.c (open): Update caller.
46599         * lib/dup2.c (dup2): Track fchdir metadata.
46600         * lib/dup3.c (dup3): Likewise.
46601         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
46602         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
46603
46604 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46605
46606         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
46607         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
46608         don't pass arguments to AC_OUTPUT.
46609
46610 2009-09-02  Bruno Haible  <bruno@clisp.org>
46611
46612         * modules/mkdtemp (License): Relicense under LGPLv2+.
46613         Reported by Paolo Bonzini.
46614
46615 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46616
46617         Replace uses of obsolete autoconf macros in Jim's modules.
46618         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
46619         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
46620         can evoke a warning from autoconf when run with -Wobsolete
46621         enabled.  They were declared obsolete for good reasons (see
46622         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
46623         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
46624         should not continue using the deprecated macros.
46625         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
46626         obsolete Autoconf macros with modern counterparts.
46627         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
46628         * m4/dos.m4 (gl_AC_DOS): Likewise.
46629         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
46630         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
46631         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
46632         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
46633         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
46634         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
46635         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
46636         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
46637         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
46638         Likewise.
46639         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
46640         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
46641         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
46642         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
46643         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
46644         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
46645
46646 2009-09-01  Eric Blake  <ebb9@byu.net>
46647
46648         fchdir: fix off-by-one bug in previous patch
46649         * lib/fchdir.c (rpl_fstat): Use correct bounds.
46650         (_gl_unregister_fd): Delete useless if.
46651
46652 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
46653
46654         maint.mk: sort the list of syntax-check rules
46655         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
46656         easier to get a sense of progress when the rules are run sequentially
46657         and take a long time.
46658
46659 2009-09-01  Simon Josefsson  <simon@josefsson.org>
46660
46661         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
46662         * modules/netinet_in: Likewise.
46663         * modules/sys_file: Likewise.
46664         * modules/sys_ioctl: Likewise.
46665         * modules/sys_select: Likewise.
46666         * modules/sys_socket: Likewise.
46667         * modules/sys_stat: Likewise.
46668         * modules/sys_time: Likewise.
46669         * modules/sys_times: Likewise.
46670         * modules/sys_utsname: Likewise.
46671         * modules/sys_wait: Likewise.
46672
46673 2009-09-01  Jim Meyering  <meyering@redhat.com>
46674
46675         fts: help ensure that return values are not ignored
46676         * lib/fts_.h (__GNUC_PREREQ): Define.
46677         (__attribute_warn_unused_result__): Define.
46678         (fts_children, fts_close, fts_open, fts_read): Declare with
46679         __attribute_warn_unused_result__.
46680
46681         fts: fts_close now fails also when closing a dir file descriptor fails
46682         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
46683         and propagate to caller, along with errno.
46684
46685         announce-gen: correct formatting in --help output
46686         * build-aux/announce-gen (usage): Move the one-line description in
46687         --help output "up", to where it belongs, just after Usage:.
46688
46689 2009-08-31  Eric Blake  <ebb9@byu.net>
46690
46691         fchdir: port to mingw
46692         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
46693         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
46694         opened, then use a substitute.
46695         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
46696         replacement.
46697         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
46698         (_gl_register_fd): No need to check stat if open already filters
46699         all directories.
46700         (fchdir): Fix error condition to match POSIX.
46701         * modules/fchdir (Depends-on): Add sys_stat.
46702         * doc/posix-functions/open.texi (open): Document the limitation.
46703         * modules/fchdir-tests: New file.
46704         * tests/test-fchdir.c: Likewise.
46705
46706         canonicalize: allow cross-testing from cygwin to mingw
46707         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
46708         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
46709         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
46710         Likewise.
46711         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
46712         target does not support symlinks.
46713         * tests/test-canonicalize-lgpl.sh: Likewise.
46714
46715         chown: avoid compilation warning on mingw
46716         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
46717         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
46718         mingw.
46719         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
46720         * modules/chown (Depends-on): Add errno.
46721
46722 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
46723
46724         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
46725         command.
46726
46727 2009-08-31  Jim Meyering  <meyering@redhat.com>
46728
46729         canonicalize: remove useless initialization
46730         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
46731         initialization of local, "end".
46732
46733 2009-08-30  Bruno Haible  <bruno@clisp.org>
46734
46735         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
46736         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
46737         ENOSYS.
46738
46739 2009-08-30  Bruno Haible  <bruno@clisp.org>
46740
46741         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
46742         /usr/xpg4/bin/tr when it exists.
46743         * tests/test-pipe-filter-gi1.sh: Likewise.
46744
46745 2009-08-30  Bruno Haible  <bruno@clisp.org>
46746
46747         Work around deficient /usr/bin/id program on Solaris.
46748         * tests/test-file-has-acl.sh (ID): New variable.
46749         * tests/test-set-mode-acl.sh (ID): Likewise.
46750         * tests/test-copy-acl.sh (ID): Likewise.
46751         * tests/test-copy-file.sh (ID): Likewise.
46752
46753 2009-08-30  Bruno Haible  <bruno@clisp.org>
46754
46755         New module 'xstriconveh'.
46756         * lib/xstriconveh.h: New file.
46757         * lib/xstriconveh.c: New file.
46758         * modules/xstriconveh: New file.
46759
46760 2009-08-30  Bruno Haible  <bruno@clisp.org>
46761
46762         Make it easier to use mem_cd_iconveh.
46763         * lib/striconveh.h (iconveh_t): New type.
46764         (iconveh_open, iconveh_close): New declarations.
46765         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46766         with a single 'const iconveh_t *' argument.
46767         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
46768         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46769         with a single 'const iconveh_t *' argument.
46770         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
46771         * tests/test-striconveh.c (main): Update.
46772         * NEWS: Mention the change.
46773
46774 2009-08-30  Bruno Haible  <bruno@clisp.org>
46775
46776         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
46777         problem.
46778
46779 2009-08-30  Bruno Haible  <bruno@clisp.org>
46780
46781         Work around iconv_open problem on Solaris.
46782         * lib/iconv_open-solaris.gperf: New file.
46783         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
46784         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
46785         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
46786         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
46787         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
46788         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
46789
46790 2009-08-29  Jim Meyering  <meyering@redhat.com>
46791
46792         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
46793         * top/maint.mk (cvs-check): Remove target; it was just an alias
46794         to the better-named vc-diff-check.
46795         (maintainer-distcheck): Remove rule.  It was used only from
46796         the (alpha/beta/major) target, and all of its commands but one
46797         were coreutils-specific.
46798         (vc-dist): Remove rule.
46799         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
46800         Run vc-diff-check, not vc-dist.
46801         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
46802
46803 2009-08-27  Bruno Haible  <bruno@clisp.org>
46804
46805         * tests/test-bitrotate.c (main): Remove test that uses a shift count
46806         of 0.
46807
46808 2009-08-27  Bruno Haible  <bruno@clisp.org>
46809
46810         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
46811         compilers.
46812         * doc/func.texi: Document the SunPRO C bug.
46813
46814 2009-08-27  Bruno Haible  <bruno@clisp.org>
46815
46816         Fix link error on Solaris.
46817         * tests/test-parse-duration.c (xstrdup): Remove function.
46818
46819 2009-08-26  Pádraig Brady  <P@draigbrady.com>
46820
46821         ignore-value: handle pointer types, too
46822         * lib/ignore-value.h (__attribute__): Remove definition.
46823         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
46824         of a more concise and more-often effective "(void) i" statement.
46825         (ignore_ptr): New function to suppress warnings from functions that
46826         return pointers, and to make it explicit that one function doesn't
46827         handle all cases.
46828
46829 2009-08-25  Bruno Haible  <bruno@clisp.org>
46830
46831         dup2: work around a Linux bug.
46832         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
46833         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
46834         * doc/posix-functions/dup2.texi: Mention the Linux bug.
46835         Reported by Simon Josefsson.
46836
46837 2009-08-25  Jim Meyering  <meyering@redhat.com>
46838
46839         libguestfs uses gnulib
46840         * users.txt: Add libguestfs.
46841
46842 2009-08-24  Eric Blake  <ebb9@byu.net>
46843
46844         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
46845         * lib/pipe2.c (includes): Add binary-io.h.
46846         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
46847
46848 2009-08-24  Bruno Haible  <bruno@clisp.org>
46849
46850         Tolerate declared but missing accept4 syscall.
46851         * lib/accept4.c (accept4): Invoke original accept4 function first, if
46852         available.
46853         * lib/sys_socket.in.h (accept4): If the function is already present,
46854         override it.
46855         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
46856         * modules/accept4 (Makefile.am): Compile accept4.c always.
46857         Reported by Paolo Bonzini and Eric Blake.
46858
46859 2009-08-23  Bruno Haible  <bruno@clisp.org>
46860
46861         New module 'accept4'.
46862         * lib/sys_socket.in.h (accept4): New declaration.
46863         * lib/accept4.c: New file.
46864         * m4/accept4.m4: New file.
46865         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
46866         GNULIB_ACCEPT4, HAVE_ACCEPT4.
46867         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
46868         HAVE_ACCEPT4.
46869         * modules/accept4: New file.
46870         * doc/glibc-functions/accept4.texi: Mention the new module.
46871
46872 2009-08-24  Jim Meyering  <meyering@redhat.com>
46873
46874         progname: also set global program_invocation_name, when possible
46875         Before this change, a libtool-enabled program that calls glibc's
46876         error function would report the program name as
46877         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
46878         * modules/progname (configure.ac): Check for a declaration of
46879         program_invocation_name.
46880         * lib/progname.c:  Include <errno.h>.
46881         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
46882         Set program_invocation_name.
46883
46884 2009-08-23  Bruno Haible  <bruno@clisp.org>
46885
46886         * lib/dup3.c: Include <string.h>.
46887
46888 2009-08-23  Bruno Haible  <bruno@clisp.org>
46889
46890         * lib/dup3.c (dup3): Test only once whether the system actually exists.
46891         * lib/pipe2.c (pipe2): Likewise.
46892         Suggested by Eric Blake.
46893
46894 2009-08-23  Bruno Haible  <bruno@clisp.org>
46895
46896         Tolerate declared but missing dup3 syscall.
46897         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
46898         * lib/unistd.in.h (dup3): If the function is already present,
46899         override it.
46900         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
46901         * modules/dup3 (Makefile.am): Compile dup3.c always.
46902         Reported by Paolo Bonzini.
46903
46904 2009-08-23  Bruno Haible  <bruno@clisp.org>
46905
46906         Tolerate declared but missing pipe2 syscall.
46907         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
46908         available.
46909         * lib/unistd.in.h (pipe2): If the function is already present,
46910         override it.
46911         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
46912         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
46913         Reported by Paolo Bonzini.
46914
46915 2009-08-23  Bruno Haible  <bruno@clisp.org>
46916
46917         * lib/pipe2.c (pipe2): Move #ifs inside function.
46918
46919 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46920
46921         quotearg: document limitations of quote_these_too
46922         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
46923         those limitations are created.
46924         * lib/quotearg.h (set_char_quoting): Document that digits and
46925         letters that are special after backslash are not permitted.
46926         (quotearg_char): Cross-reference set_char_quoting documentation.
46927
46928 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
46929
46930         quotearg: implement custom_quoting_style
46931         * lib/quotearg.c: (struct quoting_options): Add left_quote and
46932         right_quote fields.
46933         (set_custom_quoting): New public function.
46934         (quotearg_buffer_restyled): Add left_quote and right_quote
46935         arguments, handle them very much like locale quoting, and update
46936         all uses.
46937         (quotearg_n_custom): New public function.
46938         (quotearg_n_custom_mem): New public function.
46939         (quotearg_custom): New public function.
46940         (quotearg_custom_mem): New public function.
46941         * lib/quotearg.h: Prototype and document new public functions.
46942         (enum quoting_style): For escape_quoting_style and
46943         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
46944         ignored even though they're otherwise like c_quoting_style.
46945         Add custom_quoting_style member and document with comparison to
46946         clocale_quoting_style.
46947         * tests/test-quotearg.c (custom_quotes): New array.
46948         (custom_results): New array.
46949         (main): Extend to test custom quoting.
46950
46951 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46952
46953         quotearg: fix right quote escaping when it's in quote_these_too
46954         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
46955         quote, be sure to prepend only one backslash.
46956         * tests/test-quotearg.c (use_quote_double_quotes): New function.
46957         (main): Test it.
46958
46959 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46960
46961         quotearg-tests: test escaping of embedded locale quotes
46962         * tests/test-quotearg.c (struct result_strings): Add member for
46963         new input.
46964         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
46965         (inputs): Add new input.
46966         (results_g): Add expected results.
46967         (flag_results): Likewise.
46968         (locale_results): Likewise.
46969         (compare_strings): Check those.
46970
46971 2009-08-23  Bruno Haible  <bruno@clisp.org>
46972
46973         Tests for module 'dup3'.
46974         * modules/dup3-tests: New file.
46975         * tests/test-dup3.c: New file.
46976
46977         New module 'dup3'.
46978         * lib/unistd.in.h (dup3): New declaration.
46979         * lib/dup3.c: New file.
46980         * m4/dup3.m4: New file.
46981         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
46982         HAVE_DUP3.
46983         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
46984         * modules/dup3: New file.
46985         * doc/glibc-functions/dup3.texi: Mention the new module.
46986
46987 2009-08-23  Bruno Haible  <bruno@clisp.org>
46988
46989         Tweak the dup2 test.
46990         * tests/test-dup2.c (main): Create the test file empty. Verify that an
46991         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
46992         the test file is still empty. Fix argument order of lseek.
46993
46994 2009-08-23  Bruno Haible  <bruno@clisp.org>
46995
46996         Avoid test link errors when the modules getopt-gnu, gettext are used.
46997         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
46998         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46999
47000 2009-08-23  Bruno Haible  <bruno@clisp.org>
47001
47002         Fix getdtablesize() on mingw.
47003         * lib/getdtablesize.c (getdtablesize): Implement differently.
47004         * lib/unistd.in.h (getdtablesize): Improve comment.
47005
47006 2009-08-23  Bruno Haible  <bruno@clisp.org>
47007
47008         New module 'mkostemp'.
47009         Based on Ulrich Drepper's 2007-08-10 change in glibc.
47010         * lib/stdlib.in.h (mksotemp): New declaration.
47011         * lib/mkostemp.c: New file, from glibc with modifications.
47012         * lib/tempname.h (GT_FILE): Remove outdated comment.
47013         (gen_tempname): Add flags argument.
47014         * lib/tempname.c (__GT_BIGFILE): Remove macro.
47015         (__GT_FILE): Map to 1.
47016         (small_open, large_open): Remove macros.
47017         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
47018         * lib/mkstemp.c (mkstemp): Update.
47019         * lib/mkdtemp.c (mkdtemp): Likewise.
47020         * m4/mkostemp.m4: New file.
47021         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
47022         HAVE_MKOSTEMP.
47023         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
47024         HAVE_MKOSTEMP.
47025         * modules/mkostemp: New file, based on modules/mkstemp.
47026         * doc/glibc-functions/mkostemp.texi: Mention the new module.
47027         * NEWS: Mention the change.
47028
47029 2009-08-23  Bruno Haible  <bruno@clisp.org>
47030
47031         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
47032         Reported by Eric Blake.
47033
47034 2009-08-23  Bruno Haible  <bruno@clisp.org>
47035
47036         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
47037         Reported by Eric Blake.
47038
47039 2009-08-23  Bruno Haible  <bruno@clisp.org>
47040
47041         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
47042         * modules/pipe2 (Depends-on): Likewise.
47043
47044 2009-08-23  Eric Blake  <ebb9@byu.net>
47045
47046         fcntl-h: add O_TTY_INIT support
47047         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
47048         * tests/test-fcntl-h.c (o): Test it.
47049         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
47050
47051         fcntl-h: rename from fcntl, in preparation for fcntl(2)
47052         * modules/fcntl: Move <fcntl.h> header replacement...
47053         * modules/fcntl-h: ...to new name, so as not to collide with
47054         like-named function.
47055         * tests/test-fcntl.c: Rename...
47056         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
47057         * modules/fcntl-tests: Rename...
47058         * modules/fcntl-h-tests: ...to this.  Update test file name.
47059         * modules/chdir-long (Depends-on): Update clients.
47060         * modules/chdir-safer (Depends-on): Likewise.
47061         * modules/fcntl-safer (Depends-on): Likewise.
47062         * modules/fts (Depends-on): Likewise.
47063         * modules/mkancesdirs (Depends-on): Likewise.
47064         * modules/mkdir-p (Depends-on): Likewise.
47065         * modules/open (Depends-on): Likewise.
47066         * modules/savewd (Depends-on): Likewise.
47067         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
47068         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
47069
47070 2009-08-22  Bruno Haible  <bruno@clisp.org>
47071
47072         * modules/binary-io (License): Relicense under LGPL.
47073         * modules/pipe2 (License): Likewise.
47074
47075 2009-08-22  Bruno Haible  <bruno@clisp.org>
47076
47077         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
47078         return value.
47079         * lib/pipe-filter-gi.c (filter_init): Likewise.
47080         Reported by Eric Blake.
47081
47082 2009-08-22  Bruno Haible  <bruno@clisp.org>
47083
47084         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
47085         * modules/pipe (Depends-on): Add pipe2.
47086
47087 2009-08-22  Bruno Haible  <bruno@clisp.org>
47088
47089         Tests for module 'pipe2'.
47090         * modules/pipe2-tests: New file.
47091         * tests/test-pipe2.c: New file.
47092
47093         New module 'pipe2'.
47094         * lib/unistd.in.h (pipe2): New declaration.
47095         * lib/pipe2.c: New file.
47096         * m4/pipe2.m4: New file.
47097         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
47098         HAVE_PIPE2.
47099         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
47100         * modules/pipe2: New file.
47101         * doc/glibc-functions/pipe2.texi: Mention the new module.
47102
47103 2009-08-22  Bruno Haible  <bruno@clisp.org>
47104
47105         Reference some new glibc functions.
47106         * doc/glibc-functions/accept4.texi: New file.
47107         * doc/glibc-functions/dup3.texi: New file.
47108         * doc/glibc-functions/mkostemp.texi: New file.
47109         * doc/glibc-functions/pipe2.texi: New file.
47110         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
47111         (Glibc sys/socket.h): Refer to accept4.
47112         (Glibc unistd.h): Refer to dup3, pipe2.
47113         Reported by Eric Blake.
47114
47115 2009-08-22  Jim Meyering  <meyering@redhat.com>
47116             Bruno Haible  <bruno@clisp.org>
47117
47118         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
47119         This makes it so packages using automake-1.11's silent-rules option
47120         can print e.g., a single "GEN    configmake.h" line, rather than
47121         the 30+ statements that perform the job.  If you want to see the
47122         actual commands, you can still run "make V=1".
47123         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
47124         so that make output is abbreviated when those variables are defined
47125         appropriately.
47126         * modules/argz: Likewise.
47127         * modules/arpa_inet: Likewise.
47128         * modules/byteswap: Likewise.
47129         * modules/configmake: Likewise.
47130         * modules/dirent: Likewise.
47131         * modules/errno: Likewise.
47132         * modules/fcntl: Likewise.
47133         * modules/float: Likewise.
47134         * modules/fnmatch: Likewise.
47135         * modules/getopt-posix: Likewise.
47136         * modules/glob: Likewise.
47137         * modules/iconv_open: Likewise.
47138         * modules/inttypes: Likewise.
47139         * modules/localcharset: Likewise.
47140         * modules/locale: Likewise.
47141         * modules/math: Likewise.
47142         * modules/netdb: Likewise.
47143         * modules/netinet_in: Likewise.
47144         * modules/poll: Likewise.
47145         * modules/posix_spawnp-tests: Likewise.
47146         * modules/sched: Likewise.
47147         * modules/search: Likewise.
47148         * modules/selinux-h: Likewise.
47149         * modules/signal: Likewise.
47150         * modules/spawn: Likewise.
47151         * modules/stdarg: Likewise.
47152         * modules/stdbool: Likewise.
47153         * modules/stddef: Likewise.
47154         * modules/stdint: Likewise.
47155         * modules/stdio: Likewise.
47156         * modules/stdlib: Likewise.
47157         * modules/string: Likewise.
47158         * modules/strings: Likewise.
47159         * modules/sys_file: Likewise.
47160         * modules/sys_ioctl: Likewise.
47161         * modules/sys_select: Likewise.
47162         * modules/sys_socket: Likewise.
47163         * modules/sys_stat: Likewise.
47164         * modules/sys_time: Likewise.
47165         * modules/sys_times: Likewise.
47166         * modules/sys_utsname: Likewise.
47167         * modules/sys_wait: Likewise.
47168         * modules/sysexits: Likewise.
47169         * modules/time: Likewise.
47170         * modules/unistd: Likewise.
47171         * modules/wchar: Likewise.
47172         * modules/wctype: Likewise.
47173
47174 2009-08-22  Jim Meyering  <meyering@redhat.com>
47175
47176         announce-gen: detect write failure
47177         * build-aux/announce-gen: Add Coda at end.
47178         Remove equivalent-but-more-verbose block at top.
47179
47180 2009-08-19  Akim Demaille  <demaille@gostai.com>
47181
47182         bootstrap: --help to stdout.
47183         * bootstrap (usage): Don't send --help to stderr.
47184         Use a here doc instead of a long string.
47185
47186 2009-08-21  Eric Blake  <ebb9@byu.net>
47187
47188         test-popen-safer: split from test-popen
47189         * tests/test-popen.c (main): Move...
47190         * tests/test-popen.h: ...into new file.
47191         * tests/test-popen-safer2.c: New file.
47192         * modules/popen-tests (Files): Add test-popen.h.
47193         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
47194         Suggested by Bruno Haible.
47195
47196         test-fcntl-safer: split from test-open
47197         * tests/test-open.c (main): Move...
47198         * tests/test-open.h: ...into new file.
47199         * tests/test-fcntl-safer.c: New file.
47200         * modules/open-tests (Files): Add test-open.h.
47201         * modules/fcntl-safer-tests: New file.
47202         Suggested by Bruno Haible.
47203
47204         test-fopen-safer: split from test-fopen
47205         * tests/test-fopen.c (main): Move...
47206         * tests/test-fopen.h: ...into new file.
47207         * tests/test-fopen-safer.c: New file.
47208         * modules/fopen-tests (Files): Add test-fopen.h.
47209         * modules/fopen-safer-tests: New file.
47210         Suggested by Bruno Haible.
47211
47212 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
47213
47214         popen-safer: test O_CLOEXEC at run-time.
47215         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
47216
47217 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
47218
47219         fcntl: move more flags to the header
47220         * lib/cloexec.c: Do not define FD_CLOEXEC here.
47221         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
47222         * lib/fcntl.in.h: Do both things here.
47223
47224 2009-08-21  Jim Meyering  <meyering@redhat.com>
47225
47226         consistently remove $@-t before redirecting to it
47227         * modules/argz: Remove $@-t and $@ before redirecting to the former.
47228         * modules/alloca-opt: Likewise.
47229         * modules/byteswap: Likewise.
47230         * modules/fnmatch: Likewise.
47231         * modules/getopt-posix: Likewise.
47232         * modules/glob: Likewise.
47233         * modules/poll: Likewise.
47234         * modules/posix_spawnp-tests: Likewise.
47235         * modules/sys_socket: Likewise.
47236         * modules/sysexits: Likewise.
47237
47238 2009-08-21  Eric Blake  <ebb9@byu.net>
47239
47240         popen: simplify access to original popen
47241         * lib/popen.c (rpl_popen): No need to worry about popen being a
47242         macro.
47243         Reported by Bruno Haible.
47244
47245 2009-08-20  Eric Blake  <ebb9@byu.net>
47246
47247         build: avoid some compiler warnings
47248         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
47249         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
47250         type.
47251         (new_exclude_segment, excluded_file_pattern_p)
47252         (excluded_file_name_p): Reduce scope.
47253         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
47254         old-style declaration.
47255
47256 2009-08-20  Simon Josefsson  <simon@josefsson.org>
47257
47258         * tests/test-exclude1.sh: Handle Windows EOL.
47259         * tests/test-exclude2.sh: Likewise.
47260         * tests/test-exclude3.sh: Likewise.
47261         * tests/test-exclude4.sh: Likewise.
47262         * tests/test-exclude5.sh: Likewise.
47263         * tests/test-exclude6.sh: Likewise.
47264         * tests/test-exclude7.sh: Likewise.
47265
47266 2009-08-19  Akim Demaille  <demaille@gostai.com>
47267
47268         bootstrap: find sha1sum when named gsha1sum.
47269         * bootstrap (find_tool): New.
47270         ($SHA1SUM): New.
47271         Use it.
47272
47273 2009-08-20  Jim Meyering  <meyering@redhat.com>
47274
47275         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
47276         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
47277         expression that converts "." in a file name to "\." in the resulting
47278         regexp.  Start with a dummy statement, so that prior shell variable
47279         definitions are expanded portably.  Reported by Simon Josefsson.
47280
47281 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
47282
47283         Fix polling for writeability of a screen buffer.
47284         * lib/poll.c: Distinguish input and screen buffers for the
47285         Win32 implementation.
47286         * lib/select.c: Likewise.
47287
47288 2009-08-19  Eric Blake  <ebb9@byu.net>
47289
47290         popen-safer: prevent popen from clobbering std descriptors
47291         * modules/popen-safer: New file.
47292         * lib/popen-safer.c: Likewise.
47293         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
47294         * lib/stdio--.h (popen): Provide override.
47295         * lib/stdio-safer.h (popen_safer): Provide declaration.
47296         * tests/test-popen.c (includes): Partially test this.
47297         * modules/popen-safer-tests: New file, for more tests.
47298         * tests/test-popen-safer.c: Likewise.
47299         * MODULES.html.sh (file stream based Input/Output): Mention it.
47300
47301         tests: test some of the *-safer modules
47302         * modules/fopen-safer (Depends-on): Add fopen.
47303         * modules/fcntl-safer (Depends-on): Add fcntl.
47304         * modules/stdlib-safer (Depends-on): Add stdlib.
47305         (configure.ac): Set indicator.
47306         * modules/unistd-safer (configure.ac): Likewise.
47307         * modules/tmpfile-safer (configure.ac): Likewise.
47308         (Depends-on): Add tmpfile.
47309         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
47310         active.
47311         * tests/test-fopen.c (includes): Test safer versions when they are
47312         in use.
47313         * tests/test-open.c (includes): Likewise.
47314
47315         popen: fix cygwin 1.5 bug when stdin closed
47316         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
47317         * modules/popen: New file.
47318         * modules/popen-tests: Likewise.
47319         * tests/test-popen.c: Likewise.
47320         * m4/popen.m4: Likewise.
47321         * lib/popen.c: Likewise.
47322         * lib/stdio.in.h (popen): New declaration.
47323         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
47324         * modules/stdio (Makefile.am): Likewise.
47325         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
47326
47327 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
47328
47329         maint.mk: give full control over update-copyright exclusions
47330         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
47331         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
47332         (update-copyright): Don't force inclusion of top-level
47333         ChangeLog.  Don't force exclusion of all COPYING files, but make
47334         them the default exclusion instead.
47335
47336 2009-08-16  Bruno Haible  <bruno@clisp.org>
47337
47338         Fix test failures on Solaris 10.
47339         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
47340         tests when Solaris iconv() is used.
47341         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
47342         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
47343         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
47344         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
47345         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
47346
47347 2009-08-16  Bruno Haible  <bruno@clisp.org>
47348
47349         Fix test failures on Solaris 10.
47350         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
47351         'tr' program and pass it as first argument.
47352         * tests/test-pipe-filter-gi1.sh: Likewise.
47353         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
47354         program as first argument.
47355         * tests/test-pipe-filter-gi1.c (main): Likewise.
47356
47357 2009-08-16  Eric Blake  <ebb9@byu.net>
47358
47359         fpurge: fix previous commits
47360         * modules/fpurge (Makefile.am): Make replacement conditional,
47361         partially reverting 2007-04-29 change; missed in previous
47362         attempt.
47363         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
47364         is missing.
47365
47366 2009-08-16  Bruno Haible  <bruno@clisp.org>
47367
47368         Clarify fpurge's effect on the file position.
47369         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
47370         * tests/test-fpurge.c (main): Make a second pass for checking the file
47371         position.
47372
47373 2009-08-16  Bruno Haible  <bruno@clisp.org>
47374
47375         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
47376         declaration of fpurge is missing.
47377         * tests/test-fpurge.c (main): Check that the file has not more contents
47378         than expected. Close the file before removing it.
47379
47380 2009-08-15  Eric Blake  <ebb9@byu.net>
47381
47382         fpurge: don't wrap working cygwin implementation
47383         * lib/fpurge.c (fpurge): Fix comment typo.
47384         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
47385         1.7 to avoid replacement.
47386         * tests/test-fpurge.c (main): Enhance test.
47387
47388 2009-08-15  Eric Blake  <ebb9@byu.net>
47389         and Jim Meyering  <meyering@redhat.com>
47390
47391         test-update-copyright: skip if perl is insufficient
47392         * tests/test-update-copyright.sh: Failure to run maintainer tool
47393         should not cause testsuite failure on cygwin 1.5.
47394
47395 2009-08-14  Eric Blake  <ebb9@byu.net>
47396
47397         doc: mention more functions added in cygwin 1.7.0
47398         * doc/posix-headers/limits.texi (limits.h): Update for recent
47399         cygwin additions.
47400         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
47401         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
47402         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
47403         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
47404         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
47405
47406 2009-08-14  Eric Blake  <ebb9@byu.net>
47407
47408         maint.mk: simplify update-copyright rule
47409         * top/maint.mk (update-copyright-local): Delete, and document how
47410         to do it in cfg.mk instead.
47411         (update-copyright-exclude-regexp): Delete, and document how to do
47412         it in .x-update-copyright instead.
47413         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
47414         exclude ChangeLog.
47415
47416 2009-08-14  Bruno Haible  <bruno@clisp.org>
47417
47418         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
47419
47420 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
47421
47422         maint.mk: support update-copyright-env
47423         * top/maint.mk (update-copyright-env): Define place-holder.
47424         (update-copyright): Expand $(update-copyright-env) before
47425         invoking update-copyright.
47426
47427 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
47428
47429         update-copyright: implement forced reformatting
47430         * build-aux/update-copyright: Implement and document
47431         UPDATE_COPYRIGHT_FORCE.
47432         * tests/test-update-copyright.sh: Test it.
47433
47434 2009-08-14  Eric Blake  <ebb9@byu.net>
47435         and Bruno Haible  <bruno@clisp.org>
47436
47437         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
47438         * tests/test-locale.c: Revert previous patch related to NULL.
47439         * tests/test-stdio.c: Likewise.
47440         * tests/test-stdlib.c: Likewise.
47441         * tests/test-string.c: Likewise.
47442         * tests/test-unistd.c: Likewise.
47443         * modules/time-tests (Depends-on): Add verify.
47444         * modules/wchar-tests (Depends-on): Likewise.
47445         * tests/test-time.c: Test for NULL compliance.
47446         * tests/test-wchar.c: Likewise.
47447         * modules/locale (Depends-on): Add stddef.
47448         * modules/stdio (Depends-on): Likewise.
47449         * modules/stdlib (Depends-on): Likewise.
47450         * modules/string (Depends-on): Likewise.
47451         * modules/time (Depends-on): Likewise.
47452         * modules/unistd (Depends-on): Likewise.
47453         * modules/wchar (Depends-on): Likewise.
47454         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
47455         * lib/stdlib.in.h (includes): Likewise.
47456         * lib/string.in.h (includes): Likewise.
47457         * lib/time.in.h (includes): Likewise.
47458         * lib/unistd.in.h (includes): Likewise.
47459         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
47460         replaced.
47461         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
47462         * m4/stddef_h.m4: New file.
47463         * modules/stddef: Likewise.
47464         * lib/stddef.in.h: Likewise.
47465         * modules/stddef-tests: Likewise.
47466         * tests/test-stddef.c: Likewise.
47467         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
47468         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
47469         * doc/posix-headers/locale.texi (locale.h): Likewise.
47470         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
47471         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
47472         * doc/posix-headers/string.texi (string.h): Likewise.
47473         * doc/posix-headers/time.texi (time.h): Likewise.
47474         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
47475         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
47476
47477 2009-08-14  Eric Blake  <ebb9@byu.net>
47478
47479         doc: improve git diff of texinfo files
47480         * .gitattributes: Add rule for *.texi files, with hint on how to
47481         use it.
47482         Copied from m4, and based on a report by Bruno Haible.
47483
47484 2009-08-14  Bruno Haible  <bruno@clisp.org>
47485
47486         Disable multithread support by default on Cygwin 1.5.x for real.
47487         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
47488
47489 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
47490
47491         update-copyright: much ado about intervals
47492         * build-aux/update-copyright: Implement and document
47493         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
47494         of copyright year intervals.
47495         Also, document UPDATE_COPYRIGHT_YEAR.
47496         * tests/test-update-copyright.sh: Test it.
47497
47498         update-copyright: convert 2-digit to 4-digit years
47499         * build-aux/update-copyright: Implement and document.
47500         * tests/test-update-copyright.sh: Update.
47501
47502 2009-08-14  Jim Meyering  <meyering@redhat.com>
47503
47504         test-exclude: avoid coreutils "make check" failure
47505         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
47506         just as in test-argmatch.c.
47507
47508 2009-08-13  Eric Blake  <ebb9@byu.net>
47509
47510         test-dup2: fix bad assumption
47511         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
47512         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
47513
47514         test-version-etc: fix CRLF portability issue
47515         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
47516         recognize \r.
47517         * tests/test-argp-version-etc-1.sh: Likewise.
47518
47519         getopt: update client modules
47520         * modules/argp (Depends-on): Use getopt-gnu.
47521         * modules/git-merge-changelog (Depends-on): Likewise.
47522         * modules/long-options (Depends-on): Likewise.
47523         * modules/xstrtol (Depends-on): Likewise.
47524
47525 2009-08-13  Simon Josefsson  <simon@josefsson.org>
47526
47527         * tests/test-version-etc.sh: Don't fail on different
47528         project/version.  Don't fail on CRLF differences.  Rewrite to use
47529         multiple -e instead of multiple sed forks, suggested by Eric Blake
47530         <ebb9@byu.net>.
47531         * tests/test-argp-version-etc-1.sh: Likewise.
47532
47533 2009-08-13  Simon Josefsson  <simon@josefsson.org>
47534
47535         * tests/test-version-etc.sh: Don't fail on different
47536         project/version.
47537
47538 2009-08-12  Bruno Haible  <bruno@clisp.org>
47539
47540         Tests for modules 'getopt-posix', 'getopt-gnu'.
47541         * modules/getopt-posix-tests: New file.
47542         * tests/test-getopt.c: New file.
47543         * tests/test-getopt.h: New file.
47544         * tests/test-getopt_long.h: New file.
47545
47546         New modules 'getopt-posix', 'getopt-gnu'.
47547         * modules/getopt-gnu: New file, renamed from modules/getopt.
47548         * modules/getopt-posix: New file.
47549         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
47550         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
47551         (gl_GETOPT): Remove macro.
47552         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
47553         Disable the test against BSD systems that declare optreset. Test
47554         against mingw bug. Test against lack of support of optional arguments
47555         on many platforms.
47556         * doc/glibc-headers/getopt.texi: Update module name and list of
47557         relevant platforms.
47558         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
47559         'getopt-gnu' and more portability problems.
47560         * NEWS: Mention the changes.
47561
47562 2009-08-12  Bruno Haible  <bruno@clisp.org>
47563
47564         Ensure that optarg etc. get declared by <unistd.h>.
47565         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
47566         AC_USE_SYSTEM_EXTENSIONS.
47567         * modules/getopt (Depends-on): Add 'extensions'.
47568
47569 2009-08-12  Bruno Haible  <bruno@clisp.org>
47570
47571         Avoid test link errors.
47572         * modules/pipe-filter-ii-tests (Makefile.am): Define
47573         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
47574         * modules/pipe-filter-gi-tests (Makefile.am): Define
47575         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
47576         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47577
47578 2009-08-12  Bruno Haible  <bruno@clisp.org>
47579
47580         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
47581         gl_GETOPT_SUBSTITUTE before.
47582         (gl_GETOPT): Use it.
47583         * m4/argp.m4 (gl_ARGP): Update.
47584         Reported by Sergey Poznyakoff.
47585
47586         * m4/getopt.m4: Reorder macros.
47587         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
47588         (gl_GETOPT_SUBSTITUTE): Remove macro.
47589
47590 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47591
47592         Minor improvement in gitlog-to-changelog
47593
47594         * build-aux/gitlog-to-changelog: New option `--format' makes
47595         output format string configurable.
47596
47597 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47598
47599         Optimize exclude: use hash tables for non-wildcard patterns.
47600
47601         * lib/exclude.c: Include hash.h and mbuiter.h
47602         (struct exclude_pattern, exclude_segment): New data types.
47603         (struct exclude): Rewrite.
47604         (fnmatch_pattern_has_wildcards): New function.
47605         (new_exclude_segment, free_exclude_segment): New functions.
47606         (excluded_file_pattern_p, excluded_file_name_p): New functions.
47607         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
47608         * lib/exclude.h (is_fnmatch_pattern): New prototype.
47609         * modules/exclude: Depend on hash and mbuiter.
47610
47611         * modules/exclude-tests: New file.
47612         * tests/test-exclude.c: New file.
47613         * tests/test-exclude1.sh: New file.
47614         * tests/test-exclude2.sh: New file.
47615         * tests/test-exclude3.sh: New file.
47616         * tests/test-exclude4.sh: New file.
47617         * tests/test-exclude5.sh: New file.
47618         * tests/test-exclude6.sh: New file.
47619         * tests/test-exclude7.sh: New file.
47620
47621 2009-08-12  Bruno Haible  <bruno@clisp.org>
47622
47623         Ensure that getopt() gets declared by <unistd.h>.
47624         * lib/unistd.in.h: Conditionally include getopt.h.
47625         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
47626         Set GNULIB_UNISTD_H_GETOPT.
47627         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47628         GNULIB_UNISTD_H_GETOPT.
47629         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
47630
47631 2009-08-12  Bruno Haible  <bruno@clisp.org>
47632
47633         Clarify logic.
47634         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
47635         gl_replace_getopt instead of GETOPT_H.
47636
47637 2009-08-12  Bruno Haible  <bruno@clisp.org>
47638
47639         * m4/getopt.m4: Add comments.
47640
47641 2009-08-12  Bruno Haible  <bruno@clisp.org>
47642
47643         Disable multithread support by default on Cygwin 1.5.x.
47644         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
47645         set gl_use_threads=no if not specified otherwise.
47646
47647 2009-08-11  Bruno Haible  <bruno@clisp.org>
47648
47649         Avoid compilation error on NetBSD 5.0.
47650         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
47651         * tests/test-stdio.c: Likewise.
47652         * tests/test-stdlib.c: Likewise.
47653         * tests/test-string.c: Likewise.
47654         * tests/test-unistd.c: Likewise.
47655         Reported by Greg Troxel <gdt@ir.bbn.com>
47656         at <https://savannah.gnu.org/support/?106973>.
47657
47658 2009-08-11  Bruno Haible  <bruno@clisp.org>
47659
47660         * modules/dup2-tests (Depends-on): Remove close.
47661
47662         Undo 2009-07-19 commit.
47663         * modules/acl-tests (Depends-on): Remove close.
47664         * modules/binary-io-tests (Depends-on): Likewise.
47665         * modules/closein-tests (Depends-on): Likewise.
47666         * modules/flock-tests (Depends-on): Likewise.
47667         * modules/fsync-tests (Depends-on): Likewise.
47668         * modules/lseek-tests (Depends-on): Likewise.
47669         * modules/pipe-tests (Depends-on): Likewise.
47670         * modules/posix_spawn-tests (Depends-on): Likewise.
47671         * modules/posix_spawnp-tests (Depends-on): Likewise.
47672         * modules/stat-time-tests (Depends-on): Likewise.
47673         * modules/yesno-tests (Depends-on): Likewise.
47674
47675 2009-08-10  Bruno Haible  <bruno@clisp.org>
47676
47677         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
47678
47679 2009-08-10  Bruno Haible  <bruno@clisp.org>
47680
47681         Fix a gcc warning.
47682         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
47683
47684 2009-08-10  Bruno Haible  <bruno@clisp.org>
47685
47686         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
47687         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
47688         not only the first time.
47689         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
47690         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
47691         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
47692         is 1, not only the the first time.
47693
47694 2009-08-10  Bruno Haible  <bruno@clisp.org>
47695
47696         Make it possible to use module 'gethostname' without module 'close'.
47697         * lib/unistd.in.h (close): Evoke a link error only if
47698         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
47699         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47700         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47701         * modules/unistd (Makefile.am): Substitute
47702         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47703         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
47704         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
47705         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
47706         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47707         * modules/sys_ioctl (Makefile.am): Substitute
47708         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47709         * modules/socket (configure.ac): On native Windows, set
47710         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
47711         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47712         Reported by Sam Steingold <sds@gnu.org>.
47713
47714 2009-08-10  Bruno Haible  <bruno@clisp.org>
47715
47716         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
47717         * modules/ioctl (configure.ac): Likewise.
47718
47719 2009-08-10  Bruno Haible  <bruno@clisp.org>
47720
47721         Avoid collision between gnulib wrapper and libintl wrapper.
47722         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
47723         already defined in intl/printf.c.
47724         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
47725         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
47726
47727 2009-08-09  Bruno Haible  <bruno@clisp.org>
47728
47729         Make <sys/select.h> really self-contained, also on Solaris 10.
47730         * lib/sys_select.in.h: Include <string.h>.
47731         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
47732         Solaris 10 problem.
47733         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
47734         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
47735         Reported by Jim Meyering.
47736
47737 2009-08-09  Bruno Haible  <bruno@clisp.org>
47738
47739         Avoid warnings from 'aclocal' that are due to a use of macro name
47740         AM_XGETTEXT_OPTION that is not defined in automake.
47741         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
47742         automake.
47743         * modules/error (configure.ac): Likewise.
47744         * modules/propername (configure.ac): Likewise.
47745         * modules/vasprintf (configure.ac): Likewise.
47746         * modules/verror (configure.ac): Likewise.
47747         * modules/xprintf (configure.ac): Likewise.
47748         * modules/xvasprintf (configure.ac): Likewise.
47749
47750 2009-08-08  Bruno Haible  <bruno@clisp.org>
47751
47752         Avoid compilation error in C++ mode.
47753         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
47754         Reported by Sam Steingold <sds@gnu.org>.
47755
47756 2009-08-08  Bruno Haible  <bruno@clisp.org>
47757
47758         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
47759         for the various Unix platforms.
47760         * doc/posix-headers/limits.texi: Update platforms list regarding
47761         HOST_NAME_MAX.
47762         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47763
47764 2009-08-07  Jim Meyering  <meyering@redhat.com>
47765
47766         selinux-at: fix typo in a comment
47767         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
47768         Spotted by Paolo Bonzini.
47769
47770         selinux-at: remove redundant m4 code, add documentation
47771         * modules/selinux-at (configure.ac): Remove redundant code.
47772         LIB_SELINUX is already set via the dependent module, selinux-h.
47773         (Include): Add quotes around selinux-at.h.
47774         * lib/selinux-at.h: Add documentation.
47775         Reported by Bruno Haible in
47776         http://marc.info/?l=gnulib-bug&m=124958988300749
47777
47778 2009-08-07  Bruno Haible  <bruno@clisp.org>
47779
47780         Avoid link error on MacOS X 10.3 and 10.4.
47781         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
47782         on non-ELF systems.
47783         * lib/argp-pv.c (argp_program_version): Likewise.
47784         Reported by Simon Josefsson.
47785
47786 2009-08-07  Simon Josefsson  <simon@josefsson.org>
47787
47788         * tests/test-version-etc.sh: Use $EXEEXT.
47789
47790 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
47791
47792         update-copyright: update documentation to point to maint.mk
47793         * build-aux/update-copyright: Here.
47794
47795 2009-08-06  Jim Meyering  <meyering@redhat.com>
47796
47797         maint.mk: support update-copyright-local
47798         * top/maint.mk (update-copyright-local): Define place-holder.
47799         (update-copyright): Depend on $(update-copyright-local).
47800
47801 2009-08-06  Jim Meyering  <meyering@redhat.com>
47802
47803         selinux-at: new module
47804         Initially written for coreutils, this module will soon be
47805         used by findutils, too.
47806         * MODULES.html.sh [Misc]: Add selinux-at.
47807         * lib/selinux-at.h: New file, from coreutils.
47808         * lib/selinux-at.c: Likewise.
47809         * modules/selinux-at: Likewise.
47810         (License): Change from LGPL to GPL, since it depends
47811         on the GPL'd openat module.
47812
47813         doc: update README
47814         * README: Remove references to cogito.
47815         Remove cvs-repo-updating instructions from 2007.
47816         Don't imply that CVS is better if you have limited disk space.
47817
47818 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47819
47820         update-copyright: support C-style comments
47821         * build-aux/update-copyright: Implement and document.
47822         * tests/test-update-copyright.sh: Test.
47823
47824 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47825
47826         update-copyright: support omitted "(C)"
47827         * build-aux/update-copyright: Implement and document.  Also,
47828         allow variable whitespace before "(C)".
47829         * tests/test-update-copyright.sh: Test.
47830
47831 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47832
47833         update-copyright: don't trip on non-FSF copyright statements
47834         * build-aux/update-copyright: Fix so that the first correctly
47835         formatted FSF copyright statement is recognized no matter what
47836         appears before it.  Update documentation.
47837         * tests/test-update-copyright.sh: Test that.
47838
47839 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47840
47841         update-copyright: clean up code a little
47842         * build-aux/update-copyright: Append "_re" to the name of any
47843         variable holding a regular expression.
47844         Replace "old" and "new" with "stmt" in variable names.
47845         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
47846         handled correctly.
47847         Format code more consistently.
47848
47849 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47850
47851         update-copyright-tests: improve portability
47852         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
47853         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
47854
47855 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47856
47857         update-copyright: support @copyright{} and &copy;
47858         * build-aux/update-copyright: Implement and document.
47859         * tests/test-update-copyright.sh: Test.
47860
47861 2009-08-04  Jim Meyering  <meyering@redhat.com>
47862
47863         update-copyright-tests: correctly test EOL=\r\n handling
47864         * tests/test-update-copyright.sh: Put \r at the end of some lines
47865         for the dos-eol tests.  Based on a patch by Joel E. Denny.
47866
47867         maint.mk: make update-copyright exclusion list more configurable
47868         * top/maint.mk (update-copyright): Default to excluding COPYING,
47869         but allow an override, in case someone does want to update that file.
47870
47871         maint.mk: don't update copyright date in COPYING
47872         * top/maint.mk (update-copyright): Exclude COPYING.
47873
47874         maint.mk: add a copyright-updating rule
47875         * top/maint.mk (update-copyright): New rule.
47876         Derived from coreutils/Makefile.am.
47877
47878         update-copyright: rename some variables
47879         * build-aux/update-copyright: Rename a few variables for clarity.
47880         Tweak syntax.  List Joel E. Denny as coauthor.
47881
47882 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47883
47884         update-copyright: fix bug for 2-digit last year and add tests
47885         * build-aux/update-copyright: Fix bug.
47886         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
47887         specified.
47888         * modules/update-copyright-tests: New
47889         * tests/test-update-copyright.sh: New.
47890
47891 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47892
47893         update-copyright: handle leading tabs in line prefix
47894         * build-aux/update-copyright: Count leading tabs as 8 spaces
47895         when computing margin.  This helps with the formatting of
47896         ChangeLogs, for example.
47897         Fix documentation a little.
47898
47899 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47900
47901         update-copyright: support EOL=\r\n
47902         * build-aux/update-copyright: Implement that.
47903
47904 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47905
47906         update-copyright: automatically format copyright statements
47907         * build-aux/update-copyright: Implement that.
47908         Also, be a little more predictable and safer by always failing
47909         when the full copyright format is not perfectly recognized as an
47910         unbroken whole.  Discussed at
47911         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
47912         Rewrite documentation.
47913
47914 2009-08-03  Bruno Haible  <bruno@clisp.org>
47915
47916         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
47917
47918 2009-08-02  Bruno Haible  <bruno@clisp.org>
47919
47920         Tests for module 'uname'.
47921         * modules/uname-tests: New file.
47922         * tests/test-uname.c: New file.
47923
47924         New module 'uname'.
47925         * lib/uname.c: New file.
47926         * m4/uname.m4: New file.
47927         * modules/uname: New file.
47928         * doc/posix-functions/uname.texi: Mention the new module.
47929
47930 2009-08-02  Bruno Haible  <bruno@clisp.org>
47931
47932         Tests for module 'sys_utsname'.
47933         * modules/sys_utsname-tests: New file.
47934         * tests/test-sys_utsname.c: New file.
47935
47936         New module 'sys_utsname'.
47937         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
47938         * m4/sys_utsname_h.m4: New file.
47939         * modules/sys_utsname: New file.
47940         * doc/posix-headers/sys_utsname.texi: Mention the new module.
47941
47942 2009-08-02  Bruno Haible  <bruno@clisp.org>
47943
47944         Implicitly initialize the sockets library.
47945         * lib/gethostname.c: Include sockets.h.
47946         (rpl_gethostname): Invoke gl_sockets_startup.
47947         * lib/socket.c: Include sockets.h.
47948         (rpl_socket): Invoke gl_sockets_startup.
47949         * modules/gethostname (Depends-on): Add sockets.
47950         * modules/socket (Depends-on): Likewise.
47951         * tests/test-poll.c: Don't include sockets.h.
47952         (main): Don't invoke gl_sockets_startup.
47953         * tests/test-select.c: Don't include sockets.h.
47954         (main): Don't invoke gl_sockets_startup.
47955
47956 2009-08-02  Bruno Haible  <bruno@clisp.org>
47957
47958         Allow multiple calls to gl_sockets_startup.
47959         * lib/sockets.c (initialized_sockets_version): New variable.
47960         (gl_sockets_startup): Do nothing if already called for this or a higher
47961         version.
47962         (gl_sockets_cleanup): Reset initialized_sockets_version.
47963
47964 2009-08-03  Simon Josefsson  <simon@josefsson.org>
47965
47966         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
47967         different project/version.
47968
47969 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
47970             Bruno Haible  <bruno@clisp.org>
47971
47972         Tests for module 'pipe-filter-gi'.
47973         * modules/pipe-filter-gi-tests: New file.
47974         * tests/test-pipe-filter-gi1.sh: New file.
47975         * tests/test-pipe-filter-gi1.c: New file.
47976         * tests/test-pipe-filter-gi2.sh: New file.
47977         * tests/test-pipe-filter-gi2-main.c: New file.
47978         * tests/test-pipe-filter-gi2-child.c: New file.
47979
47980         New module 'pipe-filter-gi'.
47981         * lib/pipe-filter-gi.c: New file.
47982         * modules/pipe-filter-gi: New file.
47983
47984 2009-08-02  Bruno Haible  <bruno@clisp.org>
47985             Paolo Bonzini  <bonzini@gnu.org>
47986
47987         Tests for module 'pipe-filter-ii'.
47988         * modules/pipe-filter-ii-tests: New file.
47989         * tests/test-pipe-filter-ii1.sh: New file.
47990         * tests/test-pipe-filter-ii1.c: New file.
47991         * tests/test-pipe-filter-ii2.sh: New file.
47992         * tests/test-pipe-filter-ii2-main.c: New file.
47993         * tests/test-pipe-filter-ii2-child.c: New file.
47994
47995         New module 'pipe-filter-ii'.
47996         * lib/pipe-filter.h: New file.
47997         * lib/pipe-filter-ii.c: New file.
47998         * lib/pipe-filter-aux.h: New file.
47999         * modules/pipe-filter-ii: New file.
48000
48001 2009-08-02  Simon Josefsson  <simon@josefsson.org>
48002
48003         * lib/gc-libgcrypt.c: Change copyright to FSF.
48004         * lib/gc-gnulib.c: Likewise.
48005
48006 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
48007
48008         * lib/gethostname.c: Include limits.h.
48009
48010 2009-08-02  Simon Josefsson  <simon@josefsson.org>
48011             Bruno Haible  <bruno@clisp.org>
48012
48013         Ensure HOST_NAME_MAX as part of the gethostname module.
48014         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
48015         define also HOST_NAME_MAX.
48016         * tests/test-gethostname.c: Include <limits.h>.
48017         (main): Check also HOST_NAME_MAX.
48018         * doc/posix-headers/limits.texi: Document the mingw problem.
48019
48020 2009-08-02  Bruno Haible  <bruno@clisp.org>
48021
48022         * lib/gethostname.c (gethostname): Fix handling of large len argument.
48023         Add comments.
48024
48025 2009-03-31  Simon Josefsson  <simon@josefsson.org>
48026
48027         * lib/gethostname.c: Add Windows wrapper.
48028         * m4/gethostname.m4: Look for gethostname in -lws2_32.
48029         * modules/gethostname: Depend on sys_socket & errno, for also
48030         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
48031         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
48032
48033 2009-07-31  Jim Meyering  <meyering@redhat.com>
48034
48035         getloadavg: fix symbol name in comment
48036         * lib/getloadavg.c: Correct a typo I introduced when adding
48037         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
48038         Matt Kraai spotted the problem.
48039
48040 2009-07-29  Matt Kraai  <mkraai@beckman.com>
48041
48042         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
48043         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
48044         code also if ! defined N_NAME_POINTER.
48045         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
48046         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
48047         but the n_name member is a 12-byte array.
48048
48049 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
48050
48051         update-copyright: generalize comment handling
48052         * build-aux/update-copyright: Handle copyright statements
48053         within more comment styles.
48054         Document usage.
48055         Report any file with an external copyright holder or parse failure.
48056
48057 2009-07-29  Jim Meyering  <meyering@redhat.com>
48058
48059         mktime: correct setting of REPLACE_MKTIME
48060         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
48061
48062         update-copyright: new module
48063         * modules/update-copyright: New file.
48064         * build-aux/update-copyright: New file.
48065         * MODULES.html.sh (maint+release support): Add update-copyright.
48066
48067 2009-07-27  Bruno Haible  <bruno@clisp.org>
48068
48069         Fix compilation error when <ctime> is used and mktime is replaced.
48070         * lib/time.in.h (mktime): New declaration.
48071         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
48072         REPLACE_MKTIME instead of defining mktime in config.h.
48073         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
48074         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
48075         Reported by Ross McFarland <rwmcfa1@neces.com>.
48076
48077 2009-07-27  Bruno Haible  <bruno@clisp.org>
48078
48079         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
48080         Reported by Matt Kraai <mkraai@beckman.com>.
48081
48082 2009-07-25  Jim Meyering  <meyering@redhat.com>
48083
48084         maint.mk: avoid warnings about missing files
48085         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
48086         diagnostic when .prev-version does not exist.
48087         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
48088         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
48089         nonexistent cfg.mk.
48090         Suggestions from Simon Josefsson.
48091
48092 2009-07-25  Bruno Haible  <bruno@clisp.org>
48093
48094         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
48095         defined as macros. Needed on QNX 6.4.1.
48096         Reported by Matt Kraai <mkraai@beckman.com>.
48097
48098 2009-07-23  Jim Meyering  <meyering@redhat.com>
48099
48100         maint.mk: invoke "make dist" with a working value of XZ_OPT
48101         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
48102
48103 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
48104
48105         Make fseeko.c compile on QNX.
48106         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
48107
48108 2009-07-22  Peter Simons  <simons@cryp.to>
48109
48110         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
48111         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
48112         * lib/md4.h: Likewise.
48113         * lib/md5.h: Likewise.
48114         * lib/sha1.h: Likewise.
48115         * lib/sha256.h: Likewise.
48116         * lib/sha512.h: Likewise.
48117
48118         tests-sha1: don't assign literal string to 'char *' variable
48119         * tests/test-sha1.c (main): Declare locals with "const" to match
48120         attributes of the right hand side.
48121
48122 2009-07-21  Eric Blake  <ebb9@byu.net>
48123
48124         dup2: fix more mingw problems
48125         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
48126         fd to itself.
48127         * doc/posix-functions/dup2.texi (dup2): Document the bug.
48128         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
48129         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
48130         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
48131         care of mingw bugs.
48132
48133 2009-07-21  Jim Meyering  <meyering@redhat.com>
48134
48135         vc-list-files: avoid failure when /bin/sh is dash
48136         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
48137         On some Debian based systems, /bin/sh is a symlink to dash, and running
48138         this command would omit the "/" following each 'tests' prefix:
48139           dash -x build-aux/vc-list-files -C . tests
48140         That is because bash and dash work differently:
48141           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
48142           bash ok
48143           dash odd
48144
48145 2009-07-21  Eric Blake  <ebb9@byu.net>
48146
48147         dup2-tests: test previous patch
48148         * modules/dup2-tests: New file.
48149         * tests/test-dup2.c: Likewise.
48150         * tests/test-open.c (main): Avoid unspecified behavior.
48151         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
48152         test.
48153
48154         dup2: work around mingw and cygwin 1.5 bug
48155         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
48156         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
48157         * modules/unistd (Makefile.am): Substitute it.
48158         * lib/unistd.in.h (dup2): Declare the replacement.
48159         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
48160         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
48161         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
48162         * modules/execute (Depends-on): Add dup2.
48163         * modules/fseterr (Depends-on): Likewise.
48164         * modules/pipe (Depends-on): Likewise.
48165         * modules/posix_spawn-internal (Depends-on): Likewise.
48166
48167 2009-07-21  Bruno Haible  <bruno@clisp.org>
48168
48169         * modules/.gitattributes: New file.
48170
48171 2009-07-20  Bruno Haible  <bruno@clisp.org>
48172
48173         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
48174         (main): Use it.
48175
48176 2009-07-20  Eric Blake  <ebb9@byu.net>
48177
48178         test-pipe: make a bit more robust.
48179         * tests/test-pipe.c (myerr): Allow error messages regardless of
48180         what we do to stderr.
48181         (test_pipe): Rearrange to avoid deadlock.
48182         (child_main): Try a larger read, to ensure we avoided deadlock.
48183         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
48184         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
48185         if misused.
48186
48187 2009-07-19  Jim Meyering  <meyering@redhat.com>
48188
48189         fts: avoid false-positive cycle-detection
48190         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
48191         for each new command line argument.
48192
48193 2009-07-19  Bruno Haible  <bruno@clisp.org>
48194
48195         Fix build error on mingw with the modules sys_select and unistd.
48196         * modules/acl-tests (Depends-on): Add close.
48197         * modules/binary-io-tests (Depends-on): Likewise.
48198         * modules/closein-tests (Depends-on): Likewise.
48199         * modules/flock-tests (Depends-on): Likewise.
48200         * modules/fsync-tests (Depends-on): Likewise.
48201         * modules/lseek-tests (Depends-on): Likewise.
48202         * modules/pipe-tests (Depends-on): Likewise.
48203         * modules/posix_spawn-tests (Depends-on): Likewise.
48204         * modules/posix_spawnp-tests (Depends-on): Likewise.
48205         * modules/stat-time-tests (Depends-on): Likewise.
48206         * modules/yesno-tests (Depends-on): Likewise.
48207
48208 2009-07-19  Bruno Haible  <bruno@clisp.org>
48209
48210         Unify conditionals.
48211         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
48212         macros, not at the compiler macros.
48213         * lib/pipe.c: Likewise.
48214         * lib/execute.c: Likewise.
48215         * lib/spawni.c: Likewise.
48216
48217 2009-07-19  Bruno Haible  <bruno@clisp.org>
48218
48219         Fix handling of closed stdin/stdout/stderr on mingw.
48220         * lib/w32spawn.h: Include unistd.h.
48221         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
48222         file descriptor with O_NOINHERIT flag.
48223         (fd_safer_noinherit): New function, based on fd-safer.c.
48224         (dup_safer_noinherit): New function, based on dup-safer.c.
48225         (undup_safer_noinherit): New function.
48226         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
48227         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
48228         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
48229         instead of fd_safer.
48230         * tests/test-pipe.c: Include <windows.h>.
48231         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
48232         result.
48233
48234         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
48235         from main.
48236         (test_pipe): Pass an extra argument for disambiguation.
48237         (main): Invoke parent_main or child_main.
48238
48239         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
48240         consistently.
48241
48242 2009-07-18  Eric Blake  <ebb9@byu.net>
48243
48244         test-pipe: fix mingw build
48245         * tests/test-pipe.c (main): Avoid fcntl on mingw.
48246
48247 2009-07-18  Bruno Haible  <bruno@clisp.org>
48248
48249         * modules/pipe-tests (Makefile.am): Fix typo.
48250
48251 2009-07-18  Eric Blake  <ebb9@byu.net>
48252
48253         error: fix mingw build
48254         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
48255         Reported by Bruno Haible.
48256
48257         error: avoid undefined use of stdout
48258         * lib/error.c (error, error_at_line): Check that fd 1 is open
48259         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
48260         is handling faults and the close_stdout module wants to report the
48261         detection of closed stdout as an error.
48262
48263 2009-07-17  Eric Blake  <ebb9@byu.net>
48264
48265         pipe: be robust in face of closed fds
48266         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
48267         should cause child to misbehave.
48268         * modules/pipe-tests: New module.
48269         * tests/test-pipe.c: New file.
48270         * tests/test-pipe.sh: New file.
48271         Reported by Akim Demaille.
48272
48273 2009-07-14  Bruno Haible  <bruno@clisp.org>
48274
48275         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
48276         Reported by anonymous kc.
48277
48278 2009-07-07  Jim Meyering  <meyering@redhat.com>
48279
48280         maint.mk: don't look for translatable strings in *.m4 or *.mk
48281         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
48282         when searching for translatable strings.
48283
48284 2009-07-05  Jim Meyering  <meyering@redhat.com>
48285
48286         remove superfluous parentheses in STREQ definition
48287         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
48288         * lib/getugroups.c (STREQ): Likewise.
48289         * lib/fnmatch.c (STREQ): Likewise.
48290         Spotted by Bruno Haible.
48291
48292 2009-07-04  Jim Meyering  <meyering@redhat.com>
48293
48294         argv-iter: new module
48295         * MODULES.html.sh: Add argv-iter.
48296         * lib/argv-iter.c, lib/argv-iter.h: New files.
48297         * modules/argv-iter: New file.
48298         * modules/argv-iter-tests: New file.
48299         * tests/test-argv-iter.c: Test it.
48300
48301 2009-07-04  Bruno Haible  <bruno@clisp.org>
48302
48303         Fix assertion.
48304         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
48305         contains more exact copies of a given entry than file2, leave the extra
48306         copies unpaired rather than aborting.
48307         Reported by Eric Blake.
48308
48309 2009-07-02  Bruno Haible  <bruno@clisp.org>
48310
48311         Speedup git-merge-changelog for git cherry-pick.
48312         * lib/git-merge-changelog.c (struct entries_mapping): New type.
48313         (entries_mapping_get): New function, extracted from compute_mapping.
48314         (entries_mapping_reverse_get): New function.
48315         (compute_mapping): Add a 'full' argument. Return the result in a
48316         'struct entries_mapping'.
48317         (main): Update. Access the mappings through entries_mapping_get.
48318         Reported by Eric Blake.
48319
48320 2009-07-02  Bruno Haible  <bruno@clisp.org>
48321
48322         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
48323         best_i.
48324
48325 2009-07-02  Bruno Haible  <bruno@clisp.org>
48326
48327         Speed up approximate search for matching ChangeLog entries.
48328         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
48329         argument. Call fstrcmp_bounded instead of fstrcmp.
48330         (compute_mapping, try_split_merged_entry, main): Update callers.
48331
48332 2009-07-02  Bruno Haible  <bruno@clisp.org>
48333
48334         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
48335
48336 2009-06-30  Bruno Haible  <bruno@clisp.org>
48337
48338         Reduce the number of uc_is_cased calls.
48339         * lib/unicase.h (casing_suffix_context_t): Add
48340         'first_char_except_ignorable' field.
48341         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
48342         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
48343         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
48344         Update initializer.
48345         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
48346         case-ignorable characters.
48347         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
48348         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
48349         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
48350         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
48351         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
48352
48353 2009-06-30  Bruno Haible  <bruno@clisp.org>
48354
48355         Tests for module 'unicase/ignorable'.
48356         * modules/unicase/ignorable-tests: New file.
48357         * tests/unicase/test-ignorable.c: New file, generated by
48358         gen-uni-tables.
48359
48360         Tests for module 'unicase/cased'.
48361         * modules/unicase/cased-tests: New file.
48362         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
48363         * tests/unicase/test-predicate-part1.h: New file, derived from
48364         tests/unictype/test-predicate-part1.h.
48365         * tests/unicase/test-predicate-part2.h: New file, same as
48366         tests/unictype/test-predicate-part2.h.
48367
48368         Fix evaluation of "Before C" condition of FINAL_SIGMA.
48369         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
48370         (output_casing_properties): New function.
48371         (main): Call it.
48372         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
48373         * lib/unicase/cased.c: Include unictype/bitmap.h.
48374         (uc_is_cased): Define through a bitmap lookup.
48375         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
48376         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
48377         (uc_is_case_ignorable): Define through a bitmap lookup.
48378         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
48379         lib/unictype/bitmap.h.
48380         (Depends-on): Add inline. Clean up.
48381         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
48382         lib/unictype/bitmap.h.
48383         (Depends-on): Add inline. Clean up.
48384         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
48385         recognition.
48386         * tests/unicase/test-u16-tolower.c (main): Likewise.
48387         * tests/unicase/test-u32-tolower.c (main): Likewise.
48388
48389 2009-06-30  Bruno Haible  <bruno@clisp.org>
48390
48391         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
48392         * lib/unicase/u16-casemap.c: Likewise.
48393         * lib/unicase/u32-casemap.c: Likewise.
48394
48395 2009-06-29  Bruno Haible  <bruno@clisp.org>
48396
48397         Define u32_casefold as a wrapper around u32_ct_casefold.
48398         * lib/unicase/u32-casefold.c: Update.
48399         * modules/unicase/u32-casefold (Depends-on): Add
48400         unicase/u32-ct-casefold, unicase/empty-prefix-context,
48401         unicase/empty-suffix-context. Clean up.
48402
48403         Define u16_casefold as a wrapper around u16_ct_casefold.
48404         * lib/unicase/u16-casefold.c: Update.
48405         * modules/unicase/u16-casefold (Depends-on): Add
48406         unicase/u16-ct-casefold, unicase/empty-prefix-context,
48407         unicase/empty-suffix-context. Clean up.
48408
48409         Define u8_casefold as a wrapper around u8_ct_casefold.
48410         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
48411         * lib/unicase/u8-casefold.c: Update.
48412         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
48413         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
48414
48415         Define u32_totitle as a wrapper around u32_ct_totitle.
48416         * lib/unicase/u32-totitle.c: Update.
48417         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
48418         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
48419
48420         Define u16_totitle as a wrapper around u16_ct_totitle.
48421         * lib/unicase/u16-totitle.c: Update.
48422         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
48423         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
48424
48425         Define u8_totitle as a wrapper around u8_ct_totitle.
48426         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
48427         functions.
48428         (FUNC): Delegate to U_CT_TOTITLE.
48429         * lib/unicase/u8-totitle.c: Update.
48430         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
48431         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
48432
48433         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
48434         invocation.
48435         * modules/unicase/u32-tolower (Depends-on): Add
48436         unicase/empty-prefix-context, unicase/empty-suffix-context.
48437
48438         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
48439         invocation.
48440         * modules/unicase/u16-tolower (Depends-on): Add
48441         unicase/empty-prefix-context, unicase/empty-suffix-context.
48442
48443         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
48444         * modules/unicase/u8-tolower (Depends-on): Add
48445         unicase/empty-prefix-context, unicase/empty-suffix-context.
48446
48447         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
48448         invocation.
48449         * modules/unicase/u32-toupper (Depends-on): Add
48450         unicase/empty-prefix-context, unicase/empty-suffix-context.
48451
48452         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
48453         invocation.
48454         * modules/unicase/u16-toupper (Depends-on): Add
48455         unicase/empty-prefix-context, unicase/empty-suffix-context.
48456
48457         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
48458         * modules/unicase/u8-toupper (Depends-on): Add
48459         unicase/empty-prefix-context, unicase/empty-suffix-context.
48460
48461         New module 'unicase/u32-ct-casefold'.
48462         * lib/unicase/u32-ct-casefold.c: New file.
48463         * modules/unicase/u32-ct-casefold: New file.
48464
48465         New module 'unicase/u16-ct-casefold'.
48466         * lib/unicase/u16-ct-casefold.c: New file.
48467         * modules/unicase/u16-ct-casefold: New file.
48468
48469         New module 'unicase/u8-ct-casefold'.
48470         * lib/unicase/u8-ct-casefold.c: New file.
48471         * lib/unicase/u-ct-casefold.h: New file, derived from
48472         lib/unicase/u-casefold.h.
48473         * modules/unicase/u8-ct-casefold: New file.
48474
48475         New module 'unicase/u32-ct-totitle'.
48476         * lib/unicase/u32-ct-totitle.c: New file.
48477         * modules/unicase/u32-ct-totitle: New file.
48478
48479         New module 'unicase/u16-ct-totitle'.
48480         * lib/unicase/u16-ct-totitle.c: New file.
48481         * modules/unicase/u16-ct-totitle: New file.
48482
48483         New module 'unicase/u8-ct-totitle'.
48484         * lib/unicase/u8-ct-totitle.c: New file.
48485         * lib/unicase/u-ct-totitle.h: New file, derived from
48486         lib/unicase/u-totitle.h.
48487         * modules/unicase/u8-ct-totitle: New file.
48488
48489         New module 'unicase/u32-ct-tolower'.
48490         * lib/unicase/u32-ct-tolower.c: New file.
48491         * modules/unicase/u32-ct-tolower: New file.
48492
48493         New module 'unicase/u16-ct-tolower'.
48494         * lib/unicase/u16-ct-tolower.c: New file.
48495         * modules/unicase/u16-ct-tolower: New file.
48496
48497         New module 'unicase/u8-ct-tolower'.
48498         * lib/unicase/u8-ct-tolower.c: New file.
48499         * modules/unicase/u8-ct-tolower: New file.
48500
48501         New module 'unicase/u32-ct-toupper'.
48502         * lib/unicase/u32-ct-toupper.c: New file.
48503         * modules/unicase/u32-ct-toupper: New file.
48504
48505         New module 'unicase/u16-ct-toupper'.
48506         * lib/unicase/u16-ct-toupper.c: New file.
48507         * modules/unicase/u16-ct-toupper: New file.
48508
48509         New module 'unicase/u8-ct-toupper'.
48510         * lib/unicase/u8-ct-toupper.c: New file.
48511         * modules/unicase/u8-ct-toupper: New file.
48512
48513         Add context arguments to u*_casemap functions.
48514         * lib/unicase/unicasemap.h: Include unicase.h.
48515         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
48516         suffix_context arguments.
48517         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
48518         functions.
48519         (FUNC): Add prefix_context and suffix_context arguments. Use
48520         uc_is_cased and uc_is_case_ignorable.
48521         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
48522         * lib/unicase/u16-casemap.c: Likewise.
48523         * lib/unicase/u32-casemap.c: Likewise.
48524         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
48525         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
48526         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
48527         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
48528         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
48529         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
48530
48531         New module 'unicase/u32-suffix-context'.
48532         * lib/unicase/u32-suffix-context.c: New file.
48533         * modules/unicase/u32-suffix-context: New file.
48534
48535         New module 'unicase/u16-suffix-context'.
48536         * lib/unicase/u16-suffix-context.c: New file.
48537         * modules/unicase/u16-suffix-context: New file.
48538
48539         New module 'unicase/u8-suffix-context'.
48540         * lib/unicase/u8-suffix-context.c: New file.
48541         * lib/unicase/u-suffix-context.h: New file.
48542         * modules/unicase/u8-suffix-context: New file.
48543
48544         New module 'unicase/empty-suffix-context'.
48545         * lib/unicase/empty-suffix-context.c: New file.
48546         * modules/unicase/empty-suffix-context: New file.
48547
48548         New module 'unicase/u32-prefix-context'.
48549         * lib/unicase/u32-prefix-context.c: New file.
48550         * modules/unicase/u32-prefix-context: New file.
48551
48552         New module 'unicase/u16-prefix-context'.
48553         * lib/unicase/u16-prefix-context.c: New file.
48554         * modules/unicase/u16-prefix-context: New file.
48555
48556         New module 'unicase/u8-prefix-context'.
48557         * lib/unicase/u8-prefix-context.c: New file.
48558         * lib/unicase/u-prefix-context.h: New file.
48559         * lib/unicase/context.h: New file.
48560         * modules/unicase/u8-prefix-context: New file.
48561
48562         New module 'unicase/empty-prefix-context'.
48563         * lib/unicase/empty-prefix-context.c: New file.
48564         * modules/unicase/empty-prefix-context: New file.
48565
48566         New module 'unicase/ignorable'.
48567         * lib/unicase/ignorable.c: New file.
48568         * modules/unicase/ignorable: New file.
48569
48570         New module 'unicase/cased'.
48571         * lib/unicase/caseprop.h: New file.
48572         * lib/unicase/cased.c: New file.
48573         * modules/unicase/cased: New file.
48574
48575         New functions for case mapping of substrings.
48576         * lib/unicase.h (casing_prefix_context_t): New type.
48577         (unicase_empty_prefix_context): New variable.
48578         (u8_casing_prefix_context, u16_casing_prefix_context,
48579         u32_casing_prefix_context, u8_casing_prefixes_context,
48580         u16_casing_prefixes_context, u32_casing_prefixes_context): New
48581         declarations.
48582         (casing_suffix_context_t): New type.
48583         (unicase_empty_suffix_context): New variable.
48584         (u8_casing_suffix_context, u16_casing_suffix_context,
48585         u32_casing_suffix_context, u8_casing_suffixes_context,
48586         u16_casing_suffixes_context, u32_casing_suffixes_context,
48587         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
48588         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
48589         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
48590         declarations.
48591
48592 2009-06-28  Jim Meyering  <meyering@redhat.com>
48593
48594         boostrap: indent only with spaces
48595         * build-aux/bootstrap: Indent only with spaces, never TABs.
48596
48597         bootstrap: split long lines
48598         * build-aux/bootstrap: Keep line length < 80.
48599
48600         bootstrap: sync from coreutils
48601         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
48602         just as autoreconf does.  Verify a list of prerequisite
48603         package-name,version-number pairs if defined in bootstrap.conf.
48604         Refer to README-prereq, if prerequisites are not satisfied.
48605
48606 2009-06-27  Eric Blake  <ebb9@byu.net>
48607
48608         tests: add test for bogus NULL definition
48609         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
48610         * tests/test-stdlib.c: Likewise.
48611         * tests/test-string.c: Likewise.
48612         * tests/test-locale.c: Likewise.
48613         * tests/test-unistd.c: Likewise.
48614         * modules/stdio-tests (Depends-on): Add verify.
48615         * modules/stdlib-tests (Depends-on): Likewise.
48616         * modules/string-tests (Depends-on): Likewise.
48617         * modules/locale-tests (Depends-on): Likewise.
48618         * modules/unistd-tests (Depends-on): Likewise.
48619
48620 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
48621
48622         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
48623         self-explaining comment.
48624         * m4/selinux-selinux-h: Update serial.
48625         (gl_LIBSELINUX): New macro, adding a warning for missing development
48626         packages to code extracted from...
48627         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
48628         Add warning for missing development packages here, too.
48629
48630 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
48631
48632         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
48633
48634 2009-06-25  Eric Blake  <ebb9@byu.net>
48635
48636         version-etc: fix regression
48637         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
48638         gcc.
48639         (version_etc): Use it, to catch bugs with trailing NULL.
48640         * lib/version-etc.c (version_etc_arn): Delete unused argument.
48641         (version_etc_va): Fix logic bug.
48642         * modules/version-etc-tests: Add test.
48643         * tests/test-version-etc.c: New file.
48644         * tests/test-version-etc.sh: Likewise.
48645
48646 2009-06-25  Sam Steingold  <sds@gnu.org>
48647
48648         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
48649         mbtowc declaration.
48650
48651 2009-06-25  Eric Blake  <ebb9@byu.net>
48652
48653         fpurge: migrate into <stdio.h>
48654         * lib/fpurge.h: Delete...
48655         * lib/stdio.in.h (fpurge): ...and declare here, instead.
48656         * lib/fpurge.c (fpurge): Change declaring header.
48657         * modules/fpurge (Files): Drop deleted file.
48658         (Depends-on): Add stdio.
48659         (configure.ac): Set witness.
48660         * modules/stdio (Makefile.am): Support fpurge macros.
48661         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48662         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
48663         * lib/fflush.c: Update client.
48664         * tests/test-fpurge.c: Likewise.
48665         * NEWS: Mention the change.
48666
48667 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48668
48669         * lib/argp-version-etc.c (program_authors): Add const
48670         qualifier.
48671         * lib/version-etc.c: Fix typos in the comments.
48672         * modules/argp-version-etc: Depends on version-etc.
48673
48674 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48675
48676         argp-version-etc: new module.
48677
48678         * lib/argp-version-etc.c: New file.
48679         * lib/argp-version-etc.h: New file.
48680         * modules/argp-version-etc: New file.
48681         * modules/argp-version-etc-tests: New file.
48682         * tests/test-argp-version-etc.c: New test.
48683         * tests/test-argp-version-etc-1.sh: New test.
48684
48685 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48686
48687         Provide additional interfaces and documentation for version-etc
48688         module.
48689
48690         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
48691         interfaces.
48692         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
48693         prototypes.
48694
48695 2009-06-24  Bruno Haible  <bruno@clisp.org>
48696
48697         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
48698         HAVE_LIB${NAME} macro.
48699         Reported by Sam Steingold <sds@gnu.org>.
48700
48701 2009-06-23  Simon Josefsson  <simon@josefsson.org>
48702
48703         * modules/hash-tests (test_hash_LDADD): Link to libintl when
48704         needed.
48705
48706 2009-06-21  Bruno Haible  <bruno@clisp.org>
48707
48708         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
48709         work.
48710         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
48711         together with LIB${NAME}, LTLIB${NAME}.
48712         Reported by Sam Steingold <sds@gnu.org>.
48713
48714 2009-06-20  Jim Meyering  <meyering@redhat.com>
48715
48716         tests: make sc_require_test_exit_idiom more generic
48717         * top/maint.mk (Exit_witness_file): New overridable variable.
48718         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
48719         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
48720
48721 2009-06-19  Jim Meyering  <meyering@redhat.com>
48722
48723         hash: reverse order of src/dst parameters in an internal interface
48724         * lib/hash.c (transfer_entries): Reverse order of parameters to
48725         put DST before SRC.  Adjust callers.
48726
48727         tests: test-hash: avoid wholesale duplication
48728         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
48729         Instead, use a loop and add a single conditional.
48730
48731         tests: test-hash: allow seed selection via a command line argument
48732         * tests/test-hash.c (get_seed): New function.
48733         (main): Use it.
48734
48735 2009-06-19  Eric Blake  <ebb9@byu.net>
48736
48737         hash: avoid memory leak on allocation failure
48738         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
48739         failure.  Factor repeated algorithm...
48740         (transfer_entries): ...into new helper routine.
48741         (hash_delete): React to hash_rehash return value.
48742
48743         hash: reduce memory pressure in hash_rehash no-op case
48744         * lib/hash.c (next_prime): Avoid overflow.
48745         (hash_initialize): Factor bucket size computation...
48746         (compute_bucket_size): ...into new helper function.
48747         (hash_rehash): Use new function and open coding to reduce memory
48748         pressure, and avoid a memory leak in USE_OBSTACK code.
48749         Reported by Jim Meyering.
48750
48751 2009-06-18  Eric Blake  <ebb9@byu.net>
48752
48753         hash: make rotation more obvious
48754         * modules/hash (Depends-on): Add bitrotate and stdint.
48755         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
48756         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
48757         (SIZE_MAX): Rely on headers for definition.
48758         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
48759         (raw_hasher): Use rotr_sz.
48760         Suggested by Jim Meyering.
48761
48762         hash: fix memory leak in last patch
48763         * lib/hash.c (hash_rehash): Avoid memory leak.
48764
48765         hash: avoid no-op rehashing
48766         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
48767
48768         hash: provide default callback functions
48769         * lib/hash.c (raw_hasher, raw_comparator): New functions.
48770         (hash_initialize): Use them as defaults.
48771         * tests/test-hash.c (main): Test this.
48772
48773         hash: minor optimization
48774         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
48775         when possible.
48776         (hash_initialize): Document this promise.
48777         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
48778         * tests/test-hash.c (hash_compare_strings): Test this.
48779
48780 2009-06-18  Bruno Haible  <bruno@clisp.org>
48781
48782         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
48783         going to be replaced anyway.
48784
48785 2009-06-18  Bruno Haible  <bruno@clisp.org>
48786
48787         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
48788         in one place.
48789         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
48790         be replaced anyway.
48791
48792 2009-06-18  Eric Blake  <ebb9@byu.net>
48793
48794         hash: check for resize before insertion
48795         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
48796         threshold before insertion, so that a pathological hash_rehash
48797         that fills every bucket can still trigger another rehash.
48798
48799 2009-06-18  Jim Meyering  <meyering@redhat.com>
48800
48801         hash-tests: add a loop around the small tests
48802         * tests/test-hash.c (main): Repeat small tests with selected
48803         small initial table sizes.
48804
48805 2009-06-17  Eric Blake  <ebb9@byu.net>
48806
48807         hash: minor cleanups
48808         * lib/hash.h (hash_entry): Make opaque, by moving...
48809         * lib/hash.c (hash_entry): ...here.
48810         (hash_insert): Clarify restrictions on what can be inserted.
48811         (hash_get_next): Clarify when it is safe to remove an element
48812         during traversal.
48813         (check_tuning): Skip verification when tuning is known safe.
48814         (hash_initialize): Clarify restrictions on tuning.
48815
48816 2009-06-17  Jim Meyering  <jim@meyering.net>
48817         and Eric Blake  <ebb9@byu.net>
48818
48819         hash-tests: new module
48820         * modules/hash-tests: New file.
48821         * tests/test-hash.c: New file.
48822
48823 2009-06-17  Eric Blake  <ebb9@byu.net>
48824
48825         strstr-simple: document new module
48826         * MODULES.html.sh: Document new module.
48827
48828         strstr, strcasestr: replace on platforms with broken memchr
48829         * modules/strstr: Split into...
48830         * modules/strstr-simple: ...new module that does not care about
48831         performance, but does care about glibc bug.
48832         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
48833         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
48834         if platform memchr is broken, per Debian bug 521737.
48835         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
48836         memchr.
48837         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
48838         * doc/posix-functions/strstr.texi (strstr): Document the fix.
48839         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
48840         * modules/mountlist (Depends-on): Add strstr-simple.
48841         * modules/gen-uni-tables (Depends-on): Likewise.
48842         * modules/argz (Depends-on): Add strstr.
48843
48844 2009-06-17  Bruno Haible  <bruno@clisp.org>
48845
48846         * modules/posix_spawn-internal (Depends-on): Add errno.
48847
48848 2009-06-17  Bruno Haible  <bruno@clisp.org>
48849
48850         Define missing ESTALE on Interix 3.5.
48851         * lib/errno.in.h (ESTALE): Assign a value if missing.
48852         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
48853         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
48854         missing.
48855         * doc/posix-headers/errno.texi: Mention the Interix bug.
48856         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
48857
48858 2009-06-15  Eric Blake  <ebb9@byu.net>
48859
48860         memchr, memchr2: add valgrind exception
48861         * lib/memchr.valgrind: New file.
48862         * lib/memchr2.valgrind: New file.
48863         * modules/memchr (Files): Distribute valgrind file.
48864         * modules/memchr2 (Files): Likewise.
48865
48866         docs: memchr is no longer obsolete
48867         * MODULES.html.sh: Move memchr from obsolete to string.h section.
48868         * lib/string.in.h (memchr): Simplify logic.
48869
48870 2009-06-14  Jim Meyering  <meyering@redhat.com>
48871
48872         link-follow: fix the "checking..." message to not mention trailing slash
48873         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
48874         never considered trailing slashes.
48875
48876 2009-06-14  Bruno Haible  <bruno@clisp.org>
48877
48878         * m4/memchr.m4: Mention also the bug on IA-64.
48879         * doc/posix-functions/memchr.texi: Likewise.
48880
48881 2009-06-12  Eric Blake  <ebb9@byu.net>
48882
48883         memchr: detect broken x86_64 and alpha implementations
48884         * modules/memchr-tests (Depends-on): Move mmap detection...
48885         * modules/memchr (Depends-on): ...here.
48886         (configure.ac): Set indicator.
48887         * lib/string.in.h (memchr): Declare replacement.
48888         * modules/string (Makefile.am): Trigger replacement.
48889         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
48890         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
48891         bugs.
48892         * doc/posix-functions/memchr.texi (memchr): Document the bug.
48893         * modules/getpagesize (License): Relax license.
48894
48895 2009-06-11  Bruno Haible  <bruno@clisp.org>
48896
48897         * lib/idpriv.h: Add more references.
48898
48899 2009-06-08  Bruno Haible  <bruno@clisp.org>
48900
48901         Tests for module 'idpriv-droptemp'.
48902         * modules/idpriv-droptemp-tests: New file.
48903         * tests/test-idpriv-droptemp.sh: New file.
48904         * tests/test-idpriv-droptemp.su.sh: New file.
48905         * tests/test-idpriv-droptemp.c: New file.
48906
48907         New module 'idpriv-droptemp'.
48908         * lib/idpriv-droptemp.c: New file.
48909         * modules/idpriv-droptemp: New file.
48910
48911 2009-06-08  Bruno Haible  <bruno@clisp.org>
48912
48913         Tests for module 'idpriv-drop'.
48914         * modules/idpriv-drop-tests: New file.
48915         * tests/test-idpriv-drop.sh: New file.
48916         * tests/test-idpriv-drop.su.sh: New file.
48917         * tests/test-idpriv-drop.c: New file.
48918
48919         New module 'idpriv-drop'.
48920         * lib/idpriv.h: New file.
48921         * lib-idpriv-drop.c: New file.
48922         * m4/idpriv.m4: New file.
48923         * modules/idpriv-drop: New file.
48924
48925 2009-06-08  Bruno Haible  <bruno@clisp.org>
48926
48927         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
48928         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48929         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48930         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48931         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48932         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48933         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48934
48935 2009-06-08  Eric Blake  <ebb9@byu.net>
48936
48937         test-strstr: use memory fence, when possible
48938         * tests/test-strstr.c (main): Use memory fence, in order to be
48939         more likely to trigger Debian bug 521737.
48940         * modules/strstr-tests (Files): Pull in additional files.
48941
48942         memchr: no longer obsolete, for wider field testing
48943         * modules/memchr (Status, Notice): Delete, this module is no
48944         longer obsolete.
48945         * modules/vasnprintf (Depends-on): Add memchr.
48946
48947 2009-06-07  Jim Meyering  <meyering@redhat.com>
48948
48949         hash: declare some functions with the warn_unused_result attribute
48950         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
48951
48952 2009-06-07  Bruno Haible  <bruno@clisp.org>
48953
48954         * tests/test-alignof.c: Don't test int64_t if it does not exist.
48955         Reported by Eric Blake.
48956
48957 2009-06-06  Eric Blake  <ebb9@byu.net>
48958
48959         test-alignof: fix typo with long double
48960         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
48961         compiler error.
48962
48963 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
48964
48965         Escape non-texinfo { and }s.
48966         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
48967         markup error.
48968
48969 2009-06-04  Jim Meyering  <meyering@redhat.com>
48970
48971         gitlog-to-changelog: don't infloop on an empty commit log
48972         * build-aux/gitlog-to-changelog: Warn about an empty log message.
48973         Reported by Boris Petersen <transacid@centerim.org>.
48974
48975 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
48976
48977         version-etc: extend for packagers
48978         Add three new configure options, intended for packagers:
48979           --with-packager="packager name"
48980           --with-packager-version="packager-specific version"
48981           --with-packager-bug-reports="packager bug reporting"
48982         An example with coreutils:
48983           $ ./configure \
48984             --with-packager=Gentoo \
48985             --with-packager-bug-report=http://bugs.gentoo.org/ \
48986             --with-packager-version="patchset 1.6"
48987           $ ./src/ls --version | head -n2
48988           ls (GNU coreutils) 7.1-dirty
48989           Packaged by Gentoo (patchset 1.6)
48990         Note that the bug reporting info via --help doesn't show up because
48991         coreutils uses its own custom emit_bug_reporting_address() implementation
48992         in src/system.h.  If it didn't, it'd look like:
48993           $ ./src/ls --help | tail -n4
48994           Report bugs to <bug-coreutils@gnu.org>.
48995           Report Gentoo bugs to <http://bugs.gentoo.org/>.
48996           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
48997           General help using GNU software: <http://www.gnu.org/gethelp/>.
48998         * lib/version-etc.c: Print new information, if provided.
48999         * m4/version-etc.m4: New file.
49000         * modules/version-etc (Files): Add m4/version-etc.m4.
49001         (configure.ac): Add gl_VERSION_ETC.
49002
49003 2009-05-31  Bruno Haible  <bruno@clisp.org>
49004
49005         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
49006         and 'int64_t'.
49007         * modules/alignof-tests (Dependencies): Add stdint.
49008         Reported by Eric Blake.
49009
49010 2009-05-31  Bruno Haible  <bruno@clisp.org>
49011
49012         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
49013         restriction due to compiler bugs.
49014         Reported by Eric Blake.
49015
49016 2009-05-31  Simon Josefsson  <simon@josefsson.org>
49017             Bruno Haible  <bruno@clisp.org>
49018
49019         Fix test-alignof failure.
49020         * lib/alignof.h (alignof_slot): New macro.
49021         (alignof_type): New macro, with the same semantics as the previous
49022         'alignof'.
49023         (alignof): Alias to alignof_slot.
49024         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
49025         check that the results are usable as constant expressions.
49026
49027 2009-05-31  Bruno Haible  <bruno@clisp.org>
49028
49029         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
49030         * tests/test-memchr.c (main): Check that memchr does not read past the
49031         first occurrence of the byte.
49032         * tests/test-strstr.c (main): Update comment.
49033         Suggested by Eric Blake.
49034
49035 2009-05-30  Bruno Haible  <bruno@clisp.org>
49036
49037         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
49038         detail how to use dumpbin.
49039         Reported by David Byron <dbyron@dbyron.com>.
49040
49041 2009-06-02  Simon Josefsson  <simon@josefsson.org>
49042
49043         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
49044
49045 2009-06-02  Simon Josefsson  <simon@josefsson.org>
49046
49047         * m4/manywarnings.m4: Add GCC 4.4 warnings.
49048
49049 2009-05-28  Bruno Haible  <bruno@clisp.org>
49050
49051         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
49052         build-aux/ files.
49053
49054 2009-05-28  Simon Josefsson  <simon@josefsson.org>
49055
49056         * gnulib-tool (func_import): Transform license on build-aux/ files too.
49057
49058 2009-05-27  Simon Josefsson  <simon@josefsson.org>
49059
49060         * gnulib-tool (sed_transform_main_lib_file)
49061         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
49062         regexps.
49063
49064 2009-05-26  Simon Josefsson  <simon@josefsson.org>
49065
49066         * tests/test-strstr.c: Add another self-test.
49067         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
49068         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
49069
49070 2009-05-23  Bruno Haible  <bruno@clisp.org>
49071
49072         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
49073         change.
49074
49075 2009-05-21  Bruno Haible  <bruno@clisp.org>
49076
49077         Simplify use of mode_t varargs.
49078         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
49079         uses 'mode_t' or 'int'.
49080         * lib/openat.c (openat): Likewise.
49081         * lib/open-safer.c (open_safer): Likewise.
49082         * m4/mode_t.m4: New file.
49083         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
49084         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
49085         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
49086         * modules/open (Files): Add m4/mode_t.m4.
49087         * modules/openat (Files): Likewise.
49088         * modules/fcntl-safer (Files): Likewise.
49089         Suggested by Eric Blake.
49090
49091 2009-05-21  Pádraig Brady  <P@draigbrady.com>
49092
49093         * doc/glibc-functions/fallocate.texi: New file.
49094         * doc/gnulib.texi: Include it.
49095
49096 2009-05-21  Eric Blake  <ebb9@byu.net>
49097             Bruno Haible  <bruno@clisp.org>
49098
49099         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
49100         invocations.
49101         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
49102
49103 2009-05-21  Eric Blake  <ebb9@byu.net>
49104             Bruno Haible  <bruno@clisp.org>
49105
49106         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
49107         include_next. Fix of 2008-11-20 commit.
49108         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
49109         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
49110         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
49111         NEXT_MATH_H.
49112         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
49113         instead of NEXT_MATH_H.
49114
49115 2009-05-21  Bruno Haible  <bruno@clisp.org>
49116
49117         Avoid redefinition warnings for SIZE_MAX.
49118         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
49119         Reported by Simon Josefsson.
49120
49121 2009-05-21  Bruno Haible  <bruno@clisp.org>
49122
49123         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
49124         AC_CACHE_VAL.
49125
49126 2009-05-20  Bruno Haible  <bruno@clisp.org>
49127
49128         Make zeroptr.h work on mingw.
49129         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
49130         mprotect.
49131         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
49132         * modules/memchr2-tests (configure.ac): Likewise.
49133         * modules/memcmp-tests (configure.ac): Likewise.
49134         * modules/memmem-tests (configure.ac): Likewise.
49135         * modules/memrchr-tests (configure.ac): Likewise.
49136         Reported by Simon Josefsson.
49137
49138 2009-05-20  Simon Josefsson  <simon@josefsson.org>
49139
49140         * tests/test-glob.c: Include string.h for strcmp prototype.
49141
49142 2009-05-20  Simon Josefsson  <simon@josefsson.org>
49143
49144         * modules/getdelim (Depends-on): Add explicit stdint, although it
49145         was implicitly already pulled in via realloc-posix.
49146         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
49147
49148 2009-05-20  Simon Josefsson  <simon@josefsson.org>
49149
49150         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
49151         G. Christensen" <tgc@jupiterrise.com>.
49152         * m4/sys_socket_h.m4: Check for sa_family_t.
49153         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
49154         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
49155         * tests/test-sys_socket.c: Check that sa_family_t works.
49156
49157 2009-05-18  Eric Blake  <ebb9@byu.net>
49158
49159         maint.mk: allow gnulib_dir in VPATH build
49160         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
49161
49162 2009-05-15  Jim Meyering  <meyering@redhat.com>
49163
49164         maint.mk: Give gnulib_dir a default definition.
49165         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
49166         Thus, most packages no longer need to specify this variable in cfg.mk
49167
49168 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
49169
49170         rename.m4: fix typos that would make non-mingw cross-configure fail
49171         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
49172
49173 2009-05-13  Eric Blake  <ebb9@byu.net>
49174
49175         mmap-anon: avoid out-of-order autoconf expansion
49176         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
49177         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
49178         * modules/memchr-tests (Depends-on): Add extensions.
49179         * modules/memchr2-tests (Depends-on): Add extensions.
49180         * modules/memcmp-tests (Depends-on): Add extensions.
49181         * modules/memmem-tests (Depends-on): Add extensions.
49182         * modules/memrchr-tests (Depends-on): Add extensions.
49183
49184 2009-05-13  Bruno Haible  <bruno@clisp.org>
49185
49186         Make some tests ISO C 99 compliant.
49187         * tests/zerosize-ptr.h: New file.
49188         * tests/test-memchr.c: Include zerosize-ptr.h.
49189         (main): Use a zero-size object pointer instead of NULL.
49190         * tests/test-memchr2.c: Include zerosize-ptr.h.
49191         (main): Use a zero-size object pointer instead of NULL.
49192         * tests/test-memcmp.c: Include zerosize-ptr.h.
49193         (main): Use a zero-size object pointer instead of NULL.
49194         * tests/test-memmem.c: Include zerosize-ptr.h.
49195         (main): Use a zero-size object pointer instead of NULL.
49196         * tests/test-memrchr.c: Include zerosize-ptr.h.
49197         (main): Use a zero-size object pointer instead of NULL.
49198         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
49199         m4/mmap-anon.m4.
49200         (Depends-on): Add getpagesize.
49201         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
49202         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
49203         m4/mmap-anon.m4.
49204         (Depends-on): Add getpagesize.
49205         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
49206         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
49207         m4/mmap-anon.m4.
49208         (Depends-on): Add getpagesize.
49209         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
49210         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
49211         m4/mmap-anon.m4.
49212         (Depends-on): Add getpagesize.
49213         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
49214         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
49215         m4/mmap-anon.m4.
49216         (Depends-on): Add getpagesize.
49217         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
49218
49219 2009-05-12  Bruno Haible  <bruno@clisp.org>
49220
49221         Tests for module 'alignof'.
49222         * modules/alignof-tests: New file.
49223         * tests/test-alignof.c: New file.
49224
49225 2009-05-12  Bruno Haible  <bruno@clisp.org>
49226
49227         Fix alignof macro.
49228         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
49229         vendor compilers that are always correct.
49230
49231 2009-05-12  Bruno Haible  <bruno@clisp.org>
49232
49233         Make the MAP_ANONYMOUS detection work on HP-UX 11.
49234         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
49235         not whether its fully works.
49236
49237 2009-05-12  Bruno Haible  <bruno@clisp.org>
49238
49239         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
49240
49241 2009-05-12  Jim Meyering  <meyering@redhat.com>
49242
49243         * top/maint.mk: Adjust backslash alignment.
49244
49245 2009-05-11  Simon Josefsson  <simon@josefsson.org>
49246
49247         * top/maint.mk: Make $(srcdir)/build-aux configurable.
49248
49249 2009-05-11  Eric Blake  <ebb9@byu.net>
49250
49251         argp: avoid undefined behavior
49252         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
49253         macros.
49254
49255 2009-05-08  Simon Josefsson  <simon@josefsson.org>
49256
49257         * tests/test-vc-list-files-git.sh: Do git config of user.email and
49258         user.name to prevent git commit from complaining.
49259
49260 2009-05-10  Bruno Haible  <bruno@clisp.org>
49261
49262         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
49263         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
49264         it rewrites every file name only once.
49265         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
49266
49267 2009-05-08  Bruno Haible  <bruno@clisp.org>
49268
49269         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
49270         instead of 'max'.
49271
49272 2009-05-08  Simon Josefsson  <simon@josefsson.org>
49273
49274         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
49275         sockaddr_storage test.
49276
49277 2009-05-07  Simon Josefsson  <simon@josefsson.org>
49278
49279         * modules/sys_socket (Makefile.am): Substitute
49280         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
49281         * m4/sys_socket_h.m4: Check for sockaddr_storage.
49282         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
49283         * tests/test-sys_socket.c: Check sockaddr_storage.
49284
49285 2009-05-08  Bruno Haible  <bruno@clisp.org>
49286
49287         New module 'alignof'.
49288         * lib/alignof.h: New file.
49289         * modules/alignof: New file.
49290
49291 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
49292             Bruno Haible  <bruno@clisp.org>
49293
49294         Fix test-file-has-acl on FreeBSD.
49295         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
49296         mask is implicitly added.
49297         * tests/test-file-has-acl.c: Include <signal.h>.
49298         (main): Terminate the test after 5 seconds.
49299         * modules/acl-tests (configure.ac): Check for alarm function.
49300
49301 2009-05-04  Bruno Haible  <bruno@clisp.org>
49302
49303         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
49304         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
49305         * modules/errno (configure.ac): Drop AC_REQUIRE.
49306         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
49307         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
49308
49309 2009-05-04  Simon Josefsson  <simon@josefsson.org>
49310
49311         * modules/glob-tests: New module.
49312         * tests/test-glob.c: Add.
49313
49314 2009-05-04  Simon Josefsson  <simon@josefsson.org>
49315
49316         * modules/fnmatch-tests: New module.
49317         * tests/test-fnmatch.c: Add.
49318
49319 2009-05-04  Eric Blake  <ebb9@byu.net>
49320
49321         maint: make the new no-submodule-changes rule VPATH-safe
49322         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
49323
49324 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
49325             Bruno Haible  <bruno@clisp.org>
49326
49327         acl: Fix infinite loop on FreeBSD.
49328         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
49329         of return value from acl_get_entry.
49330         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
49331         Likewise.
49332
49333 2009-05-03  Bruno Haible  <bruno@clisp.org>
49334
49335         * lib/acl-internal.h (acl_entries): Clarify return value.
49336         * lib/acl_entries.c (acl_entries): Likewise.
49337
49338 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
49339
49340         Bug fix in acl module.
49341         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
49342
49343 2009-05-03  Bruno Haible  <bruno@clisp.org>
49344
49345         Create gperf-generated file in the source dir, not in the build dir.
49346         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
49347         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
49348         * modules/unicase/locale-language (unicase/locale-languages.h):
49349         Likewise.
49350         * modules/unicase/special-casing (unicase/special-casing-table.h):
49351         Likewise.
49352         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
49353         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
49354         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
49355         Reported by Ralf Wildenhues.
49356
49357 2009-05-03  Bruno Haible  <bruno@clisp.org>
49358
49359         * modules/fnmatch (Description, configure.ac): Taken from
49360         fnmatch-posix.
49361         * modules/fnmatch-posix: Turn into a symbolic reference to the
49362         'fnmatch' module, and deprecate.
49363         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
49364
49365 2009-05-03  Bruno Haible  <bruno@clisp.org>
49366
49367         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
49368         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
49369         Reported by Ralf Wildenhues.
49370
49371 2009-05-04  Simon Josefsson  <simon@josefsson.org>
49372
49373         * m4/fnmatch.m4: Fix fnmatch re-define.
49374
49375 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
49376
49377         priv-set: new module and tests; adapt write-any-file
49378         * lib/priv-set.c: New file.
49379         * lib/priv-set.h: New file.
49380         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
49381         * lib/write-any-file.c: Simplify by using priv-set module.
49382         * m4/priv-set.m4: New file.
49383         * modules/priv-set: New file.
49384         * modules/unlinkdir: Add dependency on priv-set module.
49385         * modules/write-any-file: Likewise.
49386
49387         Tests for module 'priv-set'.
49388         * modules/priv-set-tests: New file.
49389         * tests/test-priv-set.c: New file.
49390
49391 2009-05-03  Jim Meyering  <meyering@redhat.com>
49392             Bruno Haible  <bruno@clisp.org>
49393
49394         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
49395         use the converted UTF-8 variant of the name instead.
49396
49397 2009-05-03  Jim Meyering  <meyering@redhat.com>
49398
49399         tests: tighten some getdate tests
49400         * tests/test-getdate.c (main): Tighten tests: require equality,
49401         not just greater than.  Set TZ envvar to UTC0.
49402
49403 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
49404
49405         getdate: correctly interpret "next monday" when run on a Monday
49406         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
49407         that e.g., "next tues" (when run on a tuesday) results in a date
49408         that is one week in the future, and not today's date.
49409         I.e., add a week when the wday is the same as the current one.
49410         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
49411         and earlier by Martin Bernreuther and Jan Minář.
49412         * tests/test-getdate.c (main): Check that "next DAY" is always in
49413         the future and that "last DAY" is always in the past.
49414
49415 2009-05-02  Jim Meyering  <meyering@redhat.com>
49416
49417         build: ensure that a release build fails when a submodule is unclean
49418         * top/maint.mk (no-submodule-changes): New rule.
49419         (alpha beta major): Depend on it.
49420
49421 2009-05-02  Bruno Haible  <bruno@clisp.org>
49422
49423         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
49424         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
49425         shell variable gl_fnmatch_required to detect which variant is
49426         requested.
49427         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
49428         gl_FUNC_FNMATCH_POSIX.
49429         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
49430         exclude fnmatch-posix.
49431
49432 2009-05-02  Bruno Haible  <bruno@clisp.org>
49433
49434         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
49435         * modules/mbsrtowcs (License): Change to LGPLv2+.
49436         * modules/strnlen1 (License): Likewise.
49437         Reported by Simon Josefsson.
49438
49439 2009-05-02  Bruno Haible  <bruno@clisp.org>
49440
49441         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
49442         "cross".
49443         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
49444         gnulib-tool was called with option --source-base=lib.
49445
49446 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49447
49448         Use automake *-local hooks without commands, for extensibility.
49449         * modules/localcharset (Makefile.am): Rename install-exec-local
49450         rule to install-exec-localcharset, and make it a prerequisite of
49451         install-exec-local.  Likewise, rename the uninstall-local rule to
49452         uninstall-localcharset, and make it a prerequisite of the former.
49453
49454 2009-05-01  Bruno Haible  <bruno@clisp.org>
49455
49456         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
49457         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
49458         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
49459         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
49460         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
49461         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
49462         m4/locale-zh.m4, m4/codeset.m4.
49463
49464         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
49465         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
49466         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
49467         m4/locale-zh.m4.
49468
49469         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
49470         REPLACE_WCRTOMB if mbstate_t must be replaced.
49471         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
49472         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
49473
49474 2009-05-01  Bruno Haible  <bruno@clisp.org>
49475
49476         Avoid compiler warnings when redefining macros defined by <libintl.h>.
49477         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
49478         dngettext, dcngettext, textdomain, bindtextdomain,
49479         bind_textdomain_codeset): Undefine before redefining.
49480
49481 2009-04-30  Bruno Haible  <bruno@clisp.org>
49482
49483         Fix bug introduced on 2009-04-25.
49484         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
49485         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
49486         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
49487         is defined.
49488         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
49489         is defined.
49490         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
49491         is defined.
49492         Reported by Elbert_Pol <elbert.pol@gmail.com>.
49493
49494 2009-04-28  Bruno Haible  <bruno@clisp.org>
49495
49496         Comment tweaks.
49497         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
49498         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
49499         * lib/unicase.h (u*_casexfrm): Likewise.
49500         Reported by Paolo Bonzini.
49501
49502 2009-04-28  Bruno Haible  <bruno@clisp.org>
49503
49504         Fix a compilation error.
49505         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
49506         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
49507         Reported by Jim Meyering.
49508
49509 2009-04-27  Bruno Haible  <bruno@clisp.org>
49510
49511         New module 'libunistring'.
49512         * modules/libunistring: New file.
49513         * m4/libunistring.m4: New file.
49514         * MODULES.html.sh (Unicode string functions): Add it.
49515
49516 2009-04-27  Eric Blake  <ebb9@byu.net>
49517
49518         maint.mk: allow package-specific header to provide <config.h>
49519         * top/maint.mk (sc_require_config_h): New variable.
49520         (sc_require_config_h, sc_require_config_h_first): Use it.
49521
49522 2009-04-27  Simon Josefsson  <simon@josefsson.org>
49523
49524         * top/maint.mk (sc_avoid_if_before_free): Except
49525         useless-if-before-free script.
49526
49527 2009-04-27  Eric Blake  <ebb9@byu.net>
49528
49529         maintainer-makefile: depend on all required helper scripts
49530         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
49531         useless-if-before-free.
49532         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
49533         version, rather than assuming gnulib checkout is available.
49534         Reported by Simen Josefsson.
49535
49536 2009-04-26  Bruno Haible  <bruno@clisp.org>
49537
49538         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
49539         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
49540         "../" or "..".
49541
49542 2009-04-26  Bruno Haible  <bruno@clisp.org>
49543
49544         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
49545         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
49546         AC_LIB_HAVE_LINKFLAGS.
49547
49548 2009-04-26  Bruno Haible  <bruno@clisp.org>
49549
49550         Simplify calling convention of u*_conv_from_encoding.
49551         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
49552         u32_conv_from_encoding): Expect a resultbuf argument and return the
49553         result directly as a pointer.
49554         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
49555         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
49556         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
49557         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
49558         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
49559         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
49560         Update.
49561         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
49562         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
49563         * lib/vasnprintf.c (VASNPRINTF): Update.
49564         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
49565         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
49566         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
49567         * NEWS: Mention the change.
49568
49569 2009-04-26  Bruno Haible  <bruno@clisp.org>
49570
49571         Simplify calling convention of u*_conv_to_encoding.
49572         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
49573         u32_conv_to_encoding): Expect a resultbuf argument and return the
49574         result directly as a pointer.
49575         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
49576         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
49577         freeing scaled_offsets if mem_iconveha failed.
49578         * lib/unicase/u-casexfrm.h (FUNC): Update.
49579         * lib/uninorm/u-normxfrm.h (FUNC): Update.
49580         * lib/vasnprintf.c (VASNPRINTF): Update.
49581         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
49582         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
49583         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
49584         * NEWS: Mention the change.
49585
49586 2009-04-26  Bruno Haible  <bruno@clisp.org>
49587
49588         Avoid test failures on AIX and OSF/1.
49589         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
49590         malloc(0).
49591         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
49592         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
49593         Likewise.
49594         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
49595         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
49596         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
49597         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
49598         * doc/posix-functions/malloc.texi: Document the portability problem
49599         related to malloc(0).
49600
49601 2009-04-26  Bruno Haible  <bruno@clisp.org>
49602
49603         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
49604         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
49605         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
49606
49607 2009-04-25  Bruno Haible  <bruno@clisp.org>
49608
49609         Avoid link error when creating a namespace clean library.
49610         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
49611         as macro with arguments if already defined as an alias.
49612         * lib/signbitf.c (gl_signbitf): Don't undefine.
49613         * lib/signbitd.c (gl_signbitd): Don't undefine.
49614         * lib/signbitl.c (gl_signbitl): Don't undefine.
49615
49616 2009-04-25  Jim Meyering  <meyering@redhat.com>
49617
49618         vc-list-files: fix another quoting bug
49619         * build-aux/vc-list-files: Avoid sed backslash expansion
49620         of pathological directory names.
49621
49622 2009-04-25  Eric Blake  <ebb9@byu.net>
49623
49624         vc-list-files: fix shell quoting error
49625         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
49626         timestamp.
49627
49628 2009-04-25  Jim Meyering  <meyering@redhat.com>
49629
49630         vc-list-files: restore lost functionality with subdir argument
49631         * build-aux/vc-list-files: When given a non-"." sub-directory
49632         argument, substitute the $dir/ prefix back onto each resulting name.
49633         Otherwise, coreutils' root_tests check would fail.
49634
49635 2009-04-24  Eric Blake  <ebb9@byu.net>
49636
49637         vc-list-files: ignore git symlinks
49638         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
49639         than ls-files, to ignore git symlinks.
49640
49641         maint.mk: import improvements from m4
49642         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
49643         (move_if_change): Delete unused macro.
49644         (news-date-check, vc-diff-check): Support VPATH builds.
49645         (announcement): Likewise.  Split --bootstrap-tools list...
49646         (boostrap-tools): ...into separate list, which can be overridden
49647         in cfg.mk.
49648         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
49649         requiring dependency on useless-if-before-free module.
49650         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
49651         Support VPATH builds.
49652
49653 2009-04-24  Jim Meyering  <meyering@redhat.com>
49654
49655         maint.mk: remove coreutils-specific rules and variables
49656         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
49657         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
49658         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
49659
49660         maint.mk: remove obsolete rule
49661         * top/maint.mk (rel-check): Remove rule.
49662         (WGET, WGETFLAGS): Remove now-unused variables.
49663
49664 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49665
49666         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
49667         consistency.
49668
49669         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
49670         '$(PATH_SEPARATOR)' instead of ':'.
49671
49672 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49673
49674         * lib/getopt1.c (main): Use 'const' for static array.
49675
49676 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49677
49678         * top/maint.mk: Sync with coreutils.
49679         * NEWS: Explain incompatibilities.
49680
49681 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49682             Bruno Haible  <bruno@clisp.org>
49683
49684         Fix cross-compilation results.
49685         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
49686         statement, as third argument of AC_TRY_RUN.
49687         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
49688         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
49689         Likewise.
49690         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
49691         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
49692         Likewise.
49693         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
49694         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
49695         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
49696
49697 2009-04-20  Bruno Haible  <bruno@clisp.org>
49698
49699         Avoid test failure on mingw.
49700         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
49701
49702 2009-04-20  Bruno Haible  <bruno@clisp.org>
49703
49704         Avoid compilation error on mingw.
49705         * modules/localename-tests (Depends-on): Add locale.
49706
49707 2009-04-19  Bruno Haible  <bruno@clisp.org>
49708
49709         Support for building a shared library on Windows platforms.
49710         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
49711         (main): Test the presence of UNINORM_NFC here.
49712         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
49713         (main): Test the presence of UNINORM_NFD here.
49714         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
49715         (main): Test the presence of UNINORM_NFKC here.
49716         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
49717         (main): Test the presence of UNINORM_NFKD here.
49718
49719 2009-04-19  Bruno Haible  <bruno@clisp.org>
49720
49721         Avoid a compiler warning.
49722         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
49723         Change type of variable 'sequence'.
49724
49725 2009-04-19  Bruno Haible  <bruno@clisp.org>
49726
49727         * modules/configmake (Makefile.am): When the contents of configmake.h
49728         does not change, arrange to preserve its modification time.
49729
49730 2009-04-17  Simon Josefsson  <simon@josefsson.org>
49731
49732         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
49733         gettext domain.
49734
49735 2009-04-16  Jim Meyering  <meyering@redhat.com>
49736
49737         useless-if-before-free: improve conversion code
49738         * build-aux/useless-if-before-free: Adjust code-in-comment to match
49739         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
49740
49741 2009-04-14  Bruno Haible  <bruno@clisp.org>
49742
49743         * modules/fcntl (Depends-on): Add extensions.
49744         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
49745
49746 2009-04-12  Ben Pfaff  <blp@gnu.org>
49747
49748         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
49749         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
49750
49751 2009-03-20  Ben Pfaff  <blp@gnu.org>
49752
49753         Make rename replace existing destinations on Windows.
49754         * m4/rename.m4: Add test for Mingw.
49755         * lib/rename.c: Add rename replacement that uses MoveFileEx with
49756         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
49757         * doc/posix-functions/rename.texi: Document.
49758
49759 2009-04-10  Bruno Haible  <bruno@clisp.org>
49760
49761         New include file "iconveh.h".
49762         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
49763         * lib/striconveh.h: Include it.
49764         (enum iconv_ilseq_handler): Remove definition.
49765         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
49766         striconveh.h.
49767         * lib/striconveha.c: Include striconveh.h.
49768         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
49769         * modules/striconveh (Files): Add lib/iconveh.h.
49770         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
49771         lib/striconveh.h.
49772
49773 2009-04-10  Bruno Haible  <bruno@clisp.org>
49774
49775         * lib/uniconv.h: Update comment.
49776
49777 2009-04-10  Bruno Haible  <bruno@clisp.org>
49778
49779         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
49780         always.
49781         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
49782         * lib/unistr/u16-mbtouc-aux.c: Likewise.
49783         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
49784         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
49785         "unistring-notinline.h", so that the function gets defined always.
49786         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
49787         * lib/unistr/u8-uctomb.c: Likewise.
49788         * lib/unistr/u16-mbtouc.c: Likewise.
49789         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
49790         * lib/unistr/u16-uctomb.c: Likewise.
49791         * lib/unistr/u32-mbtouc.c: Likewise.
49792         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
49793         * lib/unistr/u32-uctomb.c: Likewise.
49794
49795 2009-04-10  Bruno Haible  <bruno@clisp.org>
49796
49797         Mark 'utime' obsolete.
49798         * modules/utime (Status, Notice): New sections.
49799         Suggested by Jim Meyering.
49800
49801         Fix cross-compile guess for utime test.
49802         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
49803         autoconf.
49804         * doc/posix-functions/utime.texi: Give more precisions.
49805         Reported by Jan <ipif@ymail.com>.
49806
49807 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
49808
49809         filevercmp: correct today's change
49810         * lib/filevercmp.c: Also handle coreutils' test inputs.
49811         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
49812
49813         Fix regression in 'filevercmp' module. Thanks Sven Joachim
49814         for reporting it.
49815         * lib/filevercmp.c: Special handle for "", "." and "..".
49816         * tests/test-filevercmp.c: Enlarge the set suite.
49817
49818 2009-04-07  Jim Meyering  <meyering@redhat.com>
49819
49820         useless-if-before-free: show how to remove braced useless free, too
49821         * build-aux/useless-if-before-free: still only in a comment, though.
49822
49823 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
49824
49825         maint.mk: import changes to syntax-check macros from coreutils
49826         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
49827         Use them in the relevant macros.
49828
49829 2009-04-06  Bruno Haible  <bruno@clisp.org>
49830
49831         Fix unportable use of bit-fields.
49832         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
49833         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
49834         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
49835
49836 2009-04-06  Bruno Haible  <bruno@clisp.org>
49837
49838         Avoid test failures on AIX and OSF/1.
49839         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
49840         that malloc(0) = NULL.
49841         * tests/unicase/test-u8-tolower.c (check): Likewise.
49842         * tests/unicase/test-u8-totitle.c (check): Likewise.
49843         * tests/unicase/test-u8-toupper.c (check): Likewise.
49844         * tests/unicase/test-u16-casefold.c (check): Likewise.
49845         * tests/unicase/test-u16-tolower.c (check): Likewise.
49846         * tests/unicase/test-u16-totitle.c (check): Likewise.
49847         * tests/unicase/test-u16-toupper.c (check): Likewise.
49848         * tests/unicase/test-u32-casefold.c (check): Likewise.
49849         * tests/unicase/test-u32-tolower.c (check): Likewise.
49850         * tests/unicase/test-u32-totitle.c (check): Likewise.
49851         * tests/unicase/test-u32-toupper.c (check): Likewise.
49852         * tests/uninorm/test-u8-nfc.c (check): Likewise.
49853         * tests/uninorm/test-u8-nfd.c (check): Likewise.
49854         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
49855         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
49856         * tests/uninorm/test-u16-nfc.c (check): Likewise.
49857         * tests/uninorm/test-u16-nfd.c (check): Likewise.
49858         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
49859         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
49860         * tests/uninorm/test-u32-nfc.c (check): Likewise.
49861         * tests/uninorm/test-u32-nfd.c (check): Likewise.
49862         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
49863         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
49864
49865 2009-04-05  Bruno Haible  <bruno@clisp.org>
49866
49867         Work around an autoconf limitation.
49868         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
49869         comment line if it would be longer than 3 KB.
49870
49871 2009-04-05  Bruno Haible  <bruno@clisp.org>
49872
49873         Avoid test failure with libiconv-1.13.
49874         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
49875         of the expected test results.
49876
49877 2009-04-05  Bruno Haible  <bruno@clisp.org>
49878
49879         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
49880         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
49881         that it should be installed.
49882
49883 2009-04-05  Bruno Haible  <bruno@clisp.org>
49884
49885         * gnulib-tool: New option --copy-file.
49886         (func_usage): Document it.
49887         (func_dest_tmpfilename): Moved out of func_import.
49888         (func_add_file, func_update_file): New functions, extracted from
49889         func_import.
49890         (func_import): Update.
49891
49892 2009-04-05  Karl Berry  <karl@gnu.org>
49893
49894         * README: prominently mention gnulib-tool.
49895         Rearrange sections so getting the code is near the top.
49896
49897 2009-04-05  Bruno Haible  <bruno@clisp.org>
49898
49899         * lib/unicase.h: Mention u*_cmp2.
49900         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49901         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
49902         * lib/unicase/ulc-casecmp.c: Likewise.
49903         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
49904         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
49905         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
49906         unistr/u8-cmp.
49907         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
49908         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
49909         unistr/u16-cmp.
49910         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
49911         unistr/u32-cmp.
49912
49913         * lib/uninorm.h: Mention u*_cmp2.
49914         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49915         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
49916         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
49917         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
49918         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
49919         unistr/u8-cmp.
49920         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
49921         unistr/u16-cmp.
49922         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
49923         unistr/u32-cmp.
49924
49925         New module 'unistr/u32-cmp2'.
49926         * lib/unistr/u32-cmp2.c: New file.
49927         * modules/unistr/u32-cmp2: New file.
49928
49929         New module 'unistr/u16-cmp2'.
49930         * lib/unistr/u16-cmp2.c: New file.
49931         * modules/unistr/u16-cmp2: New file.
49932
49933         New module 'unistr/u8-cmp2'.
49934         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
49935         * lib/unistr/u8-cmp2.c: New file.
49936         * lib/unistr/u-cmp2.h: New file.
49937         * modules/unistr/u8-cmp2: New file.
49938
49939 2009-04-05  Bruno Haible  <bruno@clisp.org>
49940
49941         * lib/unictype.h (uc_property_is_valid): New macro.
49942         * tests/unictype/test-pr_byname.c (main): Use it.
49943
49944         * lib/unistr.h: Doc fixes.
49945         * lib/uniconv.h: Doc fixes.
49946         * lib/unictype.h: Doc fixes.
49947
49948 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
49949
49950         Port coreutils 7.2 to Solaris 8.
49951
49952         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
49953         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
49954         for Solaris 8.  This is a bit of a hack, as it means it's the
49955         caller's responsibility to add -lnsl if needed, but most likely it
49956         won't be needed since only getaddrinfo uses this and getaddrinfo
49957         isn't needed on Solaris 8.
49958
49959         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
49960         problem to Solaris 8 encountered with coreutils 7.2, which
49961         resulted in a message "fnmatch.c:292: warning: passing argument 4
49962         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
49963         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
49964
49965 2009-04-03  Simon Josefsson  <simon@josefsson.org>
49966
49967         * m4/ld-version-script.m4: Add FIXME comment.
49968
49969 2009-04-02  Simon Josefsson  <simon@josefsson.org>
49970
49971         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
49972         SOVERSION variable.
49973
49974 2009-04-02  Bruno Haible  <bruno@clisp.org>
49975
49976         * Makefile (info, html, dvi, pdf): Combine the rules.
49977         Suggested by Jim Meyering.
49978
49979 2009-04-01  Bruno Haible  <bruno@clisp.org>
49980
49981         * Makefile (info, html, dvi, pdf): New targets.
49982         Reported by Reuben Thomas <rrt@sc3d.org>.
49983
49984 2009-04-01  Bruno Haible  <bruno@clisp.org>
49985
49986         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
49987         can be put into PATH.
49988         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
49989
49990 2009-04-01  Bruno Haible  <bruno@clisp.org>
49991
49992         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
49993
49994 2009-04-01  Bruno Haible  <bruno@clisp.org>
49995
49996         Rename module 'visibility'.
49997         * modules/lib-symbol-visibility: Renamed from modules/visibility.
49998         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
49999         * doc/gnulib.texi: Update.
50000         * MODULES.html.sh (Misc): Update.
50001         * NEWS: Mention the change.
50002
50003 2009-04-01  Simon Josefsson  <simon@josefsson.org>
50004
50005         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
50006         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
50007         Eric Blake <ebb9@byu.net> for review.
50008         * MODULES.html.sh: Add lib-msvc-compat.
50009         * doc/gnulib.texi: Link to new section.
50010         * m4/ld-output-def.m4: New file.
50011         * doc/ld-output-def.texi: New file.
50012
50013 2009-04-01  Simon Josefsson  <simon@josefsson.org>
50014
50015         Rename ld-version-script to lib-symbol-versions.  Suggested by
50016         Bruno Haible <bruno@clisp.org>.
50017         * modules/ld-version-script: Renamed to lib-symbol-versions.
50018         * doc/ld-version-script.texi: Fix module name.
50019         * MODULES.html.sh: Add lib-symbol-versions.
50020
50021 2009-03-31  Simon Josefsson  <simon@josefsson.org>
50022
50023         * modules/u64-tests: New file.
50024         * tests/test-u64.c: New file.
50025
50026 2009-03-04  Simon Josefsson  <simon@josefsson.org>
50027
50028         * MODULES.html.sh: Mention u64.
50029         * modules/u64: New module.
50030         * modules/crypto/sha512: Depend on u64 module instead of providing
50031         u64.h.
50032
50033 2009-03-27  Eric Blake  <ebb9@byu.net>
50034
50035         test-strerror: make debugging EAI_SYSTEM easier
50036         * modules/getaddrinfo-tests (Depends-on): Add strerror.
50037         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
50038         failure was EAI_SYSTEM.
50039
50040 2009-03-25  Bruno Haible  <bruno@clisp.org>
50041
50042         Fix a problem with --enable-relocatable on Solaris 7.
50043         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
50044         since 2008-02-24.
50045
50046 2009-03-25  Eric Blake  <ebb9@byu.net>
50047
50048         test-sockets: avoid gcc warning
50049         * tests/test-sockets.c (main): Silence compiler warning.
50050
50051 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
50052
50053         New modules nproc, pthread, contributed by Glen Lenker.
50054
50055         * MODULES.html.sh: Add pthread, nproc.
50056         * lib/nproc.c: New file.
50057         * lib/nproc.h: New file.
50058         * lib/pthread.in.h: New file.
50059         * m4/pthread.m4: New file.
50060         * modules/nproc: New file.
50061         * modules/pthread: New file.
50062
50063 2009-03-24  Simon Josefsson  <simon@josefsson.org>
50064
50065         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
50066         New variable.
50067
50068 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
50069
50070         filevercmp: handle simple~ and numbered.~3~ backup suffixes
50071         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
50072         * tests/test-filevercmp.c: Add tests for backup suffixes.
50073
50074 2009-03-24  Simon Josefsson  <simon@josefsson.org>
50075
50076         * modules/stdlib (Depends-on): Add stdint, needed when defining
50077         struct random_data on, for example, HP-UX 10.20.  Reported by
50078         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50079
50080 2009-03-24  Simon Josefsson  <simon@josefsson.org>
50081
50082         * lib/readline.c (readline): Call fflush on stdout after printing
50083         prompt.
50084
50085 2009-03-20  Bruno Haible  <bruno@clisp.org>
50086
50087         Remove dependency from 'close' module to -lws2_32 on native Windows.
50088         * lib/close-hook.h: New file.
50089         * lib/close-hook.c: New file.
50090         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
50091         w32sock.h.
50092         (_gl_close_fd_maybe_socket): Remove function.
50093         (rpl_close): Invoke execute_all_close_hooks instead of
50094         _gl_close_fd_maybe_socket.
50095         * lib/sockets.c: Include close-hook.h, w32sock.h.
50096         (close_fd_maybe_socket): New function, essentially from lib/close.c.
50097         (close_sockets_hook): New variable.
50098         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
50099         (gl_sockets_cleanup): Unregister it.
50100         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
50101         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
50102         * modules/close-hook: New file.
50103         * modules/close (Files): Remove lib/w32sock.h.
50104         (Depends-on): Add close-hook.
50105         (Link): Remove section.
50106         * modules/sockets (Files): Add lib/w32sock.h.
50107         (Depends-on): Add close-hook.
50108         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
50109         invocation.
50110         * NEWS: Mention that LIB_CLOSE is gone.
50111
50112 2009-03-23  Eric Blake  <ebb9@byu.net>
50113
50114         signal-tests: test previous patch
50115         * tests/test-signal.c: New file.
50116         * modules/signal-tests: Likewise.
50117
50118         signal.h: always support 'volatile sig_atomic_t'
50119         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
50120         (gl_SIGNAL_H_DEFAULTS): Add a default.
50121         * modules/signal (Makefile.am): Substitute if needed.
50122         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
50123         users can blindly add volatile.
50124         * doc/posix-headers/signal.texi (signal.h): Document it.
50125         Reported by Matthew Woehlke.
50126
50127 2009-03-23  Jim Meyering  <meyering@redhat.com>
50128
50129         pathmax: PATH_MAX: use pathconf only when available
50130         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
50131         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
50132         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
50133         This avoids a link failure in a PSP cross-compilation environment
50134         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
50135
50136         * lib/vasnprintf.c (divide): Fix typo in comment.
50137
50138 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50139
50140         * gnulib-tool (func_filter_filelist): Fix comment.
50141
50142 2009-03-20  Bruno Haible  <bruno@clisp.org>
50143
50144         Make sockets.h self-contained.
50145         * lib/sockets.c: Include sockets.h first.
50146         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
50147
50148 2009-03-19  Eric Blake  <ebb9@byu.net>
50149
50150         doc: mention more functions added in cygwin 1.7.0
50151         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
50152         addition.
50153         * doc/posix-functions/log2f.texi: Likewise.
50154
50155 2009-03-19  Jim Meyering  <meyering@redhat.com>
50156
50157         fsusage: avoid syntax error due to statement-before-declaration
50158         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
50159         after all declarations.  Reported by Matthew Woehlke in
50160         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
50161
50162 2009-03-18  Eric Blake  <ebb9@byu.net>
50163
50164         build-aux/compile: sync from automake
50165         * build-aux/compile: New file, from automake.
50166         * config/srclist.txt: Mention build-aux/compile.
50167
50168 2009-03-17  Bruno Haible  <bruno@clisp.org>
50169
50170         * lib/git-merge-changelog.c: Fix typo in comment.
50171         Reported by Reuben Thomas <rrt@sc3d.org>.
50172
50173 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
50174
50175         * m4/regex.m4: update and improve help for
50176         --without-included-regex.
50177
50178 2009-03-17  Simon Josefsson  <simon@josefsson.org>
50179
50180         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
50181         failure on missing include files.
50182
50183 2009-03-17  Eric Blake  <ebb9@byu.net>
50184
50185         doc: mention more functions added in cygwin 1.7.0
50186         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
50187         addition.
50188         * doc/posix-functions/fwscanf.texi: Likewise.
50189         * doc/posix-functions/swprintf.texi: Likewise.
50190         * doc/posix-functions/swscanf.texi: Likewise.
50191         * doc/posix-functions/vfwprintf.texi: Likewise.
50192         * doc/posix-functions/vfwscanf.texi: Likewise.
50193         * doc/posix-functions/vswprintf.texi: Likewise.
50194         * doc/posix-functions/vswscanf.texi: Likewise.
50195         * doc/posix-functions/vwprintf.texi: Likewise.
50196         * doc/posix-functions/vwscanf.texi: Likewise.
50197         * doc/posix-functions/wcscasecmp.texi: Likewise.
50198         * doc/posix-functions/wcsdup.texi: Likewise.
50199         * doc/posix-functions/wcsftime.texi: Likewise.
50200         * doc/posix-functions/wcsncasecmp.texi: Likewise.
50201         * doc/posix-functions/wprintf.texi: Likewise.
50202         * doc/posix-functions/wscanf.texi: Likewise.
50203         * doc/glibc-functions/gethostbyname2.texi: Likewise.
50204
50205 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50206
50207         maint.mk: really add $(AM_MAKEFLAGS)
50208         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
50209         was inadvertently omitted in the last commit.
50210         Spotted by Bruno Haible.
50211
50212         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
50213         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
50214         $(AM_MAKEFLAGS)' rather than plain `make'.
50215
50216         gnulib-tool: execute $MAKE not make
50217         * gnulib-tool: Default $MAKE to 'make'.
50218         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
50219         than make.  Initialize $MAKE in the do-autobuild script.
50220
50221         gnulib-tool: use $MAKE not make in generated files
50222         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
50223         make, in generated files.  Initialize $MAKE in the do-autobuild
50224         script.
50225
50226         * top/GNUmakefile (_have-git-version-gen): Fix typo.
50227
50228         GNUmakefile: disable parallelism only for multiple, recursive targets
50229         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
50230         additions in the Makefile.
50231         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
50232         by Automake.
50233         (.NOTPARALLEL): Only disable parallel builds if multiple targets
50234         are listed on the command line and at least one of them is
50235         listed in $(ALL_RECURSIVE_TARGETS).
50236
50237 2009-03-14  Bruno Haible  <bruno@clisp.org>
50238
50239         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
50240         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
50241         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
50242         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
50243         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
50244         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
50245         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
50246         unistr/u8-uctomb.
50247         * modules/unistr/u8-strchr (Depends-on): Likewise.
50248         * modules/unistr/u8-strrchr (Depends-on): Likewise.
50249         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
50250         unistr/u16-uctomb.
50251         * modules/unistr/u16-strchr (Depends-on): Likewise.
50252         * modules/unistr/u16-strrchr (Depends-on): Likewise.
50253
50254 2009-03-12  Bruno Haible  <bruno@clisp.org>
50255
50256         Work around select() bug on Interix 3.5.
50257         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
50258         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
50259         * m4/select.m4: New file.
50260         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
50261         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
50262         * modules/select (Files): Add m4/select.m4.
50263         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
50264         * modules/nanosleep (Depends-on): Add select.
50265         * modules/poll (Depends-on): Likewise.
50266         * doc/posix-functions/select.texi: Mention the Interix bug.
50267         Reported by Markus Duft <mduft@gentoo.org>.
50268
50269         * lib/select.c: Renamed from lib/winsock-select.c.
50270         * modules/select (Files): Add lib/select.c, remove
50271         lib/winsock-select.c.
50272         (configure.ac): Update.
50273
50274 2009-03-12  Jim Meyering  <meyering@redhat.com>
50275
50276         avoid gcc warnings about unused macro definitions
50277         * lib/readtokens.c (STREQ): Remove unused definition.
50278         * lib/xmalloc.c (SIZE_MAX): Likewise.
50279         * lib/openat-die.c (N_): Likewise.
50280         * lib/mountlist.c (SIZE_MAX): Remove definition.
50281         Instead, include <stdint.h>.
50282         * lib/readutmp.c: Likewise.
50283         * modules/readutmp (Depends-on): Add stdint.
50284         * modules/mountlist (Depends-on): Add stdint.
50285         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
50286
50287 2009-03-10  Bruno Haible  <bruno@clisp.org>
50288
50289         Tests for module 'mbmemcasecoll'.
50290         * modules/mbmemcasecoll-tests: New file.
50291         * tests/test-mbmemcasecoll1.sh: New file.
50292         * tests/test-mbmemcasecoll2.sh: New file.
50293         * tests/test-mbmemcasecoll3.sh: New file.
50294         * tests/test-mbmemcasecoll.c: New file.
50295
50296         New module 'mbmemcasecoll'.
50297         * lib/mbmemcasecoll.h: New file.
50298         * lib/mbmemcasecoll.c: New file.
50299         * modules/mbmemcasecoll: New file.
50300
50301         * tests/test-mbmemcasecmp.h: New file, extracted from
50302         tests/test-mbmemcasecmp.c.
50303         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
50304         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
50305         (main): Update.
50306         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
50307
50308 2009-03-09  Bruno Haible  <bruno@clisp.org>
50309
50310         Tests for module 'mbmemcasecmp'.
50311         * modules/mbmemcasecmp-tests: New file.
50312         * tests/test-mbmemcasecmp1.sh: New file.
50313         * tests/test-mbmemcasecmp2.sh: New file.
50314         * tests/test-mbmemcasecmp3.sh: New file.
50315         * tests/test-mbmemcasecmp.c: New file.
50316
50317         New module 'mbmemcasecmp'.
50318         * lib/mbmemcasecmp.h: New file.
50319         * lib/mbmemcasecmp.c: New file.
50320         * modules/mbmemcasecmp: New file.
50321
50322 2009-03-09  Bruno Haible  <bruno@clisp.org>
50323
50324         Tests for module 'unicase/ulc-casecoll'.
50325         * modules/unicase/ulc-casecoll-tests: New file.
50326         * tests/unicase/test-ulc-casecoll1.sh: New file.
50327         * tests/unicase/test-ulc-casecoll2.sh: New file.
50328         * tests/unicase/test-ulc-casecoll.c: New file.
50329
50330         New module 'unicase/ulc-casecoll'.
50331         * lib/unicase.h (ulc_casecoll): New declaration.
50332         * lib/unicase/ulc-casecoll.c: New file.
50333         * modules/unicase/ulc-casecoll: New file.
50334
50335         New module 'unicase/ulc-casexfrm'.
50336         * lib/unicase.h (ulc_casexfrm): New declaration.
50337         * lib/unicase/ulc-casexfrm.c: New file.
50338         * modules/unicase/ulc-casexfrm: New file.
50339
50340 2009-03-09  Bruno Haible  <bruno@clisp.org>
50341
50342         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
50343         invocations.
50344
50345         * m4/mbscasecmp.m4: Remove file.
50346         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
50347         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
50348
50349         * m4/mbscasestr.m4: Remove file.
50350         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
50351         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
50352
50353         * m4/mbschr.m4: Remove file.
50354         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
50355         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
50356
50357         * m4/mbscspn.m4: Remove file.
50358         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
50359         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
50360
50361         * m4/mbslen.m4: Remove file.
50362         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
50363         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
50364
50365         * m4/mbsncasecmp.m4: Remove file.
50366         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
50367         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
50368
50369         * m4/mbsnlen.m4: Remove file.
50370         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
50371         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
50372
50373         * m4/mbspbrk.m4: Remove file.
50374         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
50375         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
50376
50377         * m4/mbspcasecmp.m4: Remove file.
50378         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
50379         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
50380
50381         * m4/mbsrchr.m4: Remove file.
50382         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
50383         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
50384
50385         * m4/mbssep.m4: Remove file.
50386         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
50387         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
50388
50389         * m4/mbsspn.m4: Remove file.
50390         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
50391         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
50392
50393         * m4/mbsstr.m4: Remove file.
50394         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
50395         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
50396
50397         * m4/mbstok_r.m4: Remove file.
50398         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
50399         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
50400
50401         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
50402
50403         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
50404         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
50405
50406         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
50407
50408 2009-03-08  Bruno Haible  <bruno@clisp.org>
50409
50410         Tests for module 'unicase/ulc-casecmp'.
50411         * modules/unicase/ulc-casecmp-tests: New file.
50412         * tests/unicase/test-ulc-casecmp1.sh: New file.
50413         * tests/unicase/test-ulc-casecmp2.sh: New file.
50414         * tests/unicase/test-ulc-casecmp.c: New file.
50415
50416         New module 'unicase/ulc-casecmp'.
50417         * lib/unicase.h (ulc_casecmp): New declaration.
50418         * lib/unicase/ulc-casecmp.c: New file.
50419         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
50420         'const SRC_UNIT *'.
50421         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
50422         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
50423         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
50424         * modules/unicase/ulc-casecmp: New file.
50425
50426         Tests for module 'unicase/u32-is-cased'.
50427         * modules/unicase/u32-is-cased-tests: New file.
50428         * tests/unicase/test-u32-is-cased.c: New file.
50429
50430         Tests for module 'unicase/u16-is-cased'.
50431         * modules/unicase/u16-is-cased-tests: New file.
50432         * tests/unicase/test-u16-is-cased.c: New file.
50433
50434         Tests for module 'unicase/u8-is-cased'.
50435         * modules/unicase/u8-is-cased-tests: New file.
50436         * tests/unicase/test-u8-is-cased.c: New file.
50437         * tests/unicase/test-is-cased.h: New file.
50438
50439         New module 'unicase/u32-is-cased'.
50440         * lib/unicase/u32-is-cased.c: New file.
50441         * modules/unicase/u32-is-cased: New file.
50442
50443         New module 'unicase/u16-is-cased'.
50444         * lib/unicase/u16-is-cased.c: New file.
50445         * modules/unicase/u16-is-cased: New file.
50446
50447         New module 'unicase/u8-is-cased'.
50448         * lib/unicase/u8-is-cased.c: New file.
50449         * lib/unicase/u-is-cased.h: New file.
50450         * modules/unicase/u8-is-cased: New file.
50451
50452         Tests for module 'unicase/u32-is-casefolded'.
50453         * modules/unicase/u32-is-casefolded-tests: New file.
50454         * tests/unicase/test-u32-is-casefolded.c: New file.
50455
50456         Tests for module 'unicase/u16-is-casefolded'.
50457         * modules/unicase/u16-is-casefolded-tests: New file.
50458         * tests/unicase/test-u16-is-casefolded.c: New file.
50459
50460         Tests for module 'unicase/u8-is-casefolded'.
50461         * modules/unicase/u8-is-casefolded-tests: New file.
50462         * tests/unicase/test-u8-is-casefolded.c: New file.
50463         * tests/unicase/test-is-casefolded.h: New file.
50464
50465         New module 'unicase/u32-is-casefolded'.
50466         * lib/unicase/u32-is-casefolded.c: New file.
50467         * modules/unicase/u32-is-casefolded: New file.
50468
50469         New module 'unicase/u16-is-casefolded'.
50470         * lib/unicase/u16-is-casefolded.c: New file.
50471         * modules/unicase/u16-is-casefolded: New file.
50472
50473         New module 'unicase/u8-is-casefolded'.
50474         * lib/unicase/u8-is-casefolded.c: New file.
50475         * modules/unicase/u8-is-casefolded: New file.
50476
50477         Tests for module 'unicase/u32-is-titlecase'.
50478         * modules/unicase/u32-is-titlecase-tests: New file.
50479         * tests/unicase/test-u32-is-titlecase.c: New file.
50480
50481         Tests for module 'unicase/u16-is-titlecase'.
50482         * modules/unicase/u16-is-titlecase-tests: New file.
50483         * tests/unicase/test-u16-is-titlecase.c: New file.
50484
50485         Tests for module 'unicase/u8-is-titlecase'.
50486         * modules/unicase/u8-is-titlecase-tests: New file.
50487         * tests/unicase/test-u8-is-titlecase.c: New file.
50488         * tests/unicase/test-is-titlecase.h: New file.
50489
50490         New module 'unicase/u32-is-titlecase'.
50491         * lib/unicase/u32-is-titlecase.c: New file.
50492         * modules/unicase/u32-is-titlecase: New file.
50493
50494         New module 'unicase/u16-is-titlecase'.
50495         * lib/unicase/u16-is-titlecase.c: New file.
50496         * modules/unicase/u16-is-titlecase: New file.
50497
50498         New module 'unicase/u8-is-titlecase'.
50499         * lib/unicase/u8-is-titlecase.c: New file.
50500         * modules/unicase/u8-is-titlecase: New file.
50501
50502         Tests for module 'unicase/u32-is-lowercase'.
50503         * modules/unicase/u32-is-lowercase-tests: New file.
50504         * tests/unicase/test-u32-is-lowercase.c: New file.
50505
50506         Tests for module 'unicase/u16-is-lowercase'.
50507         * modules/unicase/u16-is-lowercase-tests: New file.
50508         * tests/unicase/test-u16-is-lowercase.c: New file.
50509
50510         Tests for module 'unicase/u8-is-lowercase'.
50511         * modules/unicase/u8-is-lowercase-tests: New file.
50512         * tests/unicase/test-u8-is-lowercase.c: New file.
50513         * tests/unicase/test-is-lowercase.h: New file.
50514
50515         New module 'unicase/u32-is-lowercase'.
50516         * lib/unicase/u32-is-lowercase.c: New file.
50517         * modules/unicase/u32-is-lowercase: New file.
50518
50519         New module 'unicase/u16-is-lowercase'.
50520         * lib/unicase/u16-is-lowercase.c: New file.
50521         * modules/unicase/u16-is-lowercase: New file.
50522
50523         New module 'unicase/u8-is-lowercase'.
50524         * lib/unicase/u8-is-lowercase.c: New file.
50525         * modules/unicase/u8-is-lowercase: New file.
50526
50527         Tests for module 'unicase/u32-is-uppercase'.
50528         * modules/unicase/u32-is-uppercase-tests: New file.
50529         * tests/unicase/test-u32-is-uppercase.c: New file.
50530
50531         Tests for module 'unicase/u16-is-uppercase'.
50532         * modules/unicase/u16-is-uppercase-tests: New file.
50533         * tests/unicase/test-u16-is-uppercase.c: New file.
50534
50535         Tests for module 'unicase/u8-is-uppercase'.
50536         * modules/unicase/u8-is-uppercase-tests: New file.
50537         * tests/unicase/test-u8-is-uppercase.c: New file.
50538         * tests/unicase/test-is-uppercase.h: New file.
50539
50540         New module 'unicase/u32-is-uppercase'.
50541         * lib/unicase/u32-is-uppercase.c: New file.
50542         * modules/unicase/u32-is-uppercase: New file.
50543
50544         New module 'unicase/u16-is-uppercase'.
50545         * lib/unicase/u16-is-uppercase.c: New file.
50546         * modules/unicase/u16-is-uppercase: New file.
50547
50548         New module 'unicase/u8-is-uppercase'.
50549         * lib/unicase/u8-is-uppercase.c: New file.
50550         * modules/unicase/u8-is-uppercase: New file.
50551
50552         New module 'unicase/u32-is-invariant'.
50553         * lib/unicase/u32-is-invariant.c: New file.
50554         * modules/unicase/u32-is-invariant: New file.
50555
50556         New module 'unicase/u16-is-invariant'.
50557         * lib/unicase/u16-is-invariant.c: New file.
50558         * modules/unicase/u16-is-invariant: New file.
50559
50560         New module 'unicase/u8-is-invariant'.
50561         * lib/unicase/u8-is-invariant.c: New file.
50562         * lib/unicase/invariant.h: New file.
50563         * lib/unicase/u-is-invariant.h: New file.
50564         * modules/unicase/u8-is-invariant: New file.
50565
50566         Tests for module 'unicase/u32-casecoll'.
50567         * modules/unicase/u32-casecoll-tests: New file.
50568         * tests/unicase/test-u32-casecoll.c: New file.
50569
50570         Tests for module 'unicase/u16-casecoll'.
50571         * modules/unicase/u16-casecoll-tests: New file.
50572         * tests/unicase/test-u16-casecoll.c: New file.
50573
50574         Tests for module 'unicase/u8-casecoll'.
50575         * modules/unicase/u8-casecoll-tests: New file.
50576         * tests/unicase/test-u8-casecoll.c: New file.
50577
50578         New module 'unicase/u32-casecoll'.
50579         * lib/unicase/u32-casecoll.c: New file.
50580         * modules/unicase/u32-casecoll: New file.
50581
50582         New module 'unicase/u16-casecoll'.
50583         * lib/unicase/u16-casecoll.c: New file.
50584         * modules/unicase/u16-casecoll: New file.
50585
50586         New module 'unicase/u8-casecoll'.
50587         * lib/unicase/u8-casecoll.c: New file.
50588         * lib/unicase/u-casecoll.h: New file.
50589         * modules/unicase/u8-casecoll: New file.
50590
50591         New module 'unicase/u32-casexfrm'.
50592         * lib/unicase/u32-casexfrm.c: New file.
50593         * modules/unicase/u32-casexfrm: New file.
50594
50595         New module 'unicase/u16-casexfrm'.
50596         * lib/unicase/u16-casexfrm.c: New file.
50597         * modules/unicase/u16-casexfrm: New file.
50598
50599         New module 'unicase/u8-casexfrm'.
50600         * lib/unicase/u8-casexfrm.c: New file.
50601         * lib/unicase/u-casexfrm.h: New file.
50602         * modules/unicase/u8-casexfrm: New file.
50603
50604         Tests for module 'unicase/u32-casecmp'.
50605         * modules/unicase/u32-casecmp-tests: New file.
50606         * tests/unicase/test-u32-casecmp.c: New file.
50607
50608         Tests for module 'unicase/u16-casecmp'.
50609         * modules/unicase/u16-casecmp-tests: New file.
50610         * tests/unicase/test-u16-casecmp.c: New file.
50611
50612         Tests for module 'unicase/u8-casecmp'.
50613         * modules/unicase/u8-casecmp-tests: New file.
50614         * tests/unicase/test-u8-casecmp.c: New file.
50615         * tests/unicase/test-casecmp.h: New file.
50616
50617         New module 'unicase/u32-casecmp'.
50618         * lib/unicase/u32-casecmp.c: New file.
50619         * modules/unicase/u32-casecmp: New file.
50620
50621         New module 'unicase/u16-casecmp'.
50622         * lib/unicase/u16-casecmp.c: New file.
50623         * modules/unicase/u16-casecmp: New file.
50624
50625         New module 'unicase/u8-casecmp'.
50626         * lib/unicase/u8-casecmp.c: New file.
50627         * lib/unicase/u-casecmp.h: New file.
50628         * modules/unicase/u8-casecmp: New file.
50629
50630         Tests for module 'unicase/u32-casefold'.
50631         * modules/unicase/u32-casefold-tests: New file.
50632         * tests/unicase/test-u32-casefold.c: New file.
50633
50634         Tests for module 'unicase/u16-casefold'.
50635         * modules/unicase/u16-casefold-tests: New file.
50636         * tests/unicase/test-u16-casefold.c: New file.
50637
50638         Tests for module 'unicase/u8-casefold'.
50639         * modules/unicase/u8-casefold-tests: New file.
50640         * tests/unicase/test-u8-casefold.c: New file.
50641
50642         New module 'unicase/u32-casefold'.
50643         * lib/unicase/u32-casefold.c: New file.
50644         * modules/unicase/u32-casefold: New file.
50645
50646         New module 'unicase/u16-casefold'.
50647         * lib/unicase/u16-casefold.c: New file.
50648         * modules/unicase/u16-casefold: New file.
50649
50650         New module 'unicase/u8-casefold'.
50651         * lib/unicase/u8-casefold.c: New file.
50652         * lib/unicase/u-casefold.h: New file.
50653         * modules/unicase/u8-casefold: New file.
50654
50655         New module 'unicase/tocasefold'.
50656         * lib/unicase/casefold.h: New file.
50657         * lib/unicase/tocasefold.c: New file.
50658         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
50659         * modules/unicase/tocasefold: New file.
50660
50661         Tests for module 'unicase/u32-totitle'.
50662         * modules/unicase/u32-totitle-tests: New file.
50663         * tests/unicase/test-u32-totitle.c: New file.
50664
50665         Tests for module 'unicase/u16-totitle'.
50666         * modules/unicase/u16-totitle-tests: New file.
50667         * tests/unicase/test-u16-totitle.c: New file.
50668
50669         Tests for module 'unicase/u8-totitle'.
50670         * modules/unicase/u8-totitle-tests: New file.
50671         * tests/unicase/test-u8-totitle.c: New file.
50672
50673         New module 'unicase/u32-totitle'.
50674         * lib/unicase/u32-totitle.c: New file.
50675         * modules/unicase/u32-totitle: New file.
50676
50677         New module 'unicase/u16-totitle'.
50678         * lib/unicase/u16-totitle.c: New file.
50679         * modules/unicase/u16-totitle: New file.
50680
50681         New module 'unicase/u8-totitle'.
50682         * lib/unicase/u8-totitle.c: New file.
50683         * lib/unicase/u-totitle.h: New file.
50684         * modules/unicase/u8-totitle: New file.
50685
50686         Tests for module 'unicase/u32-tolower'.
50687         * modules/unicase/u32-tolower-tests: New file.
50688         * tests/unicase/test-u32-tolower.c: New file.
50689
50690         Tests for module 'unicase/u16-tolower'.
50691         * modules/unicase/u16-tolower-tests: New file.
50692         * tests/unicase/test-u16-tolower.c: New file.
50693
50694         Tests for module 'unicase/u8-tolower'.
50695         * modules/unicase/u8-tolower-tests: New file.
50696         * tests/unicase/test-u8-tolower.c: New file.
50697
50698         New module 'unicase/u32-tolower'.
50699         * lib/unicase/u32-tolower.c: New file.
50700         * modules/unicase/u32-tolower: New file.
50701
50702         New module 'unicase/u16-tolower'.
50703         * lib/unicase/u16-tolower.c: New file.
50704         * modules/unicase/u16-tolower: New file.
50705
50706         New module 'unicase/u8-tolower'.
50707         * lib/unicase/u8-tolower.c: New file.
50708         * modules/unicase/u8-tolower: New file.
50709
50710         Tests for module 'unicase/u32-toupper'.
50711         * modules/unicase/u32-toupper-tests: New file.
50712         * tests/unicase/test-u32-toupper.c: New file.
50713
50714         Tests for module 'unicase/u16-toupper'.
50715         * modules/unicase/u16-toupper-tests: New file.
50716         * tests/unicase/test-u16-toupper.c: New file.
50717
50718         Tests for module 'unicase/u8-toupper'.
50719         * modules/unicase/u8-toupper-tests: New file.
50720         * tests/unicase/test-u8-toupper.c: New file.
50721
50722         New module 'unicase/u32-toupper'.
50723         * lib/unicase/u32-toupper.c: New file.
50724         * modules/unicase/u32-toupper: New file.
50725
50726         New module 'unicase/u16-toupper'.
50727         * lib/unicase/u16-toupper.c: New file.
50728         * modules/unicase/u16-toupper: New file.
50729
50730         New module 'unicase/u8-toupper'.
50731         * lib/unicase/u8-toupper.c: New file.
50732         * modules/unicase/u8-toupper: New file.
50733
50734         New module 'unicase/u32-casemap'.
50735         * lib/unicase/u32-casemap.c: New file.
50736         * modules/unicase/u32-casemap: New file.
50737
50738         New module 'unicase/u16-casemap'.
50739         * lib/unicase/u16-casemap.c: New file.
50740         * modules/unicase/u16-casemap: New file.
50741
50742         New module 'unicase/u8-casemap'.
50743         * lib/unicase/unicasemap.h: New file.
50744         * lib/unicase/u8-casemap.c: New file.
50745         * lib/unicase/u-casemap.h: New file.
50746         * modules/unicase/u8-casemap: New file.
50747
50748         New module 'unicase/special-casing'.
50749         * lib/unicase/special-casing.h: New file.
50750         * lib/unicase/special-casing.c: New file.
50751         * lib/unicase/special-casing-table.gperf: New file, generated by
50752         gen-uni-tables.c.
50753         * modules/unicase/special-casing: New file.
50754
50755         Tests for module 'unicase/locale-language'.
50756         * modules/unicase/locale-language-tests: New file.
50757         * tests/unicase/test-locale-language.sh: New file.
50758         * tests/unicase/test-locale-language.c: New file.
50759
50760         New module 'unicase/locale-language'.
50761         * lib/unicase/locale-language.c: New file.
50762         * lib/unicase/locale-languages.gperf: New file.
50763         * modules/unicase/locale-language: New file.
50764
50765         Generate more tables for case conversion and case folding.
50766         * lib/gen-uni-tables.c (SCC_*): New enum items.
50767         (struct special_casing_rule): New type.
50768         (casing_rules, num_casing_rules, allocated_casing_rules): New
50769         variables.
50770         (add_casing_rule, fill_casing_rules): New functions.
50771         (struct casefold_rule): New type.
50772         (casefolding_rules, num_casefolding_rules,
50773         allocated_casefolding_rules): New variables.
50774         (fill_casefolding_rules): New function.
50775         (unicode_casefold): New variable.
50776         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
50777         sort_casing_rules, output_casing_rules): New functions.
50778         (main): Accept to more arguments: SpecialCasing.txt and
50779         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
50780         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
50781         Output mapping for casefolding.
50782
50783         * lib/unicase.h: Include stdbool.h, uninorm.h.
50784         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
50785         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
50786         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
50787         arguments.
50788         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
50789         resultp arguments.
50790         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
50791         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
50792         resultp arguments.
50793         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
50794         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
50795         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
50796         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
50797         declarations.
50798         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
50799
50800 2009-03-08  Bruno Haible  <bruno@clisp.org>
50801
50802         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50803         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
50804         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
50805         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50806
50807 2009-03-07  Bruno Haible  <bruno@clisp.org>
50808
50809         Adjust u*_normcmp, u*_normcoll API.
50810         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50811         u16_normcoll, u32_normcoll): Change failure conventions.
50812         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
50813         errno and return -1.
50814         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50815
50816 2009-03-07  Bruno Haible  <bruno@clisp.org>
50817
50818         Tests for module 'uninorm/u32-normcoll'.
50819         * modules/uninorm/u32-normcoll-tests: New file.
50820         * tests/uninorm/test-u32-normcoll.c: New file.
50821
50822         Tests for module 'uninorm/u16-normcoll'.
50823         * modules/uninorm/u16-normcoll-tests: New file.
50824         * tests/uninorm/test-u16-normcoll.c: New file.
50825
50826         Tests for module 'uninorm/u8-normcoll'.
50827         * modules/uninorm/u8-normcoll-tests: New file.
50828         * tests/uninorm/test-u8-normcoll.c: New file.
50829
50830 2009-03-07  Bruno Haible  <bruno@clisp.org>
50831
50832         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
50833         tests/uninorm/test-u32-normcmp.c.
50834         * tests/uninorm/test-u32-normcmp.c: Include it.
50835         (test_nonascii): New function, extracted from main. Add some more
50836         tests.
50837         (main): Invoke test_ascii and test_nonascii.
50838         * modules/uninorm/u32-normcmp-tests (Files): Add
50839         tests/uninorm/test-u32-normcmp.h.
50840         (Depends-on): Remove uninorm/u32-normcmp.
50841
50842         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
50843         tests/uninorm/test-u16-normcmp.c.
50844         * tests/uninorm/test-u16-normcmp.c: Include it.
50845         (test_nonascii): New function, extracted from main. Add some more
50846         tests.
50847         (main): Invoke test_ascii and test_nonascii.
50848         * modules/uninorm/u16-normcmp-tests (Files): Add
50849         tests/uninorm/test-u16-normcmp.h.
50850         (Depends-on): Remove uninorm/u16-normcmp.
50851
50852         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
50853         tests/uninorm/test-u8-normcmp.c.
50854         * tests/uninorm/test-u8-normcmp.c: Include it.
50855         (test_nonascii): New function, extracted from main. Add some more
50856         tests.
50857         (main): Invoke test_ascii and test_nonascii.
50858         * modules/uninorm/u8-normcmp-tests (Files): Add
50859         tests/uninorm/test-u8-normcmp.h.
50860         (Depends-on): Remove uninorm/u8-normcmp.
50861
50862 2009-03-07  Bruno Haible  <bruno@clisp.org>
50863
50864         New module 'uninorm/u32-normcoll'.
50865         * lib/uninorm/u32-normcoll.c: New file.
50866         * modules/uninorm/u32-normcoll: New file.
50867
50868         New module 'uninorm/u16-normcoll'.
50869         * lib/uninorm/u16-normcoll.c: New file.
50870         * modules/uninorm/u16-normcoll: New file.
50871
50872         New module 'uninorm/u8-normcoll'.
50873         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
50874         declarations.
50875         * lib/uninorm/u8-normcoll.c: New file.
50876         * lib/uninorm/u-normcoll.h: New file.
50877         * modules/uninorm/u8-normcoll: New file.
50878
50879         New module 'uninorm/u32-normxfrm'.
50880         * lib/uninorm/u32-normxfrm.c: New file.
50881         * modules/uninorm/u32-normxfrm: New file.
50882
50883         New module 'uninorm/u16-normxfrm'.
50884         * lib/uninorm/u16-normxfrm.c: New file.
50885         * modules/uninorm/u16-normxfrm: New file.
50886
50887         New module 'uninorm/u8-normxfrm'.
50888         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
50889         declarations.
50890         * lib/uninorm/u8-normxfrm.c: New file.
50891         * lib/uninorm/u-normxfrm.h: New file.
50892         * modules/uninorm/u8-normxfrm: New file.
50893
50894 2009-03-07  Bruno Haible  <bruno@clisp.org>
50895
50896         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
50897         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
50898         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
50899
50900 2009-03-07  Bruno Haible  <bruno@clisp.org>
50901
50902         New module 'memxfrm'.
50903         * lib/memxfrm.h: New file.
50904         * lib/memxfrm.c: New file.
50905         * modules/memxfrm: New file.
50906
50907 2009-03-07  Bruno Haible  <bruno@clisp.org>
50908
50909         New module 'memcmp2'.
50910         * lib/memcmp2.h: New file.
50911         * lib/memcmp2.c: New file.
50912         * modules/memcmp2: New file.
50913
50914 2009-03-07  Bruno Haible  <bruno@clisp.org>
50915
50916         Tests for module 'uninorm/decomposing-form'.
50917         * modules/uninorm/decomposing-form-tests: New file.
50918         * tests/uninorm/test-decomposing-form.c: New file.
50919
50920         New module 'uninorm/decomposing-form'.
50921         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
50922         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
50923         Add 'decomposing_variant' field.
50924         * lib/uninorm/decomposing-form.c: New file.
50925         * lib/uninorm/nfc.c (uninorm_nfc): Update.
50926         * lib/uninorm/nfd.c (uninorm_nfd): Update.
50927         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
50928         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
50929         * modules/uninorm/decomposing-form: New file.
50930         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
50931         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
50932
50933 2009-03-07  Bruno Haible  <bruno@clisp.org>
50934
50935         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
50936         strings.
50937
50938 2009-03-06  Bruno Haible  <bruno@clisp.org>
50939
50940         Tests for module 'uninorm/u32-normcmp'.
50941         * tests/uninorm/test-u32-normcmp.c: New file.
50942         * modules/uninorm/u32-normcmp-tests: New file.
50943
50944         Tests for module 'uninorm/u16-normcmp'.
50945         * tests/uninorm/test-u16-normcmp.c: New file.
50946         * modules/uninorm/u16-normcmp-tests: New file.
50947
50948         Tests for module 'uninorm/u8-normcmp'.
50949         * tests/uninorm/test-u8-normcmp.c: New file.
50950         * modules/uninorm/u8-normcmp-tests: New file.
50951
50952         New module 'uninorm/u32-normcmp'.
50953         * lib/uninorm/u32-normcmp.c: New file.
50954         * modules/uninorm/u32-normcmp: New file.
50955
50956         New module 'uninorm/u16-normcmp'.
50957         * lib/uninorm/u16-normcmp.c: New file.
50958         * modules/uninorm/u16-normcmp: New file.
50959
50960         New module 'uninorm/u8-normcmp'.
50961         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
50962         declarations.
50963         * lib/uninorm/u8-normcmp.c: New file.
50964         * lib/uninorm/u-normcmp.h: New file.
50965         * modules/uninorm/u8-normcmp: New file.
50966
50967 2009-03-06  Bruno Haible  <bruno@clisp.org>
50968
50969         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
50970         Reported by Eric Blake.
50971
50972 2009-03-06  Eric Blake  <ebb9@byu.net>
50973             Bruno Haible  <bruno@clisp.org>
50974
50975         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
50976         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
50977         condition.
50978         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50979         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
50980         condition.
50981         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50982
50983 2009-03-06  Eric Blake  <ebb9@byu.net>
50984
50985         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
50986         to avoid compiler warnings.
50987         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
50988
50989 2009-03-05  Bruno Haible  <bruno@clisp.org>
50990
50991         * tests/test-ftell.c (main): Disable test beyond end of file on
50992         FreeMiNT.
50993         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50994
50995 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
50996
50997         * lib/filevercmp.c: Move hidden files up in ordering.
50998         * tests/test-filevercmp.c: Add tests for hidden files.
50999
51000 2009-03-04  Bruno Haible  <bruno@clisp.org>
51001
51002         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
51003         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
51004         AM_CFLAGS.
51005         Reported by Simon Josefsson.
51006
51007 2009-03-03  Bruno Haible  <bruno@clisp.org>
51008
51009         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
51010         Reported by Simon Josefsson.
51011
51012         * doc/ld-version-script.texi: Update node reference.
51013
51014 2009-03-03  Bruno Haible  <bruno@clisp.org>
51015
51016         * modules/visibility (License): Change to 'unlimited'.
51017         Suggested by Simon Josefsson.
51018
51019 2009-03-03  Jim Meyering  <meyering@redhat.com>
51020
51021         unlinkdir: cannot_unlink_dir may modify process state
51022         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
51023         it's neither thread-safe nor appropriate for use in a library.
51024
51025 2009-03-03  Eric Blake  <ebb9@byu.net>
51026
51027         test-closein: silence test under Darwin
51028         * tests/test-closein.sh: Ignore stderr from cat, since we don't
51029         care if it dies from EPIPE or EBADF.
51030
51031 2009-03-03  Bruno Haible  <bruno@clisp.org>
51032
51033         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
51034         earlier.
51035         * doc/visibility.texi: Fix @node and @section.
51036
51037 2009-03-03  Simon Josefsson  <simon@josefsson.org>
51038
51039         * doc/gnulib.texi: Link to sections for ld version script and
51040         visibility.
51041         * doc/visibility.texi: Add @node and @section.
51042         * modules/ld-version-script: New module.
51043         * m4/ld-version-script.m4: New file.
51044         * doc/ld-version-script.texi: New file.
51045
51046 2009-03-02  David Lutterkort  <lutter@redhat.com>
51047
51048         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
51049         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51050
51051 2009-03-02  Bruno Haible  <bruno@clisp.org>
51052
51053         * doc/visibility.texi: Mention libtool's -export-symbols option.
51054
51055 2009-03-02  Jim Meyering  <meyering@redhat.com>
51056
51057         announce-gen: new option: --no-print-checksums
51058         * build-aux/announce-gen (usage): Describe it.
51059         (print_checksums): Print a newline here, not in the [*] footnote.
51060         (main): Honor it.
51061
51062 2009-03-01  Bruno Haible  <bruno@clisp.org>
51063
51064         Use socklen_t in the native Windows replacements prototypes.
51065         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
51066         instead of 'int'.
51067         * lib/getsockopt.c (rpl_getsockopt): Likewise.
51068         * lib/setsockopt.c (rpl_setsockopt): Likewise.
51069         * modules/getsockopt (Depends-on): Add socklen.
51070         * modules/setsockopt (Depends-on): Add socklen.
51071
51072 2009-03-01  Bruno Haible  <bruno@clisp.org>
51073
51074         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
51075         least 4.2.
51076
51077 2009-03-01  Eric Blake  <ebb9@byu.net>
51078             Bruno Haible  <bruno@clisp.org>
51079
51080         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
51081         error messages.
51082         * lib/wait-process.c (wait_subprocess): Omit error message about
51083         deadly signal sent to the child of termsigp != NULL.
51084
51085 2009-03-01  Eric Blake  <ebb9@byu.net>
51086
51087         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
51088
51089 2009-03-01  Bruno Haible  <bruno@clisp.org>
51090
51091         Avoid a gcc warning.
51092         * tests/test-sched.c (b): Make global.
51093         Reported by Eric Blake.
51094
51095 2009-01-19  Martin Lambers  <marlam@marlam.de>
51096
51097         Provide POSIX semantics for socket timeout options on W32.
51098         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
51099         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
51100         * modules/setsockopt: Depend on sys_time module for struct timeval.
51101         * modules/getsockopt: Depend on sys_time module for struct timeval.
51102
51103 2009-03-01  Simon Josefsson  <simon@josefsson.org>
51104
51105         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
51106         __USE_GNU, for consistency with netdb.in.h.
51107         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
51108
51109 2009-03-01  Bruno Haible  <bruno@clisp.org>
51110
51111         More support for FreeMiNT.
51112         * lib/fseeko.c (rpl_fseeko): Complete last commit.
51113         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
51114
51115 2009-03-01  Bruno Haible  <bruno@clisp.org>
51116
51117         More support for FreeMiNT.
51118         * lib/fpurge.c (fpurge): Correct last commit.
51119         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
51120
51121 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51122
51123         Fix unportable awk script in vc-list-files.
51124         * build-aux/vc-list-files: In the replacement awk script, use
51125         substr with a second argument of 1, not zero.
51126         Report by Simon Josefsson.
51127
51128 2009-02-28  Bruno Haible  <bruno@clisp.org>
51129
51130         More support for FreeMiNT.
51131         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
51132         to FreeMiNT today.
51133         * lib/fwriting.c (fwriting): Likewise.
51134         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
51135
51136 2009-02-28  Bruno Haible  <bruno@clisp.org>
51137
51138         * tests/test-freadseek.c (main): Disable test beyond end of file on
51139         FreeMiNT.
51140         * tests/test-ftello.c (main): Likewise.
51141         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
51142
51143 2009-02-28  Bruno Haible  <bruno@clisp.org>
51144
51145         Add tentative support for FreeMiNT.
51146         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
51147         * lib/fpurge.c (fpurge): Likewise.
51148         * lib/freadable.c (freadable): Likewise.
51149         * lib/freading.c (freading): Likewise.
51150         * lib/freadptr.c (freadptr): Likewise.
51151         * lib/freadseek.c (freadptrinc): Likewise.
51152         * lib/fseeko.c (rpl_fseeko): Likewise.
51153         * lib/fseterr.c (fseterr): Likewise.
51154         * lib/fwritable.c (fwritable): Likewise.
51155         * lib/fwriting.c (fwriting): Likewise.
51156         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
51157         Hourihane.
51158         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
51159
51160 2009-02-28  Bruno Haible  <bruno@clisp.org>
51161
51162         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
51163         SIGCHLD.
51164         Reported by Jim Meyering.
51165
51166 2009-02-28  Bruno Haible  <bruno@clisp.org>
51167
51168         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
51169         Mention the results of these tests on various platforms.
51170         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
51171         order.
51172         * doc/posix-functions/printf.texi: Likewise.
51173         * doc/posix-functions/snprintf.texi: Likewise.
51174         * doc/posix-functions/sprintf.texi: Likewise.
51175         * doc/posix-functions/vfprintf.texi: Likewise.
51176         * doc/posix-functions/vprintf.texi: Likewise.
51177         * doc/posix-functions/vsnprintf.texi: Likewise.
51178         * doc/posix-functions/vsprintf.texi: Likewise.
51179         * doc/glibc-functions/obstack_printf.texi: Likewise.
51180         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
51181
51182 2009-02-28  Bruno Haible  <bruno@clisp.org>
51183
51184         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
51185         Reported by Loïc Minier <lool@dooz.org>.
51186
51187 2009-02-27  Bruno Haible  <bruno@clisp.org>
51188
51189         * gnulib-tool (func_import): Make the sed expression used to create the
51190         sed script for updating the .gitignore file POSIX compliant.
51191         Reported by Eric Blake.
51192
51193 2009-02-27  Bruno Haible  <bruno@clisp.org>
51194
51195         * gnulib-tool (sed): Don't alias as "sed --posix".
51196         Reported by Eric Blake.
51197
51198 2009-02-27  Bruno Haible  <bruno@clisp.org>
51199
51200         Avoid test link errors.
51201         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
51202         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
51203         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
51204         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
51205         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51206
51207 2009-02-27  Bruno Haible  <bruno@clisp.org>
51208
51209         Avoid spurious "(cached)" in configure output.
51210         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
51211         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
51212         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
51213         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
51214         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
51215         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
51216         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
51217         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
51218         Reported by Eric Blake.
51219
51220 2009-02-27  Eric Blake  <ebb9@byu.net>
51221
51222         printf: fix regression in previous patch
51223         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
51224
51225 2009-02-27  Bruno Haible  <bruno@clisp.org>
51226
51227         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
51228         value.
51229         * lib/stdint.in.h: Likewise.
51230         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
51231
51232 2009-02-27  Eric Blake  <ebb9@byu.net>
51233
51234         doc: mention more functions added in cygwin 1.7.0
51235         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
51236         addition.
51237         * doc/posix-functions/open_wmemstream.texi: Likewise.
51238         * doc/posix-functions/wcsnlen.texi: Likewise.
51239         * doc/posix-functions/wcsnrtombs.texi: Likewise.
51240         * doc/posix-functions/wcstod.texi: Likewise.
51241         * doc/posix-functions/wcstof.texi: Likewise.
51242         * doc/posix-functions/wcstoimax.texi: Likewise.
51243         * doc/posix-functions/wcstok.texi: Likewise.
51244         * doc/posix-functions/wcstoumax.texi: Likewise.
51245
51246         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
51247         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
51248         * doc/posix-functions/fprintf.texi: Update.
51249         * doc/posix-functions/printf.texi: Update.
51250         * doc/posix-functions/snprintf.texi: Update.
51251         * doc/posix-functions/sprintf.texi: Update.
51252         * doc/posix-functions/vfprintf.texi: Update.
51253         * doc/posix-functions/vprintf.texi: Update.
51254         * doc/posix-functions/vsnprintf.texi: Update.
51255         * doc/posix-functions/vsprintf.texi: Update.
51256         * doc/glibc-functions/obstack_printf.texi: Update.
51257         * doc/glibc-functions/obstack_vprintf.texi: Update.
51258
51259 2009-02-26  Eric Blake  <ebb9@byu.net>
51260
51261         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
51262         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
51263         compilation bug by using runtime conversion.
51264         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
51265         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
51266         * modules/ceill-tests (Files): Use nan.h.
51267         * modules/floorl-tests (Files): Likewise.
51268         * modules/frexpl-tests (Files): Likewise.
51269         * modules/isnanl-tests (Files): Likewise.
51270         * modules/ldexpl-tests (Files): Likewise.
51271         * modules/roundl-tests (Files): Likewise.
51272         * modules/truncl-tests (Files): Likewise.
51273         * tests/test-ceill.c (main): Use a working NaN.
51274         * tests/test-floorl.c (main): Likewise.
51275         * tests/test-frexpl.c (main): Likewise.
51276         * tests/test-isnan.c (test_long_double): Likewise.
51277         * tests/test-isnanl.h (main): Likewise.
51278         * tests/test-ldexpl.h (main): Likewise.
51279         * tests/test-roundl.h (main): Likewise.
51280         * tests/test-truncl.h (main): Likewise.
51281         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
51282
51283 2009-02-26  Eric Blake  <ebb9@byu.net>
51284             Bruno Haible  <bruno@clisp.org>
51285
51286         Work around a *printf bug with %ls on Solaris.
51287         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
51288         precision is specified, sprintf stops converting the wide string
51289         argument when the number of bytes that have been produced by this
51290         conversion equals or exceeds the precision.
51291         * doc/posix-functions/fprintf.texi: Update.
51292         * doc/posix-functions/printf.texi: Update.
51293         * doc/posix-functions/snprintf.texi: Update.
51294         * doc/posix-functions/sprintf.texi: Update.
51295         * doc/posix-functions/vfprintf.texi: Update.
51296         * doc/posix-functions/vprintf.texi: Update.
51297         * doc/posix-functions/vsnprintf.texi: Update.
51298         * doc/posix-functions/vsprintf.texi: Update.
51299         * doc/glibc-functions/obstack_printf.texi: Update.
51300         * doc/glibc-functions/obstack_vprintf.texi: Update.
51301
51302 2009-02-26  Eric Blake  <ebb9@byu.net>
51303
51304         stdlib: favor compiler check of random.h
51305         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
51306         to avoid an ObjC random.h installed by Swarm.
51307
51308 2009-02-26  Bruno Haible  <bruno@clisp.org>
51309
51310         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
51311         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
51312         Reported by Gary V. Vaughan <gary@gnu.org>.
51313
51314 2009-02-26  Bruno Haible  <bruno@clisp.org>
51315
51316         Fix *printf behaviour regarding the %ls directive.
51317         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
51318         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
51319         NEED_PRINTF_DIRECTIVE_LS.
51320         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
51321         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
51322         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51323         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
51324         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
51325         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
51326         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
51327         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51328         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51329         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51330         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51331         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
51332         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51333         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51334         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51335         * doc/posix-functions/fprintf.texi: Update.
51336         * doc/posix-functions/printf.texi: Update.
51337         * doc/posix-functions/snprintf.texi: Update.
51338         * doc/posix-functions/sprintf.texi: Update.
51339         * doc/posix-functions/vfprintf.texi: Update.
51340         * doc/posix-functions/vprintf.texi: Update.
51341         * doc/posix-functions/vsnprintf.texi: Update.
51342         * doc/posix-functions/vsprintf.texi: Update.
51343         * doc/glibc-functions/obstack_printf.texi: Update.
51344         * doc/glibc-functions/obstack_vprintf.texi: Update.
51345         Reported by Eric Blake.
51346
51347 2009-02-25  Bruno Haible  <bruno@clisp.org>
51348
51349         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
51350         with known value.
51351         Reported by Gary V. Vaughan <gary@gnu.org>.
51352
51353 2009-02-25  Bruno Haible  <bruno@clisp.org>
51354
51355         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
51356         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
51357         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
51358         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
51359         Reported by Gary V. Vaughan <gary@gnu.org>.
51360
51361 2009-02-25  Bruno Haible  <bruno@clisp.org>
51362
51363         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
51364         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
51365         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
51366         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
51367         Reported by Gary V. Vaughan <gary@gnu.org>.
51368
51369 2009-02-25  Eric Blake  <ebb9@byu.net>
51370
51371         tests: skip fseek/ftell tests if ungetc is broken
51372         * m4/ungetc.m4: New file.
51373         * modules/fseek-tests: Split test, so ungetc dependency is
51374         separate from rest of test.
51375         * modules/fseeko-tests: Likewise.
51376         * modules/ftell-tests: Likewise.
51377         * modules/ftello-tests: Likewise.
51378         * tests/test-fseek.c (main): Isolate ungetc dependency.
51379         * tests/test-fseeko.c (main): Likewise.
51380         * tests/test-ftell.c (main): Likewise.
51381         * tests/test-ftello.c (main): Likewise.
51382         * tests/test-fseek2.sh: New file.
51383         * tests/test-fseeko2.sh: Likewise.
51384         * tests/test-ftell2.sh: Likewise.
51385         * tests/test-ftello2.sh: Likewise.
51386
51387 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
51388
51389         test-getaddrinfo: fix usage of skip return code 77
51390         * tests/test-gettaddrinfo.c: Return skip code 77 only
51391         for first occurrence of skip (4x77 is not 77)
51392
51393 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
51394
51395         strtod: avoid C99 decl-after-statement
51396         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
51397
51398 2009-02-24  Eric Blake  <ebb9@byu.net>
51399
51400         strtod: detect HP-UX 11.31 bug
51401         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
51402         Reported by Gary V. Vaughan.
51403
51404 2009-02-23  Bruno Haible  <bruno@clisp.org>
51405
51406         Fix invalid read past end of memory block.
51407         * lib/vasnprintf.c (DCHAR_SET): Define.
51408         (local_wcslen): Define only when needed.
51409         (local_strnlen, local_wcsnlen): New functions.
51410         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
51411         directives that involve a conversion ourselves.
51412         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
51413         wcsnlen, mbrtowc, wcrtomb.
51414         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
51415         * tests/test-vasprintf-posix.c (test_function): Likewise.
51416         * tests/test-snprintf-posix.h (test_function): Likewise.
51417         * tests/test-sprintf-posix.h (test_function): Likewise.
51418         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51419
51420 2009-02-22  Bruno Haible  <bruno@clisp.org>
51421
51422         Implement new clarified decomposition of Hangul syllables.
51423         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
51424         of type LTV, return only a pairwise decomposition.
51425         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
51426         Likewise.
51427         * tests/uninorm/test-decomposition.c (main): Updated expected result.
51428         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
51429         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
51430
51431 2009-02-22  Bruno Haible  <bruno@clisp.org>
51432
51433         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
51434         zero-length results and shrink excess allocated memory.
51435         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
51436         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
51437         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
51438         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
51439         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
51440         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
51441         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
51442         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
51443         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
51444         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
51445         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
51446         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
51447
51448 2009-02-21  Bruno Haible  <bruno@clisp.org>
51449
51450         * doc/gnulib.texi: Include safe-alloc.texi earlier.
51451         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
51452         spaces after a period. Put a space between a macro name and its
51453         argument list. Trivial rewordings.
51454         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
51455         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
51456         (main): Return 0 explicitly.
51457
51458 2009-02-21  Bruno Haible  <bruno@clisp.org>
51459
51460         Tests for module 'uninorm/filter'.
51461         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
51462         * modules/uninorm/filter-tests: New file.
51463
51464         New module 'uninorm/filter'.
51465         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
51466         uninorm_filter_flush, uninorm_filter_free): New declarations.
51467         * lib/uninorm/uninorm-filter.c: New file.
51468         * modules/uninorm/filter: New file.
51469
51470 2009-02-21  Bruno Haible  <bruno@clisp.org>
51471
51472         Tests for module 'uninorm/nfkc'.
51473         * tests/uninorm/test-nfkc.c: New file.
51474         * tests/uninorm/test-u8-nfkc.c: New file.
51475         * tests/uninorm/test-u16-nfkc.c: New file.
51476         * tests/uninorm/test-u32-nfkc.c: New file.
51477         * tests/uninorm/test-u32-nfkc-big.sh: New file.
51478         * tests/uninorm/test-u32-nfkc-big.c: New file.
51479         * modules/uninorm/nfkc-tests: New file.
51480
51481         New module 'uninorm/nfkc'.
51482         * lib/uninorm/nfkc.c: New file.
51483         * modules/uninorm/nfkc: New file.
51484
51485         Tests for module 'uninorm/nfkd'.
51486         * tests/uninorm/test-nfkd.c: New file.
51487         * tests/uninorm/test-u8-nfkd.c: New file.
51488         * tests/uninorm/test-u16-nfkd.c: New file.
51489         * tests/uninorm/test-u32-nfkd.c: New file.
51490         * tests/uninorm/test-u32-nfkd-big.sh: New file.
51491         * tests/uninorm/test-u32-nfkd-big.c: New file.
51492         * modules/uninorm/nfkd-tests: New file.
51493
51494         New module 'uninorm/nfkd'.
51495         * lib/uninorm/nfkd.c: New file.
51496         * modules/uninorm/nfkd: New file.
51497
51498         Tests for module 'uninorm/nfc'.
51499         * tests/uninorm/test-nfc.c: New file.
51500         * tests/uninorm/test-u8-nfc.c: New file.
51501         * tests/uninorm/test-u16-nfc.c: New file.
51502         * tests/uninorm/test-u32-nfc.c: New file.
51503         * tests/uninorm/test-u32-nfc-big.sh: New file.
51504         * tests/uninorm/test-u32-nfc-big.c: New file.
51505         * modules/uninorm/nfc-tests: New file.
51506
51507         New module 'uninorm/nfc'.
51508         * lib/uninorm/nfc.c: New file.
51509         * modules/uninorm/nfc: New file.
51510
51511         Tests for module 'uninorm/nfd'.
51512         * tests/uninorm/test-nfd.c: New file.
51513         * tests/uninorm/test-u8-nfd.c: New file.
51514         * tests/uninorm/test-u16-nfd.c: New file.
51515         * tests/uninorm/test-u32-nfd.c: New file.
51516         * tests/uninorm/test-u32-nfd-big.sh: New file.
51517         * tests/uninorm/test-u32-nfd-big.c: New file.
51518         * tests/uninorm/test-u32-normalize-big.h: New file.
51519         * tests/uninorm/test-u32-normalize-big.c: New file.
51520         * tests/uninorm/NormalizationTest.txt: New file, created from
51521         Unicode 5.1.0 NormalizationTest.txt.
51522         * modules/uninorm/nfd-tests: New file.
51523
51524         New module 'uninorm/nfd'.
51525         * lib/uninorm/nfd.c: New file.
51526         * modules/uninorm/nfd: New file.
51527
51528         New module 'uninorm/u32-normalize'.
51529         * lib/uninorm/u32-normalize.c: New file.
51530         * modules/uninorm/u32-normalize: New file.
51531
51532         New module 'uninorm/u16-normalize'.
51533         * lib/uninorm/u16-normalize.c: New file.
51534         * modules/uninorm/u16-normalize: New file.
51535
51536         New module 'uninorm/u8-normalize'.
51537         * lib/uninorm/u8-normalize.c: New file.
51538         * lib/uninorm/normalize-internal.h: New file.
51539         * lib/uninorm/u-normalize-internal.h: New file.
51540         * modules/uninorm/u8-normalize: New file.
51541
51542         New module 'uninorm/decompose-internal'.
51543         * lib/uninorm/decompose-internal.c: New file.
51544         * modules/uninorm/decompose-internal: New file.
51545
51546         Tests for module 'uninorm/composition'.
51547         * tests/uninorm/test-composition.c: New file.
51548         * modules/uninorm/composition-tests: New file.
51549
51550         New module 'uninorm/composition'.
51551         * lib/uninorm/composition.c: New file.
51552         * lib/uninorm/composition-table.gperf: New file, generated by
51553         gen-uni-tables.
51554         * modules/uninorm/composition: New file.
51555
51556         Tests for module 'uninorm/compat-decomposition'.
51557         * tests/uninorm/test-compat-decomposition.c: New file.
51558         * modules/uninorm/compat-decomposition-tests: New file.
51559
51560         New module 'uninorm/compat-decomposition'.
51561         * lib/uninorm/decompose-internal.h: New file.
51562         * lib/uninorm/compat-decomposition.c: New file.
51563         * modules/uninorm/compat-decomposition: New file.
51564
51565         Tests for module 'uninorm/canonical-decomposition'.
51566         * tests/uninorm/test-canonical-decomposition.c: New file.
51567         * modules/uninorm/canonical-decomposition-tests: New file.
51568
51569         New module 'uninorm/canonical-decomposition'.
51570         * lib/uninorm/canonical-decomposition.c: New file.
51571         * modules/uninorm/canonical-decomposition: New file.
51572
51573         Tests for module 'uninorm/decomposition'.
51574         * tests/uninorm/test-decomposition.c: New file.
51575         * modules/uninorm/decomposition-tests: New file.
51576
51577         New module 'uninorm/decomposition'.
51578         * lib/uninorm/decomposition.c: New file.
51579         * modules/uninorm/decomposition: New file.
51580
51581         New module 'uninorm/decomposition-table'.
51582         * lib/uninorm/decomposition-table.h: New file.
51583         * lib/uninorm/decomposition-table.c: New file.
51584         * lib/uninorm/decomposition-table1.h: New file, generated by
51585         gen-uni-tables.
51586         * lib/uninorm/decomposition-table2.h: New file, generated by
51587         gen-uni-tables.
51588         * modules/uninorm/decomposition-table: New file.
51589
51590         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
51591         (UC_DECOMP_*): New enumeration items.
51592         (get_decomposition): New function.
51593         (struct decomp_table): New type.
51594         (output_decomposition, output_decomposition_tables): New functions.
51595         (unicode_composition_exclusions): New variable.
51596         (fill_composition_exclusions, debug_output_composition_tables): New
51597         functions.
51598         (main): Accept one more argument. Invoke fill_composition_exclusions.
51599         Output decomposition and composition tables.
51600
51601         New module 'uninorm/base'.
51602         * lib/uninorm.h: New file.
51603         * lib/unictype.h: Update comment.
51604         * modules/uninorm/base: New file.
51605
51606 2009-02-21  David Lutterkort  <lutter@redhat.com>
51607
51608         Tests for module 'safe-alloc'.
51609         * tests/test-safe-alloc.c: New file.
51610         * modules/safe-alloc-tests: New file.
51611
51612         New module 'safe-alloc'.
51613         * lib/safe-alloc.h: New file.
51614         * lib/safe-alloc.c: New file.
51615         * m4/safe-alloc.m4: New file.
51616         * modules/safe-alloc: New file.
51617         * doc/safe-alloc.texi: New file.
51618         * doc/gnulib.texi: Include it.
51619         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
51620         safe-alloc.
51621
51622 2009-02-18  Bruno Haible  <bruno@clisp.org>
51623
51624         Fix link error on non-glibc systems.
51625         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
51626         variable.
51627         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51628
51629 2009-02-18  Jim Meyering  <meyering@redhat.com>
51630
51631         fts: avoid used-uninitialized error due to recent change
51632         * lib/fts.c (fts_read): Guard uses of the new member,
51633         parent->fts_n_dirs_remaining, since it's not relevant for
51634         the parent of a directory specified on the command-line.
51635
51636 2009-02-17  James Youngman  <jay@gnu.org>
51637             Bruno Haible  <bruno@clisp.org>
51638
51639         * m4/include_next.m4: Reformulate comment.
51640
51641 2009-02-16  Jim Meyering  <meyering@redhat.com>
51642
51643         fts: add #if guards so that the fts_lgpl module still builds
51644         * lib/fts.c: Guard just-added hash-table-using parts with
51645         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
51646         Reported by Simon Josefsson.
51647
51648 2009-02-15  Bruno Haible  <bruno@clisp.org>
51649
51650         * modules/array-mergesort-tests: New file.
51651         * tests/test-array-mergesort.c: New file.
51652
51653         New module 'array-mergesort'.
51654         * modules/array-mergesort: New file.
51655         * lib/array-mergesort.h: New file.
51656
51657 2009-02-15  Bruno Haible  <bruno@clisp.org>
51658
51659         Fix 2009-02-07 commit.
51660         * lib/gen-uni-tables.c (output_predicate, output_category,
51661         output_combclass, output_bidi_category, output_decimal_digit,
51662         output_digit, output_numeric, output_mirror, output_scripts,
51663         output_ident_category, output_simple_mapping): Fix format directives.
51664         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
51665
51666 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
51667
51668         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
51669         fixes are available from IBM.
51670
51671 2009-02-13  Jim Meyering  <meyering@redhat.com>
51672
51673         fts: arrange not to stat non-directories in more cases
51674         This makes GNU find (when it doesn't need to stat each file)
51675         *much* more efficient at traversing reiserfs file systems.
51676         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
51677         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
51678         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
51679         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
51680         (leaf_optimization_applies): New function.
51681         (LCO_hash, LCO_compare): New helper functions.
51682         (link_count_optimize_ok): New function.
51683         (fts_stat): Initialize new member (if dir).
51684         (fts_read): Decrement parent's fts_n_dirs_remaining count if
51685         we've just stat'ed a directory.  Skip the stat call when possible.
51686         ---
51687         Note this AFS-related exchange:
51688         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
51689         and note find's pioctl call in find/fstype.c.
51690         But that is necessary only if you want to enable the
51691         optimization for AFS, and for now, I don't.
51692
51693         fts: move a function definition "up" (no semantic change)
51694         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
51695         "up" to precede upcoming use of a related function.
51696
51697 2009-02-11  Jim Meyering  <meyering@redhat.com>
51698
51699         fts: correct internal computation of nlinks (optimization-related)
51700         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
51701         whether the current entry is a directory, so don't test it.
51702
51703 2009-02-10  Bruno Haible  <bruno@clisp.org>
51704
51705         Tests for module 'uniwbrk/ulc-wordbreaks'.
51706         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
51707         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
51708         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
51709
51710         Tests for module 'uniwbrk/u32-wordbreaks'.
51711         * modules/uniwbrk/u32-wordbreaks-tests: New file.
51712         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
51713
51714         Tests for module 'uniwbrk/u16-wordbreaks'.
51715         * modules/uniwbrk/u16-wordbreaks-tests: New file.
51716         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
51717
51718         Tests for module 'uniwbrk/u8-wordbreaks'.
51719         * modules/uniwbrk/u8-wordbreaks-tests: New file.
51720         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
51721
51722 2009-02-10  Bruno Haible  <bruno@clisp.org>
51723
51724         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
51725         property.
51726         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
51727         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
51728         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
51729
51730 2009-02-10  Simon Josefsson  <simon@josefsson.org>
51731
51732         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
51733         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
51734
51735 2009-02-10  Bruno Haible  <bruno@clisp.org>
51736
51737         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
51738         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
51739         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
51740         * lib/unilbrk/u8-possible-linebreaks.c: Update.
51741         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
51742         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
51743
51744 2009-02-09  Simon Josefsson  <simon@josefsson.org>
51745
51746         * lib/sockets.h (gl_fd_to_handle): New function.
51747
51748         * tests/test-sockets.c: Call gl_fd_to_handle.
51749
51750 2009-02-09  Bruno Haible  <bruno@clisp.org>
51751
51752         * doc/havelib.texi: Document the conventions on bi-arch systems.
51753
51754 2009-02-08  Bruno Haible  <bruno@clisp.org>
51755
51756         Document the AC_LIB_LINKFLAGS macro.
51757         * doc/havelib.texi: New file, mostly written on 2005-05-24.
51758         * doc/gnulib.texi: Include it.
51759
51760 2009-02-08  Bruno Haible  <bruno@clisp.org>
51761
51762         Fix wrong order of sections, compared to TOC.
51763         * doc/gnulib.texi: Include relocatable-maint.texi after the
51764         "Regular expressions" node, not before.
51765
51766 2009-02-08  Bruno Haible  <bruno@clisp.org>
51767
51768         Tests for module 'unicase/totitle'.
51769         * modules/unicase/totitle-tests: New file.
51770
51771         Tests for module 'unicase/tolower'.
51772         * modules/unicase/tolower-tests: New file.
51773
51774         Tests for module 'unicase/toupper'.
51775         * modules/unicase/toupper-tests: New file.
51776         * tests/unicase/test-mapping-part1.h: New file.
51777         * tests/unicase/test-mapping-part2.h: New file.
51778
51779         New module 'unicase/totitle'.
51780         * modules/unicase/totitle: New file.
51781         * lib/unicase/totitle.c: New file.
51782
51783         New module 'unicase/tolower'.
51784         * modules/unicase/tolower: New file.
51785         * lib/unicase/tolower.c: New file.
51786
51787         New module 'unicase/toupper'.
51788         * modules/unicase/toupper: New file.
51789         * lib/unicase/toupper.c: New file.
51790         * lib/unicase/simple-mapping.h: New file.
51791
51792         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
51793         (mapping_table): New structure.
51794         (output_simple_mapping): New function.
51795         (main): Invoke output_simple_mapping_test and output_simple_mapping.
51796         * modules/gen-uni-tables (Description): Update.
51797         * lib/unicase/toupper.h: New file, automatically generated by
51798         gen-uni-tables.
51799         * lib/unicase/tolower.h: New file, automatically generated by
51800         gen-uni-tables.
51801         * lib/unicase/totitle.h: New file, automatically generated by
51802         gen-uni-tables.
51803         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
51804         gen-uni-tables.
51805         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
51806         gen-uni-tables.
51807         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
51808         gen-uni-tables.
51809
51810         New module 'unicase/base'.
51811         * modules/unicase/base: New file.
51812         * lib/unicase.h: New file.
51813
51814 2009-02-08  Bruno Haible  <bruno@clisp.org>
51815
51816         New module 'uniwbrk/ulc-wordbreaks'.
51817         * modules/uniwbrk/ulc-wordbreaks: New file.
51818         * lib/uniwbrk/ulc-wordbreaks.c: New file.
51819
51820         New module 'uniwbrk/u32-wordbreaks'.
51821         * modules/uniwbrk/u32-wordbreaks: New file.
51822         * lib/uniwbrk/u32-wordbreaks.c: New file.
51823
51824         New module 'uniwbrk/u16-wordbreaks'.
51825         * modules/uniwbrk/u16-wordbreaks: New file.
51826         * lib/uniwbrk/u16-wordbreaks.c: New file.
51827
51828         New module 'uniwbrk/u8-wordbreaks'.
51829         * modules/uniwbrk/u8-wordbreaks: New file.
51830         * lib/uniwbrk/u8-wordbreaks.c: New file.
51831         * lib/uniwbrk/u-wordbreaks.h: New file.
51832
51833         New module 'uniwbrk/table'.
51834         * modules/uniwbrk/table: New file.
51835         * lib/uniwbrk/wbrktable.h: New file.
51836         * lib/uniwbrk/wbrktable.c: New file.
51837
51838         New module 'uniwbrk/wordbreak-property'.
51839         * modules/uniwbrk/wordbreak-property: New file.
51840         * lib/uniwbrk/wordbreak-property.c: New file.
51841
51842         * lib/gen-uni-tables.c (WBP_*): New enum items.
51843         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
51844         (unicode_org_wbp): New variable.
51845         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
51846         New functions.
51847         (wbp_table): New structure.
51848         (output_wbp, output_wbrk_tables): New functions.
51849         (main): Accept additional argument. Invoke fill_org_wbp,
51850         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
51851         output_wbrk_tables.
51852         * modules/gen-uni-tables (Description): Update.
51853         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
51854         gen-uni-tables.
51855
51856         New module 'uniwbrk/base'.
51857         * modules/uniwbrk/base: New file.
51858         * lib/uniwbrk.h: New file.
51859
51860 2009-02-08  Bruno Haible  <bruno@clisp.org>
51861
51862         Update to Unicode 5.1.0.
51863         * lib/gen-uni-tables.c (is_property_alphabetic): Include
51864         U+2185..U+2188.
51865         (is_property_default_ignorable_code_point): Don't include characters
51866         of category Cc or Cs and not-a-characters.
51867         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
51868         U+0D79, U+109E, U+109F, U+A60C.
51869         * lib/unictype/bidi_of.h: Regenerated.
51870         * lib/unictype/blocks.h: Regenerated.
51871         * lib/unictype/categ_C.h: Regenerated.
51872         * lib/unictype/categ_Cf.h: Regenerated.
51873         * lib/unictype/categ_Cn.h: Regenerated.
51874         * lib/unictype/categ_L.h: Regenerated.
51875         * lib/unictype/categ_Ll.h: Regenerated.
51876         * lib/unictype/categ_Lm.h: Regenerated.
51877         * lib/unictype/categ_Lo.h: Regenerated.
51878         * lib/unictype/categ_Lu.h: Regenerated.
51879         * lib/unictype/categ_M.h: Regenerated.
51880         * lib/unictype/categ_Mc.h: Regenerated.
51881         * lib/unictype/categ_Me.h: Regenerated.
51882         * lib/unictype/categ_Mn.h: Regenerated.
51883         * lib/unictype/categ_N.h: Regenerated.
51884         * lib/unictype/categ_Nd.h: Regenerated.
51885         * lib/unictype/categ_Nl.h: Regenerated.
51886         * lib/unictype/categ_No.h: Regenerated.
51887         * lib/unictype/categ_P.h: Regenerated.
51888         * lib/unictype/categ_Pd.h: Regenerated.
51889         * lib/unictype/categ_Pe.h: Regenerated.
51890         * lib/unictype/categ_Pf.h: Regenerated.
51891         * lib/unictype/categ_Pi.h: Regenerated.
51892         * lib/unictype/categ_Po.h: Regenerated.
51893         * lib/unictype/categ_Ps.h: Regenerated.
51894         * lib/unictype/categ_S.h: Regenerated.
51895         * lib/unictype/categ_Sk.h: Regenerated.
51896         * lib/unictype/categ_Sm.h: Regenerated.
51897         * lib/unictype/categ_So.h: Regenerated.
51898         * lib/unictype/categ_of.h: Regenerated.
51899         * lib/unictype/combining.h: Regenerated.
51900         * lib/unictype/ctype_alnum.h: Regenerated.
51901         * lib/unictype/ctype_alpha.h: Regenerated.
51902         * lib/unictype/ctype_graph.h: Regenerated.
51903         * lib/unictype/ctype_lower.h: Regenerated.
51904         * lib/unictype/ctype_print.h: Regenerated.
51905         * lib/unictype/ctype_punct.h: Regenerated.
51906         * lib/unictype/ctype_upper.h: Regenerated.
51907         * lib/unictype/decdigit.h: Regenerated.
51908         * lib/unictype/digit.h: Regenerated.
51909         * lib/unictype/mirror.h: Regenerated.
51910         * lib/unictype/numeric.h: Regenerated.
51911         * lib/unictype/pr_alphabetic.h: Regenerated.
51912         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
51913         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
51914         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
51915         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
51916         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
51917         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
51918         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
51919         * lib/unictype/pr_combining.h: Regenerated.
51920         * lib/unictype/pr_dash.h: Regenerated.
51921         * lib/unictype/pr_decimal_digit.h: Regenerated.
51922         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
51923         * lib/unictype/pr_deprecated.h: Regenerated.
51924         * lib/unictype/pr_diacritic.h: Regenerated.
51925         * lib/unictype/pr_extender.h: Regenerated.
51926         * lib/unictype/pr_format_control.h: Regenerated.
51927         * lib/unictype/pr_grapheme_base.h: Regenerated.
51928         * lib/unictype/pr_grapheme_extend.h: Regenerated.
51929         * lib/unictype/pr_grapheme_link.h: Regenerated.
51930         * lib/unictype/pr_id_continue.h: Regenerated.
51931         * lib/unictype/pr_id_start.h: Regenerated.
51932         * lib/unictype/pr_ideographic.h: Regenerated.
51933         * lib/unictype/pr_ignorable_control.h: Regenerated.
51934         * lib/unictype/pr_lowercase.h: Regenerated.
51935         * lib/unictype/pr_math.h: Regenerated.
51936         * lib/unictype/pr_numeric.h: Regenerated.
51937         * lib/unictype/pr_other_alphabetic.h: Regenerated.
51938         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
51939         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
51940         * lib/unictype/pr_other_id_continue.h: Regenerated.
51941         * lib/unictype/pr_other_lowercase.h: Regenerated.
51942         * lib/unictype/pr_other_math.h: Regenerated.
51943         * lib/unictype/pr_punctuation.h: Regenerated.
51944         * lib/unictype/pr_sentence_terminal.h: Regenerated.
51945         * lib/unictype/pr_soft_dotted.h: Regenerated.
51946         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
51947         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
51948         * lib/unictype/pr_unified_ideograph.h: Regenerated.
51949         * lib/unictype/pr_uppercase.h: Regenerated.
51950         * lib/unictype/pr_xid_continue.h: Regenerated.
51951         * lib/unictype/pr_xid_start.h: Regenerated.
51952         * lib/unictype/pr_zero_width.h: Regenerated.
51953         * lib/unictype/scripts.h: Regenerated.
51954         * lib/unictype/scripts_byname.gperf: Regenerated.
51955         * lib/unictype/sy_java_ident.h: Regenerated.
51956         * lib/unilbrk/lbrkprop1.h: Regenerated.
51957         * lib/unilbrk/lbrkprop2.h: Regenerated.
51958         * tests/unictype/test-categ_C.c: Regenerated.
51959         * tests/unictype/test-categ_Cf.c: Regenerated.
51960         * tests/unictype/test-categ_Cn.c: Regenerated.
51961         * tests/unictype/test-categ_L.c: Regenerated.
51962         * tests/unictype/test-categ_Ll.c: Regenerated.
51963         * tests/unictype/test-categ_Lm.c: Regenerated.
51964         * tests/unictype/test-categ_Lo.c: Regenerated.
51965         * tests/unictype/test-categ_Lu.c: Regenerated.
51966         * tests/unictype/test-categ_M.c: Regenerated.
51967         * tests/unictype/test-categ_Mc.c: Regenerated.
51968         * tests/unictype/test-categ_Me.c: Regenerated.
51969         * tests/unictype/test-categ_Mn.c: Regenerated.
51970         * tests/unictype/test-categ_N.c: Regenerated.
51971         * tests/unictype/test-categ_Nd.c: Regenerated.
51972         * tests/unictype/test-categ_Nl.c: Regenerated.
51973         * tests/unictype/test-categ_No.c: Regenerated.
51974         * tests/unictype/test-categ_P.c: Regenerated.
51975         * tests/unictype/test-categ_Pd.c: Regenerated.
51976         * tests/unictype/test-categ_Pe.c: Regenerated.
51977         * tests/unictype/test-categ_Pf.c: Regenerated.
51978         * tests/unictype/test-categ_Pi.c: Regenerated.
51979         * tests/unictype/test-categ_Po.c: Regenerated.
51980         * tests/unictype/test-categ_Ps.c: Regenerated.
51981         * tests/unictype/test-categ_S.c: Regenerated.
51982         * tests/unictype/test-categ_Sk.c: Regenerated.
51983         * tests/unictype/test-categ_Sm.c: Regenerated.
51984         * tests/unictype/test-categ_So.c: Regenerated.
51985         * tests/unictype/test-ctype_alnum.c: Regenerated.
51986         * tests/unictype/test-ctype_alpha.c: Regenerated.
51987         * tests/unictype/test-ctype_graph.c: Regenerated.
51988         * tests/unictype/test-ctype_lower.c: Regenerated.
51989         * tests/unictype/test-ctype_print.c: Regenerated.
51990         * tests/unictype/test-ctype_punct.c: Regenerated.
51991         * tests/unictype/test-ctype_upper.c: Regenerated.
51992         * tests/unictype/test-decdigit.h: Regenerated.
51993         * tests/unictype/test-digit.h: Regenerated.
51994         * tests/unictype/test-numeric.h: Regenerated.
51995         * tests/unictype/test-pr_alphabetic.c: Regenerated.
51996         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
51997         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
51998         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
51999         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
52000         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
52001         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
52002         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
52003         * tests/unictype/test-pr_combining.c: Regenerated.
52004         * tests/unictype/test-pr_dash.c: Regenerated.
52005         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
52006         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
52007         * tests/unictype/test-pr_deprecated.c: Regenerated.
52008         * tests/unictype/test-pr_diacritic.c: Regenerated.
52009         * tests/unictype/test-pr_extender.c: Regenerated.
52010         * tests/unictype/test-pr_format_control.c: Regenerated.
52011         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
52012         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
52013         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
52014         * tests/unictype/test-pr_id_continue.c: Regenerated.
52015         * tests/unictype/test-pr_id_start.c: Regenerated.
52016         * tests/unictype/test-pr_ideographic.c: Regenerated.
52017         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
52018         * tests/unictype/test-pr_lowercase.c: Regenerated.
52019         * tests/unictype/test-pr_math.c: Regenerated.
52020         * tests/unictype/test-pr_numeric.c: Regenerated.
52021         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
52022         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
52023         Regenerated.
52024         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
52025         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
52026         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
52027         * tests/unictype/test-pr_other_math.c: Regenerated.
52028         * tests/unictype/test-pr_punctuation.c: Regenerated.
52029         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
52030         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
52031         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
52032         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
52033         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
52034         * tests/unictype/test-pr_uppercase.c: Regenerated.
52035         * tests/unictype/test-pr_xid_continue.c: Regenerated.
52036         * tests/unictype/test-pr_xid_start.c: Regenerated.
52037         * tests/unictype/test-pr_zero_width.c: Regenerated.
52038
52039         Update to Unicode 5.1.0.
52040         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
52041         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
52042         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
52043         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
52044         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
52045         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
52046         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
52047         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
52048         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
52049         (nonspacing_table_ind): Update.
52050         * tests/uniwidth/test-uc_width2.sh: Update expected result.
52051
52052         Update to Unicode 5.1.0.
52053         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
52054         code transform.
52055         * lib/uniname/uniname.c (unicode_character_name,
52056         unicode_name_character): Add the range 0x1Fxxx to the code transform.
52057         * lib/uniname/uninames.h: Regenerated.
52058         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
52059
52060 2009-02-07  Bruno Haible  <bruno@clisp.org>
52061
52062         Merge gen-ctype and gen-lbrk into a single program.
52063         * lib/gen-uni-tables.c: New file, incorporating
52064         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
52065         Add directory prefixes to the names of the generated files.
52066         * lib/unictype/gen-ctype.c: Remove file.
52067         * lib/unilbrk/gen-lbrk.c: Remove file.
52068         * modules/gen-uni-tables: New file.
52069         * modules/unictype/gen-ctype: Remove file.
52070         * modules/unilbrk/gen-lbrk: Remove file.
52071
52072 2009-02-07  Bruno Haible  <bruno@clisp.org>
52073
52074         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
52075
52076         New module 'unistr/u32-strcoll'.
52077         * modules/unistr/u32-strcoll: New file.
52078         * lib/unistr/u32-strcoll.c: New file.
52079
52080         New module 'unistr/u16-strcoll'.
52081         * modules/unistr/u16-strcoll: New file.
52082         * lib/unistr/u16-strcoll.c: New file.
52083
52084         New module 'unistr/u8-strcoll'.
52085         * modules/unistr/u8-strcoll: New file.
52086         * lib/unistr/u8-strcoll.c: New file.
52087         * lib/unistr/u-strcoll.h: New file.
52088
52089 2009-02-07  Bruno Haible  <bruno@clisp.org>
52090
52091         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
52092         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
52093         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
52094         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
52095         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
52096         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
52097
52098 2009-02-07  Bruno Haible  <bruno@clisp.org>
52099
52100         Make 64-bit clean.
52101         * lib/unictype/gen-ctype.c (output_predicate, output_category,
52102         output_combclass, output_bidi_category, output_decimal_digit,
52103         output_digit, output_numeric, output_mirror, output_scripts,
52104         output_ident_category): Use proper width specifier in format strings.
52105
52106 2009-02-07  Bruno Haible  <bruno@clisp.org>
52107
52108         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
52109         failure behaviour.
52110
52111 2009-02-07  Jim Meyering  <meyering@redhat.com>
52112
52113         regex: avoid compilation failure with upcoming gcc-4.4
52114         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
52115         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
52116         "... error: integer overflow in preprocessor expression".
52117
52118 2009-02-05  Ben Pfaff  <blp@gnu.org>
52119
52120         Fix link errors on Windows when close module is used.
52121         * modules/close: Add $(LIB_CLOSE) to Link section.
52122         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
52123         $(LIB_CLOSE) on Windows.
52124
52125 2009-02-05  Jim Meyering  <meyering@redhat.com>
52126
52127         still avoid unused-parameter warnings, but do it cleanly
52128         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
52129         (get_fs_usage): Cast to void instead.
52130         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
52131         (dev_from_mount_options, read_file_system_list): Cast to void.
52132         Prompted by Bruno Haible.
52133
52134 2009-02-04  Jim Meyering  <meyering@redhat.com>
52135
52136         fsusage.c: correct copyright year
52137         * lib/fsusage.c: Reflect year in which the change is pushed into
52138
52139         avoid misc. warnings
52140         * lib/fsusage.c (UNUSED_PARAM): Define.
52141         (get_fs_usage): Mark parameter "disk" as unused.
52142         * lib/getugroups.c (getgrent): Use "void" in prototype.
52143         * lib/mountlist.c: Mark unused parameters.
52144         (read_file_system_list): Declare a local with "const".
52145         * lib/nanosleep.c (getnow): Declare static.
52146         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
52147
52148         dirfd: set errno upon failure
52149         * lib/dirfd.c: Include <errno.h>.
52150         Set errno to ENOTSUP when returning -1.
52151         * modules/dirfd (Depends-on): Add errno.
52152         Suggested by John Kodis <kodis@comcast.net>.
52153
52154 2009-02-01  Bruno Haible  <bruno@clisp.org>
52155
52156         Don't assume sizeof (long) >= sizeof (void *).
52157         * lib/memcmp.c: Include stdint.h.
52158         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
52159         srcp2 to 'const byte *'.
52160         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
52161         types to uintptr_t.
52162         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
52163         * modules/memcmp (Depends-on): Add stdint.
52164         Reported by Ozkan Sezer <sezeroz@gmail.com>.
52165
52166 2009-01-30  Eric Blake  <ebb9@byu.net>
52167
52168         fix more require-before-expand issues
52169         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
52170         expand, AC_PROG_AWK.
52171         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
52172
52173 2009-01-28  Eric Blake  <ebb9@byu.net>
52174
52175         version-etc: use consistent URL formatting
52176         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
52177         Improve formatting.  Use fputs for string without %.
52178
52179 2009-01-28  Jim Meyering  <meyering@redhat.com>
52180
52181         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
52182         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
52183         "underquoted definition of NAME" from autoconf-2.59.
52184
52185 2009-01-28  Bruno Haible  <bruno@clisp.org>
52186
52187         * doc/gnulib.texi: Add "Obsolete modules" to index.
52188
52189 2009-01-28  Jim Meyering  <meyering@redhat.com>
52190
52191         useless-if-before-free: recognize more variants
52192         * build-aux/useless-if-before-free: Also recognize e.g.,
52193         if (NULL != p) free (p);
52194
52195 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
52196
52197         test-getaddrinfo: skip (don't fail) this test when there's no network
52198         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
52199         on the presumption that it means you lack network access.
52200
52201 2009-01-26  Jim Meyering  <meyering@redhat.com>
52202
52203         fflush: avoid warnings on modern systems
52204         * lib/fflush.c (rpl_fflush): Move declarations of locals,
52205         pos and result, into scopes where they're used.
52206
52207 2009-01-26  Eric Blake  <ebb9@byu.net>
52208
52209         Silence warning reintroduced by recent extensions patch.
52210         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
52211         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
52212         autoconf.
52213
52214         Backport improved autoconf semantics of AC_DEFUN_ONCE.
52215         * m4/00gnulib.m4: New file.
52216         * gnulib-tool (func_get_filelist): Always use it.
52217         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
52218         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
52219
52220 2009-01-25  Bruno Haible  <bruno@clisp.org>
52221
52222         Make test-quotearg work on MacOS X and AIX.
52223         * tests/test-quotearg.sh: New file.
52224         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
52225         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
52226         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
52227         include <libintl.h>.
52228         (fake_locale): Remove variable.
52229         (gettext, dgettext, dcgettext): Remove functions.
52230         (main): Instead of setting a fake locale, set a real locale. Call
52231         textdomain and bindtextdomain.
52232         * modules/quotearg-tests (Files): Add the new files.
52233         (Depends-on): Add gettext, setenv, unsetenv.
52234         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
52235         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
52236         Augment TESTS_ENVIRONMENT.
52237
52238 2009-01-25  Bruno Haible  <bruno@clisp.org>
52239
52240         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
52241         fr_FR.ISO8859-1 locale on MacOS X.
52242         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
52243         ja_JP.eucJP locale on MacOS X.
52244         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
52245         zh_CN.GB18030 locale on MacOS X.
52246
52247 2009-01-25  Bruno Haible  <bruno@clisp.org>
52248
52249         Avoid link errors on MacOS X 10.3.
52250         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
52251         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
52252
52253 2009-01-25  Bruno Haible  <bruno@clisp.org>
52254
52255         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
52256         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
52257         * modules/pipe (Files): Remove m4/posix_spawn.m4.
52258         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
52259         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
52260         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
52261         posix_spawnattr_init, posix_spawnattr_setsigmask,
52262         posix_spawnattr_setflags, posix_spawnattr_destroy.
52263
52264         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
52265         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
52266         * modules/execute (Files): Remove m4/posix_spawn.m4.
52267         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
52268         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
52269         posix_spawnattr_init, posix_spawnattr_setsigmask,
52270         posix_spawnattr_setflags, posix_spawnattr_destroy.
52271
52272 2009-01-25  Bruno Haible  <bruno@clisp.org>
52273
52274         * lib/glthread/threadlib.c: Include <stdlib.h>.
52275
52276 2009-01-25  Bruno Haible  <bruno@clisp.org>
52277
52278         * lib/glthread/threadlib.c (dummy): New declaration.
52279
52280 2009-01-25  Bruno Haible  <bruno@clisp.org>
52281
52282         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
52283         multibyte characters also for the GB18030 encoding. Don't crash when
52284         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
52285
52286 2009-01-25  Bruno Haible  <bruno@clisp.org>
52287
52288         Avoid redefining 'struct random_data' on OSF/1 5.1.
52289         * lib/stdlib.in.h: Include <random.h> if it exists.
52290         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
52291         HAVE_RANDOM_H. Include <random.h> when testing whether
52292         'struct random_data' exists.
52293         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
52294
52295 2009-01-25  Bruno Haible  <bruno@clisp.org>
52296
52297         Don't install charset.alias on MacOS X >= 10.3.
52298         * lib/localcharset.c (DARWIN7): New macro.
52299         (get_charset_aliases): Hardcode the result for Darwin7.
52300         * modules/localcharset (install-exec-local): Don't install
52301         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
52302
52303 2009-01-25  Bruno Haible  <bruno@clisp.org>
52304
52305         Don't install charset.alias on mingw and Cygwin.
52306         * modules/localcharset (install-exec-local): Don't install
52307         charset.alias on mingw and Cygwin, if the file does not yet exist.
52308         The result for these platforms is hardcoded in localcharset.c.
52309
52310 2009-01-25  Bruno Haible  <bruno@clisp.org>
52311
52312         Make it possible again to use AC_GNU_SOURCE together with gnulib.
52313         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
52314         before requiring AC_USE_SYSTEM_EXTENSIONS.
52315
52316 2009-01-25  Jim Meyering  <meyering@redhat.com>
52317
52318         c-strtod: avoid warnings
52319         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
52320         "assignment discards qualifiers from pointer target type" warnings.
52321
52322 2009-01-24  Bruno Haible  <bruno@clisp.org>
52323
52324         Add support for non-UTF-8 locales on MacOS X.
52325         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
52326         canonical encodings. For Darwin 7 and newer, don't map traditional
52327         encodings to UTF-8.
52328         Reported by Vincent Lefevre <vincent@vinc17.org>
52329         at <http://savannah.gnu.org/bugs/?25235>.
52330
52331 2009-01-24  Bruno Haible  <bruno@clisp.org>
52332
52333         * doc/gnulib.texi (Obsolete modules): New section.
52334         Reported by Mike Frysinger <vapier@gentoo.org>.
52335
52336 2009-01-24  Bruno Haible  <bruno@clisp.org>
52337
52338         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
52339         (%.dvi): New rule.
52340
52341 2009-01-24  Bruno Haible  <bruno@clisp.org>
52342
52343         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
52344         Reported by Eric Blake.
52345
52346 2009-01-24  Bruno Haible  <bruno@clisp.org>
52347
52348         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
52349         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
52350         Reported by Gary V. Vaughan <gary@gnu.org>.
52351
52352 2009-01-24  Bruno Haible  <bruno@clisp.org>
52353
52354         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
52355
52356 2009-01-23  Bruno Haible  <bruno@clisp.org>
52357
52358         Make c-strtod, c-strtold usable in libraries.
52359         * lib/c-strtod.c: Include string.h instead of xalloc.h.
52360         (C_STRTOD): Call strdup instead of xstrdup.
52361         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
52362         * modules/c-strtold (Depends-on): Likewise.
52363         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
52364         * NEWS: Mention the change.
52365         Reported by Michael Gold <mgold@ncf.ca>.
52366
52367 2009-01-23  Jim Meyering  <meyering@redhat.com>
52368
52369         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
52370         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
52371         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
52372
52373 2009-01-23  Simon Josefsson  <simon@josefsson.org>
52374
52375         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
52376         GNU CoreUtils.
52377         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
52378         * modules/version-etc (Description): Update.
52379
52380 2009-01-22  Bruno Haible  <bruno@clisp.org>
52381
52382         Cache the C locale object.
52383         * lib/c-strtod.c (c_locale_cache): New variable.
52384         (c_locale): New function.
52385         (C_STRTOD): Use it, and don't call freelocale.
52386         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
52387         Suggested by Paolo Bonzini.
52388
52389 2009-01-21  Bruno Haible  <bruno@clisp.org>
52390
52391         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
52392         conditions other than overflow.
52393
52394 2009-01-21  Bruno Haible  <bruno@clisp.org>
52395
52396         * lib/c-strtod.c: Include errno.h.
52397         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
52398         value from STRTOD_L and STRTOD.
52399
52400 2009-01-21  Bruno Haible  <bruno@clisp.org>
52401         and Jim Meyering  <meyering@redhat.com>
52402
52403         nanosleep: skip configure test (fail it) for apple universal builds
52404         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
52405         universal builds, assume that nanosleep does not work.
52406         * modules/nanosleep (Depends-on): Add multiarch.
52407
52408         mktime: skip configure test (fail it) for apple universal builds
52409         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
52410         universal builds, assume that mktime does not work.
52411         * modules/mktime (Depends-on): Add multiarch.
52412
52413 2009-01-21  Eric Blake  <ebb9@byu.net>
52414
52415         multiarch: avoid expand-before-require warning
52416         * modules/multiarch (configure.ac): Require, rather than expand,
52417         gl_MULTIARCH.
52418         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
52419         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
52420         enforce that all clients require it.  Partial reversion of
52421         2008-12-29 patch.
52422
52423         error: avoid expand-before-require warning
52424         * modules/errno (configure.ac): Require, rather than expand,
52425         gl_HEADER_ERRNO_H.
52426         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
52427         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
52428         enforce that all clients require it.
52429
52430         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
52431         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
52432         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
52433         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
52434
52435 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
52436
52437         Revert:
52438         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
52439
52440         regex: do not depend on obsolete modules.
52441         * modules/regex: Remove memcmp and memmove.
52442
52443 2009-01-20  Bruno Haible  <bruno@clisp.org>
52444
52445         Make the 'link' module link on Windows NT 4.
52446         * lib/link.c (_WIN32_WINNT): Don't define.
52447         (CreateHardLinkFuncType): New type.
52448         (CreateHardLinkFunc, initialized): New variables.
52449         (initialize): New function.
52450         (link): Invoke CreateHardLink indirectly through the function pointer.
52451
52452 2009-01-20  Bruno Haible  <bruno@clisp.org>
52453
52454         Fix compilation failure on mingw.
52455         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
52456
52457 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
52458
52459         * doc/c-strtod.texi: Mention a couple of restrictions.
52460
52461 2009-01-20  Jim Meyering  <meyering@redhat.com>
52462
52463         gettimeofday: move more declarations out of functions
52464         * lib/gettimeofday.c: Move extern declarations of tzset and
52465         gmtime out of containing functions.  Prompted by Bruno Haible.
52466
52467 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
52468
52469         regex: do not depend on obsolete modules.
52470         * modules/regex: Remove memcmp and memmove.
52471
52472 2009-01-19  Bruno Haible  <bruno@clisp.org>
52473
52474         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
52475         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
52476         gl_BIGENDIAN, not AC_C_BIGENDIAN.
52477         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
52478         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
52479
52480 2009-01-19  Bruno Haible  <bruno@clisp.org>
52481
52482         * tests/test-link.c: Include <errno.h>.
52483         (main): Exit with code 77 when a hard link cannot be created due to
52484         the file system.
52485         * tests/test-link.sh: Skip test when a hard link cannot be created due
52486         to the file system.
52487         Suggested by Eric Blake.
52488
52489 2009-01-19  Martin Lambers  <marlam@marlam.de>
52490
52491         * modules/link-tests: New file.
52492         * tests/test-link.sh: New file.
52493         * tests/test-link.c: New file.
52494
52495 2009-01-19  Eric Blake  <ebb9@byu.net>
52496
52497         doc: mention another function added in cygwin 1.7.0
52498         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
52499         Another new function in cygwin 1.7.
52500
52501 2009-01-19  Bruno Haible  <bruno@clisp.org>
52502
52503         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
52504         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
52505         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
52506         gl_BIGENDIAN, not AC_C_BIGENDIAN.
52507         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
52508         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
52509         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
52510         * m4/md4.m4 (gl_MD4): Likewise.
52511         * m4/md5.m4 (gl_MD5): Likewise.
52512         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
52513         * m4/sha1.m4 (gl_SHA1): Likewise.
52514         * m4/sha256.m4 (gl_SHA256): Likewise.
52515         * m4/sha512.m4 (gl_SHA512): Likewise.
52516
52517 2009-01-19  Bruno Haible  <bruno@clisp.org>
52518
52519         * modules/uniname/uniname-tests (Depends-on): Add progname.
52520         * tests/uniname/test-uninames.c: Include progname.h.
52521         (main): Call set_program_name.
52522
52523         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
52524         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
52525         (main): Call set_program_name.
52526
52527         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
52528         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
52529         (main): Call set_program_name.
52530
52531         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
52532         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
52533         (main): Call set_program_name.
52534
52535         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
52536         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
52537         (main): Call set_program_name.
52538
52539         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
52540         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
52541         (main): Call set_program_name.
52542
52543         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
52544         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
52545         (main): Call set_program_name.
52546
52547         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
52548         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
52549         (main): Call set_program_name.
52550
52551         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
52552         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
52553         (main): Call set_program_name.
52554
52555 2009-01-19  Eric Blake  <ebb9@byu.net>
52556
52557         test-unistd: test previous patch
52558         * tests/test-unistd.c: Test *_FILENO macros.
52559
52560         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
52561         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
52562         Guarantee a definition.
52563         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
52564         * modules/unistd-safer (Depends-on): Add dependency on unistd.
52565         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
52566         * lib/dup-safer.c (STDERR_FILENO): Likewise.
52567         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
52568         Likewise.
52569         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
52570         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
52571         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
52572         Likewise.
52573         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
52574         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
52575         (STDERR_FILENO): Likewise.
52576         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
52577         (STDERR_FILENO): Likewise.
52578         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
52579         (STDERR_FILENO): Likewise.
52580         Reported by Elbert Pol.
52581
52582 2009-01-19  Eric Blake  <ebb9@byu.net>
52583
52584         doc: mention more functions added in cygwin 1.7.0
52585         * doc/posix-functions/abort.texi (abort): Update wording related
52586         to cygwin.
52587         * doc/posix-functions/daylight.texi (daylight): Likewise.
52588         * doc/posix-functions/optarg.texi (optarg): Likewise.
52589         * doc/posix-functions/optarg.texi (opterr): Likewise.
52590         * doc/posix-functions/optarg.texi (optind): Likewise.
52591         * doc/posix-functions/optarg.texi (optopt): Likewise.
52592         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
52593         worked in 1.5.x, and was withdrawn in 1.7.
52594         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
52595         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
52596         cygwin versions.
52597         * doc/posix-functions/perror.texi (perror): Likewise.
52598         * doc/posix-functions/printf.texi (printf): Likewise.
52599         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
52600         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
52601         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
52602         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
52603         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
52604         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
52605         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
52606         Likewise.
52607         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
52608         Likewise.
52609         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
52610         this function.
52611         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
52612         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
52613         Likewise.
52614         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
52615         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
52616         * doc/posix-functions/confstr.texi (confstr): Likewise.
52617         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
52618         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
52619         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
52620         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
52621         * doc/posix-functions/fputws.texi (fputws): Likewise.
52622         * doc/posix-functions/fwide.texi (fwide): Likewise.
52623         * doc/posix-functions/getwc.texi (getwc): Likewise.
52624         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
52625         * doc/posix-functions/putwc.texi (putwc): Likewise.
52626         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
52627         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
52628         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
52629         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
52630         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
52631         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
52632         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
52633         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
52634         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
52635         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
52636         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
52637
52638 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
52639
52640         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
52641         * lib/ioctl.c: Include <sys/ioctl.h>.
52642
52643 2009-01-19  Simon Josefsson  <simon@josefsson.org>
52644
52645         * modules/getdate-tests (Depends-on): Add progname.
52646         * tests/test-getdate.c: Use progname module, to avoid link errors
52647         on non-glibc systems.
52648
52649 2009-01-18  Simon Josefsson  <simon@josefsson.org>
52650
52651         * modules/filenamecat-tests (Depends-on): Add progname.
52652         * modules/fstrcmp-tests (Depends-on): Likewise.
52653
52654         * tests/test-filenamecat.c: Use progname module, to avoid link
52655         errors on non-glibc systems.
52656         * tests/test-fstrcmp.c: Likewise.
52657
52658 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
52659
52660         gettimeofday: avoid warning: nested extern declaration of 'localtime'
52661         * lib/gettimeofday.c: Move extern declaration out of function.
52662
52663 2009-01-18  Bruno Haible  <bruno@clisp.org>
52664
52665         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
52666         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
52667         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
52668
52669 2009-01-18  Bruno Haible  <bruno@clisp.org>
52670
52671         * lib/strftime.c (MEMPCPY): Remove unused macro.
52672         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
52673
52674 2009-01-18  Martin Lambers  <marlam@marlam.de>
52675
52676         New module 'link'.
52677         * lib/unistd.in.h (link): New declaration.
52678         * lib/link.c: New file.
52679         * m4/link.m4: New file.
52680         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
52681         HAVE_LINK.
52682         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
52683         * modules/link: New file.
52684         * doc/posix-functions/link.texi: Mention the new module.
52685
52686 2009-01-18  Bruno Haible  <bruno@clisp.org>
52687
52688         * tests/test-avltree_list.c (main): Call set_program_name.
52689         * tests/test-avltree_oset.c (main): Likewise.
52690         * tests/test-obstack-printf.c: Include progname.h.
52691         (main): Call set_program_name.
52692         * tests/test-quotearg.c: Include progname.h.
52693         (main): Call set_program_name.
52694         * tests/test-xmemdup0.c: Include progname.h.
52695         (main): Call set_program_name.
52696
52697 2009-01-18  Bruno Haible  <bruno@clisp.org>
52698
52699         New module 'alphasort'.
52700         * lib/dirent.in.h (alphasort): New declaration.
52701         * lib/alphasort.c: New file, from glibc with modifications.
52702         * m4/alphasort.m4: New file.
52703         * modules/alphasort: New file.
52704         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
52705         HAVE_ALPHASORT.
52706         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
52707         HAVE_ALPHASORT.
52708         * doc/posix-functions/alphasort.texi: Mention the new module and the
52709         portability problems.
52710
52711 2009-01-18  Bruno Haible  <bruno@clisp.org>
52712
52713         New module 'scandir'.
52714         * lib/dirent.in.h (scandir): New declaration.
52715         * lib/scandir.c: New file, from glibc with modifications.
52716         * m4/scandir.m4: New file.
52717         * modules/scandir: New file.
52718         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
52719         HAVE_SCANDIR.
52720         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
52721         HAVE_SCANDIR.
52722         * doc/posix-functions/scandir.texi: Mention the new module and the
52723         portability problems.
52724
52725 2009-01-17  Bruno Haible  <bruno@clisp.org>
52726
52727         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
52728         Update documentation.
52729         (func_remove_suffix): Escape all dots in the suffix. Update
52730         documentation.
52731         (func_filter_filelist): Update documentation.
52732         Reported by Ralf Wildenhues.
52733
52734 2009-01-17  Bruno Haible  <bruno@clisp.org>
52735
52736         * modules/dprintf-posix-tests: New file.
52737         * tests/test-dprintf-posix.sh: New file.
52738         * tests/test-dprintf-posix.c: New file.
52739
52740         New modules 'dprintf', 'dprintf-posix'.
52741         * lib/stdio.in.h (dprintf): New declaration.
52742         * lib/dprintf.c: New file.
52743         * m4/dprintf.m4: New file.
52744         * m4/dprintf-posix.m4: New file.
52745         * modules/dprintf: New file.
52746         * modules/dprintf-posix: New file.
52747         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
52748         HAVE_DPRINTF, REPLACE_DPRINTF.
52749         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
52750         HAVE_DPRINTF, REPLACE_DPRINTF.
52751         * doc/posix-functions/dprintf.texi: Mention the new modules.
52752
52753 2009-01-17  Bruno Haible  <bruno@clisp.org>
52754
52755         * modules/vdprintf-posix-tests: New file.
52756         * tests/test-vdprintf-posix.sh: New file.
52757         * tests/test-vdprintf-posix.c: New file.
52758
52759         New modules 'vdprintf', 'vdprintf-posix'.
52760         * lib/stdio.in.h (vdprintf): New declaration.
52761         * lib/vdprintf.c: New file.
52762         * m4/vdprintf.m4: New file.
52763         * m4/vdprintf-posix.m4: New file.
52764         * modules/vdprintf: New file.
52765         * modules/vdprintf-posix: New file.
52766         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
52767         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52768         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
52769         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52770         * doc/posix-functions/vdprintf.texi: Mention the new modules.
52771
52772 2009-01-17  Bruno Haible  <bruno@clisp.org>
52773
52774         Fix replacement of fopen on mingw.
52775         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
52776         mingw.
52777
52778 2009-01-17  Bruno Haible  <bruno@clisp.org>
52779
52780         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
52781         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
52782
52783 2009-01-17  Bruno Haible  <bruno@clisp.org>
52784
52785         Avoid test-fflush2.sh failure on mingw.
52786         * tests/test-fflush2.c: Include binary-io.h.
52787         (main): Put standard input into binary mode.
52788         * modules/fflush-tests (Depends-on): Add binary-io.
52789
52790 2009-01-17  Bruno Haible  <bruno@clisp.org>
52791
52792         * lib/wchar.in.h: In another particular situation, include only the
52793         system's <wchar.h> file.
52794         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
52795         Reported by Albert Chin-A-Young <china@thewrittenword.com>
52796         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
52797
52798 2009-01-17  Bruno Haible  <bruno@clisp.org>
52799
52800         Support for stripping executables in --enable-relocatable.
52801         * build-aux/install-reloc: Expect one more argument, or an environment
52802         variable RELOC_STRIP_PROG. If set, strip the destination program and
52803         its wrapper.
52804         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
52805         RELOC_STRIP_PROG.
52806         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
52807         to set RELOCATABLE_STRIP.
52808         * NEWS: Mention the new Makefile requirement.
52809
52810 2009-01-17  Bruno Haible  <bruno@clisp.org>
52811
52812         * build-aux/install-reloc: Remove debugging information left over by
52813         C compiler on MacOS X.
52814
52815 2009-01-17  Bruno Haible  <bruno@clisp.org>
52816
52817         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
52818         * lib/progreloc.c (find_executable): Fix type of pointer passed to
52819         _NSGetExecutablePath.
52820
52821 2009-01-16  Jim Meyering  <meyering@redhat.com>
52822
52823         strerror: avoid warnings about discarding "const"
52824         * lib/strerror.c (rpl_strerror): Instead of returning a const
52825         string from each and every "case", use a variable, and add a single
52826         cast after the switch.
52827
52828 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
52829
52830         * lib/arpa_inet.in.h: Add extern "C" block for C++.
52831
52832 2009-01-16  Bruno Haible  <bruno@clisp.org>
52833
52834         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
52835         array initializer syntax that also works in C++ mode.
52836         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52837
52838 2009-01-16  Jim Meyering  <meyering@redhat.com>
52839
52840         poll: suppress a warning
52841         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
52842         to ignore "...unsigned expression < 0 is always false" warnings.
52843
52844 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
52845
52846         poll: remove declarations of unused variables
52847         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
52848         sockbuf and optlen.
52849
52850 2009-01-15  Bruno Haible  <bruno@clisp.org>
52851
52852         Make fflush-after-ungetc POSIX compliant on BSD systems.
52853         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
52854         (clear_ungetc_buffer): Implement also for other systems.
52855         (rpl_fflush): On glibc systems, invoke
52856         clear_ungetc_buffer_preserving_position. Otherwise, invoke
52857         clear_ungetc_buffer after fetching the stream's position, not before.
52858
52859 2009-01-15  Bruno Haible  <bruno@clisp.org>
52860
52861         Make fflush-after-ungetc POSIX compliant on glibc systems.
52862         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
52863         after ungetc.
52864         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
52865         (rpl_fflush): On glibc systems, simply call the system's fflush
52866         function after clearing the ungetc buffer.
52867         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
52868         Instead, lseek only to the end of file, then use the system's fseeko
52869         for the rest. On glibc systems, reset the EOF indicator bit.
52870
52871 2009-01-15  Jim Meyering  <meyering@redhat.com>
52872
52873         openmp.m4: revert quote-adding change, for portability to older autoconf
52874         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
52875         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
52876         Simon Josefsson noticed the problem when using autoconf-2.61.
52877
52878 2009-01-15  Bruno Haible  <bruno@clisp.org>
52879
52880         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
52881         * tests/test-fflush2.c (ASSERT): Always fail.
52882         (main): Add two tests for fflush() after ungetc(), taking into account
52883         the Austin Group's clarification.
52884         Suggested by Eric Blake.
52885
52886 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
52887
52888         mktime.m4: remove K&R-style function prototypes
52889         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
52890         for the Sun C++ compiler.
52891
52892 2009-01-14  Bruno Haible  <bruno@clisp.org>
52893
52894         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
52895         while including <wchar.h>.
52896         * lib/wchar.in.h: In two particular situations on HP-UX, include only
52897         the system's <wchar.h> file.
52898         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52899
52900 2009-01-14  Bruno Haible  <bruno@clisp.org>
52901
52902         * m4/csharp.m4: Don't mention gettext on the serial number line.
52903         * m4/csharpexec.m4: Likewise.
52904         * m4/eaccess.m4: Likewise.
52905         * m4/javaexec.m4: Likewise.
52906         * m4/sig_atomic_t.m4: Likewise.
52907         * m4/tmpdir.m4: Likewise.
52908         * m4/intldir.m4: Bump gettext version.
52909         * m4/lib-ld.m4: Likewise.
52910
52911 2009-01-14  Bruno Haible  <bruno@clisp.org>
52912
52913         * lib/progname.c (set_program_name): Add more comments.
52914         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
52915
52916 2009-01-14  Simon Josefsson  <simon@josefsson.org>
52917
52918         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
52919         were sys/stat.h does not define it.
52920
52921 2009-01-14  Jim Meyering  <meyering@redhat.com>
52922
52923         many *.m4 files: improve m4 quoting
52924         99% of this change was performed by running the following commands:
52925         git ls-files | grep '\.m4$' | xargs perl -pi \
52926           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
52927           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52928           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52929           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
52930         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
52931         The remainder were to add Copyright dates, increment serial numbers,
52932         undo some changes in comments, exclude m4/intl.m4, and add quotes
52933         around the "1" in ",1" where the unusual spacing prohibited the
52934         above regexps from doing the job.  For more details, see
52935         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
52936         * m4/acl.m4: Modified.
52937         * m4/afs.m4: Likewise.
52938         * m4/alloca.m4: Likewise.
52939         * m4/argp.m4: Likewise.
52940         * m4/argz.m4: Likewise.
52941         * m4/atexit.m4: Likewise.
52942         * m4/bison-i18n.m4: Likewise.
52943         * m4/bison.m4: Likewise.
52944         * m4/byteswap.m4: Likewise.
52945         * m4/c-stack.m4: Likewise.
52946         * m4/c-strtod.m4: Likewise.
52947         * m4/calloc.m4: Likewise.
52948         * m4/canonicalize-lgpl.m4: Likewise.
52949         * m4/chown.m4: Likewise.
52950         * m4/clock_time.m4: Likewise.
52951         * m4/codeset.m4: Likewise.
52952         * m4/copy-file.m4: Likewise.
52953         * m4/csharp.m4: Likewise.
52954         * m4/csharpcomp.m4: Likewise.
52955         * m4/csharpexec.m4: Likewise.
52956         * m4/d-ino.m4: Likewise.
52957         * m4/d-type.m4: Likewise.
52958         * m4/dirfd.m4: Likewise.
52959         * m4/double-slash-root.m4: Likewise.
52960         * m4/eaccess.m4: Likewise.
52961         * m4/eealloc.m4: Likewise.
52962         * m4/environ.m4: Likewise.
52963         * m4/errno_h.m4: Likewise.
52964         * m4/euidaccess.m4: Likewise.
52965         * m4/execute.m4: Likewise.
52966         * m4/fatal-signal.m4: Likewise.
52967         * m4/fchdir.m4: Likewise.
52968         * m4/fcntl_h.m4: Likewise.
52969         * m4/fileblocks.m4: Likewise.
52970         * m4/filenamecat.m4: Likewise.
52971         * m4/findprog.m4: Likewise.
52972         * m4/flexmember.m4: Likewise.
52973         * m4/fnmatch.m4: Likewise.
52974         * m4/fopen.m4: Likewise.
52975         * m4/fpending.m4: Likewise.
52976         * m4/fprintf-posix.m4: Likewise.
52977         * m4/free.m4: Likewise.
52978         * m4/frexp.m4: Likewise.
52979         * m4/frexpl.m4: Likewise.
52980         * m4/fsusage.m4: Likewise.
52981         * m4/ftruncate.m4: Likewise.
52982         * m4/gc-camellia.m4: Likewise.
52983         * m4/gc-random.m4: Likewise.
52984         * m4/gc.m4: Likewise.
52985         * m4/getaddrinfo.m4: Likewise.
52986         * m4/getcwd-abort-bug.m4: Likewise.
52987         * m4/getcwd-path-max.m4: Likewise.
52988         * m4/getdate.m4: Likewise.
52989         * m4/getdomainname.m4: Likewise.
52990         * m4/getgroups.m4: Likewise.
52991         * m4/gethostname.m4: Likewise.
52992         * m4/gethrxtime.m4: Likewise.
52993         * m4/getline.m4: Likewise.
52994         * m4/getloadavg.m4: Likewise.
52995         * m4/getndelim2.m4: Likewise.
52996         * m4/getpass.m4: Likewise.
52997         * m4/gettext.m4: Likewise.
52998         * m4/gettime.m4: Likewise.
52999         * m4/gettimeofday.m4: Likewise.
53000         * m4/gnulib-common.m4: Likewise.
53001         * m4/group-member.m4: Likewise.
53002         * m4/host-os.m4: Likewise.
53003         * m4/iconv.m4: Likewise.
53004         * m4/iconv_open.m4: Likewise.
53005         * m4/inet_ntop.m4: Likewise.
53006         * m4/inet_pton.m4: Likewise.
53007         * m4/inline.m4: Likewise.
53008         * m4/intldir.m4: Likewise.
53009         * m4/intlmacosx.m4: Likewise.
53010         * m4/intmax.m4: Likewise.
53011         * m4/intmax_t.m4: Likewise.
53012         * m4/inttypes.m4: Likewise.
53013         * m4/inttypes_h.m4: Likewise.
53014         * m4/inttypes-pri.m4: Likewise.
53015         * m4/isapipe.m4: Likewise.
53016         * m4/isnand.m4: Likewise.
53017         * m4/isnanf.m4: Likewise.
53018         * m4/isnanl.m4: Likewise.
53019         * m4/javacomp.m4: Likewise.
53020         * m4/javaexec.m4: Likewise.
53021         * m4/jm-winsz1.m4: Likewise.
53022         * m4/jm-winsz2.m4: Likewise.
53023         * m4/lchown.m4: Likewise.
53024         * m4/lcmessage.m4: Likewise.
53025         * m4/ldexpl.m4: Likewise.
53026         * m4/lib-ld.m4: Likewise.
53027         * m4/lib-link.m4: Likewise.
53028         * m4/libsigsegv.m4: Likewise.
53029         * m4/link-follow.m4: Likewise.
53030         * m4/localcharset.m4: Likewise.
53031         * m4/locale-fr.m4: Likewise.
53032         * m4/locale-ja.m4: Likewise.
53033         * m4/locale-tr.m4: Likewise.
53034         * m4/locale-zh.m4: Likewise.
53035         * m4/lock.m4: Likewise.
53036         * m4/longlong.m4: Likewise.
53037         * m4/ls-mntd-fs.m4: Likewise.
53038         * m4/lstat.m4: Likewise.
53039         * m4/malloc.m4: Likewise.
53040         * m4/mathl.m4: Likewise.
53041         * m4/mbrtowc.m4: Likewise.
53042         * m4/mbstate_t.m4: Likewise.
53043         * m4/mbswidth.m4: Likewise.
53044         * m4/memchr.m4: Likewise.
53045         * m4/memcmp.m4: Likewise.
53046         * m4/memcpy.m4: Likewise.
53047         * m4/memmem.m4: Likewise.
53048         * m4/memmove.m4: Likewise.
53049         * m4/mempcpy.m4: Likewise.
53050         * m4/memrchr.m4: Likewise.
53051         * m4/memset.m4: Likewise.
53052         * m4/minmax.m4: Likewise.
53053         * m4/mkdir-slash.m4: Likewise.
53054         * m4/mkdtemp.m4: Likewise.
53055         * m4/mktime.m4: Likewise.
53056         * m4/mmap-anon.m4: Likewise.
53057         * m4/mountlist.m4: Likewise.
53058         * m4/nanosleep.m4: Likewise.
53059         * m4/nls.m4: Likewise.
53060         * m4/nocrash.m4: Likewise.
53061         * m4/open.m4: Likewise.
53062         * m4/openat.m4: Likewise.
53063         * m4/openmp.m4: Likewise.
53064         * m4/pathmax.m4: Likewise.
53065         * m4/perl.m4: Likewise.
53066         * m4/physmem.m4: Likewise.
53067         * m4/pipe.m4: Likewise.
53068         * m4/po.m4: Likewise.
53069         * m4/poll.m4: Likewise.
53070         * m4/posixtm.m4: Likewise.
53071         * m4/posixver.m4: Likewise.
53072         * m4/printf-frexp.m4: Likewise.
53073         * m4/printf-frexpl.m4: Likewise.
53074         * m4/printf-posix.m4: Likewise.
53075         * m4/printf-posix-rpl.m4: Likewise.
53076         * m4/printf.m4: Likewise.
53077         * m4/progtest.m4: Likewise.
53078         * m4/putenv.m4: Likewise.
53079         * m4/readline.m4: Likewise.
53080         * m4/readlink.m4: Likewise.
53081         * m4/readutmp.m4: Likewise.
53082         * m4/realloc.m4: Likewise.
53083         * m4/regex.m4: Likewise.
53084         * m4/relocatable.m4: Likewise.
53085         * m4/relocatable-lib.m4: Likewise.
53086         * m4/rename-dest-slash.m4: Likewise.
53087         * m4/rename.m4: Likewise.
53088         * m4/rmdir-errno.m4: Likewise.
53089         * m4/rmdir.m4: Likewise.
53090         * m4/roundf.m4: Likewise.
53091         * m4/roundl.m4: Likewise.
53092         * m4/rpmatch.m4: Likewise.
53093         * m4/save-cwd.m4: Likewise.
53094         * m4/selinux-selinux-h.m4: Likewise.
53095         * m4/setenv.m4: Likewise.
53096         * m4/settime.m4: Likewise.
53097         * m4/sig2str.m4: Likewise.
53098         * m4/sig_atomic_t.m4: Likewise.
53099         * m4/signalblocking.m4: Likewise.
53100         * m4/signbit.m4: Likewise.
53101         * m4/sigpipe.m4: Likewise.
53102         * m4/sockets.m4: Likewise.
53103         * m4/sockpfaf.m4: Likewise.
53104         * m4/st_dm_mode.m4: Likewise.
53105         * m4/stat-time.m4: Likewise.
53106         * m4/stdbool.m4: Likewise.
53107         * m4/stdint.m4: Likewise.
53108         * m4/stdint_h.m4: Likewise.
53109         * m4/stpcpy.m4: Likewise.
53110         * m4/stpncpy.m4: Likewise.
53111         * m4/strcase.m4: Likewise.
53112         * m4/strchrnul.m4: Likewise.
53113         * m4/strcspn.m4: Likewise.
53114         * m4/strdup.m4: Likewise.
53115         * m4/strftime.m4: Likewise.
53116         * m4/strndup.m4: Likewise.
53117         * m4/strnlen.m4: Likewise.
53118         * m4/strpbrk.m4: Likewise.
53119         * m4/strptime.m4: Likewise.
53120         * m4/strsep.m4: Likewise.
53121         * m4/strtod.m4: Likewise.
53122         * m4/strtoimax.m4: Likewise.
53123         * m4/strtok_r.m4: Likewise.
53124         * m4/strtol.m4: Likewise.
53125         * m4/strtoll.m4: Likewise.
53126         * m4/strtoul.m4: Likewise.
53127         * m4/strtoull.m4: Likewise.
53128         * m4/strtoumax.m4: Likewise.
53129         * m4/strverscmp.m4: Likewise.
53130         * m4/threadlib.m4: Likewise.
53131         * m4/timegm.m4: Likewise.
53132         * m4/tm_gmtoff.m4: Likewise.
53133         * m4/tmpdir.m4: Likewise.
53134         * m4/tmpfile.m4: Likewise.
53135         * m4/tzset.m4: Likewise.
53136         * m4/uintmax_t.m4: Likewise.
53137         * m4/unlinkdir.m4: Likewise.
53138         * m4/unlocked-io.m4: Likewise.
53139         * m4/uptime.m4: Likewise.
53140         * m4/userspec.m4: Likewise.
53141         * m4/utimbuf.m4: Likewise.
53142         * m4/utime.m4: Likewise.
53143         * m4/utimes-null.m4: Likewise.
53144         * m4/utimes.m4: Likewise.
53145         * m4/vararrays.m4: Likewise.
53146         * m4/vasnprintf.m4: Likewise.
53147         * m4/vfprintf-posix.m4: Likewise.
53148         * m4/vprintf-posix.m4: Likewise.
53149         * m4/wait-process.m4: Likewise.
53150         * m4/wchar_t.m4: Likewise.
53151         * m4/wint_t.m4: Likewise.
53152         * m4/write-any-file.m4: Likewise.
53153         * m4/yield.m4: Likewise.
53154
53155 2009-01-13  Bruno Haible  <bruno@clisp.org>
53156
53157         Avoid test-copy-file.sh failures when ACL support insufficient.
53158         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
53159         TESTS_ENVIRONMENT.
53160         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
53161         Reported by Jim Meyering.
53162
53163 2009-01-13  Bruno Haible  <bruno@clisp.org>
53164
53165         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
53166         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
53167         * modules/unistdio/u8-printf-parse (Files): Likewise.
53168         * modules/unistdio/u32-printf-parse (Files): Likewise.
53169         * modules/unistdio/ulc-printf-parse (Files): Likewise.
53170
53171 2009-01-13  Simon Josefsson  <simon@josefsson.org>
53172
53173         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
53174         and m4/inttypes_h.m4 too.
53175
53176 2009-01-12  Eric Blake  <ebb9@byu.net>
53177
53178         tests: IRIX 6.2 cc can't compile -0.0 into .data
53179         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
53180         rather than at compile-time.
53181         * tests/test-floorl.c (minus_zero): Likewise.
53182         * tests/test-frexpl.c (minus_zero): Likewise.
53183         * tests/test-isnan.c (minus_zerol): Likewise.
53184         * tests/test-isnanl.h (minus_zero): Likewise.
53185         * tests/test-ldexpl.c (minus_zero): Likewise.
53186         * tests/test-roundl.c (minus_zero): Likewise.
53187         * tests/test-signbit.c (minus_zerol): Likewise.
53188         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
53189         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
53190         * tests/test-truncl.c (minus_zero): Likewise.
53191         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
53192         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
53193         Reported by Tom G. Christensen and Nelson H. F. Beebe.
53194
53195 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
53196
53197         regex: fix glibc bug 9697
53198         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
53199         handling.
53200
53201 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
53202
53203         regex: fix glibc bug 697
53204         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
53205         being NULL also if there are no backreferences.
53206
53207 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
53208
53209         regex: merge glibc changes
53210         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
53211         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
53212         re_string_skip_chars, re_string_reconstruct): Likewise.
53213         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
53214
53215 2009-01-07  Jim Meyering  <meyering@redhat.com>
53216
53217         poll: filter through cppi
53218         * lib/poll.c: Indent cpp directives to reflect nesting.
53219
53220 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
53221
53222         poll: don't return uninitialized
53223         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
53224
53225 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
53226
53227         avoid compile failure on AIX 6.1
53228         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
53229         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
53230
53231 2009-01-04  Jim Meyering  <meyering@redhat.com>
53232
53233         remove duplicate inclusion of <stdio.h>
53234         * tests/test-fprintf-posix.c: Likewise.
53235         * tests/test-printf-posix.c: Likewise.
53236         * tests/test-snprintf-posix.c: Likewise.
53237         * tests/test-sprintf-posix.c: Likewise.
53238         * tests/test-vasprintf-posix.c: Likewise.
53239         * tests/test-vfprintf-posix.c: Likewise.
53240         * tests/test-vprintf-posix.c: Likewise.
53241         * tests/test-vsnprintf-posix.c: Likewise.
53242         * tests/test-vsprintf-posix.c: Likewise.
53243
53244 2009-01-03  Jim Meyering  <meyering@redhat.com>
53245
53246         gnulib-tool: fix sed-based filtering
53247         * gnulib-tool (func_filter_filelist): Remove extra backslash
53248         in sed_fff_filter definition.
53249
53250 2009-01-02  Jim Meyering  <meyering@redhat.com>
53251
53252         strftime: avoid compilation failure on Solaris 2.6
53253         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
53254         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
53255         Don't #define mbrlen or mbsinit, since now they're guaranteed to
53256         be available.  Reported by Tom G. Christensen.  Details in
53257         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
53258
53259 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53260             Bruno Haible  <bruno@clisp.org>
53261
53262         Speed up gnulib-tool by doing more string processing through shell
53263         built-ins.
53264         * gnulib-tool (fast_func_append): New variable.
53265         (func_remove_prefix, func_remove_suffix): New functions.
53266         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
53267         (func_filter_filelist): New function.
53268         (func_get_dependencies): Use func_remove_suffix instead of sed.
53269         (func_get_automake_snippet): Use func_filter_filelist instead of a
53270         subshell and sed invocation.
53271
53272 2009-01-01  Bruno Haible  <bruno@clisp.org>
53273
53274         Fix a security bug.
53275         * gnulib-tool (func_import, import, update): Don't allow the characters
53276         '"', '$', '`', '\' in macro arguments that become part of commands that
53277         are evaluated.
53278
53279 2009-01-01  Bruno Haible  <bruno@clisp.org>
53280
53281         * gnulib-tool (func_reset_sigpipe): Add more comments.
53282
53283 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53284
53285         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
53286         func_emit_tests_Makefile_am, func_import): Abort loops early if we
53287         already know the answer.
53288
53289 2009-01-01  Jim Meyering  <meyering@redhat.com>
53290
53291         * lib/version-etc.c (version_etc_va): Update copyright year.
53292
53293 2008-12-30  Bruno Haible  <bruno@clisp.org>
53294
53295         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
53296         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
53297         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
53298
53299 2008-12-29  Eric Blake  <ebb9@byu.net>
53300
53301         multiarch: avoid autoconf AC_REQUIRE bug
53302         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
53303         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
53304         2.63 and older.
53305         Reported by Bruno Haible, and analyzed in
53306         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
53307
53308 2008-12-29  Bruno Haible  <bruno@clisp.org>
53309
53310         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
53311         files in subdirectories correctly.
53312         Reported by Ralf Wildenhues.
53313
53314 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53315
53316         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
53317         rather than 'join FILE -', for Solaris join.
53318
53319 2008-12-29  Bruno Haible  <bruno@clisp.org>
53320
53321         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
53322         quoting.
53323         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
53324         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
53325         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
53326         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
53327         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
53328         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
53329         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
53330         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
53331         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
53332         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
53333         * m4/nls.m4 (AM_NLS): Likewise.
53334         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
53335         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
53336         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
53337         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
53338         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
53339         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
53340         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
53341         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
53342         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
53343         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
53344         * m4/xsize.m4 (gl_XSIZE): Likewise.
53345         Suggested by Jim Meyering.
53346
53347 2008-11-17  Bruce Korb  <bkorb@gnu.org>
53348
53349         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
53350         * lib/parse-duration.c: use a switch instead of cascading if's.
53351
53352 2008-12-29  Eric Blake  <ebb9@byu.net>
53353
53354         wchar.h: supply WEOF on Irix 5.3
53355         * lib/wchar.in.h (wint_t): Also supply WEOF.
53356         * lib/wctype.in.h (wint_t): Likewise.
53357         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
53358         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
53359         Reported by Tom G. Christensen.
53360
53361 2008-12-26  Bruno Haible  <bruno@clisp.org>
53362
53363         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
53364         i486, i586, i686.
53365
53366 2008-12-26  Bruno Haible  <bruno@clisp.org>
53367
53368         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
53369
53370 2008-12-26  Bruno Haible  <bruno@clisp.org>
53371
53372         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
53373         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
53374         not __STDC_CONSTANT_MACROS.
53375         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
53376
53377 2008-12-25  Bruno Haible  <bruno@clisp.org>
53378
53379         Add support for universal builds to vasnprintf.
53380         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
53381         universal builds, guess no.
53382         * modules/vasnprintf-posix (Depends-on): Add multiarch.
53383         * modules/vasprintf-posix (Depends-on): Likewise.
53384         * modules/fprintf-posix (Depends-on): Likewise.
53385         * modules/vfprintf-posix (Depends-on): Likewise.
53386         * modules/snprintf-posix (Depends-on): Likewise.
53387         * modules/vsnprintf-posix (Depends-on): Likewise.
53388         * modules/sprintf-posix (Depends-on): Likewise.
53389         * modules/vsprintf-posix (Depends-on): Likewise.
53390         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
53391         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
53392         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
53393         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
53394         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
53395         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
53396         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
53397
53398         Add support for universal builds to <inttypes.h>.
53399         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
53400         _SCNu64_PREFIX): In Apple
53401         universal builds, define directly, using _LP64.
53402         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
53403         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
53404         * modules/inttypes (Depends-on): Add multiarch.
53405         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
53406
53407         Add support for universal builds to <stdint.h>.
53408         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
53409         universal builds, define directly, using _LP64.
53410         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
53411         Apple universal builds, don't test for the size and suffix of ptrdiff_t
53412         and size_t.
53413         * modules/stdint (Depends-on): Add multiarch.
53414         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
53415
53416         New module 'multiarch'.
53417         * modules/multiarch: New file.
53418         * m4/multiarch.m4: New file.
53419
53420 2008-12-25  Bruno Haible  <bruno@clisp.org>
53421
53422         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
53423
53424 2008-12-25  Bruno Haible  <bruno@clisp.org>
53425
53426         * modules/btowc (License): Relicense under LGPLv2+.
53427         * modules/mbsinit (License): Likewise.
53428         * modules/mbrtowc (License): Likewise.
53429         * modules/wcrtomb (License): Likewise.
53430         * modules/streq (License): Likewise.
53431         Reported by David Lutterkort <lutter@redhat.com>.
53432
53433 2008-12-23  Bruno Haible  <bruno@clisp.org>
53434
53435         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
53436
53437 2008-12-23  Bruno Haible  <bruno@clisp.org>
53438
53439         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
53440         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
53441         GETADDRINFO_LIB, not in LIBS.
53442         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
53443         * modules/canon-host (Link): Likewise.
53444         * NEWS: Mention the change.
53445         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
53446         GETADDRINFO_LIB.
53447
53448 2008-12-22  Bruno Haible  <bruno@clisp.org>
53449
53450         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
53451         * doc/posix-functions/iswalpha_l.texi: Likewise.
53452         * doc/posix-functions/iswblank_l.texi: Likewise.
53453         * doc/posix-functions/iswcntrl_l.texi: Likewise.
53454         * doc/posix-functions/iswctype_l.texi: Likewise.
53455         * doc/posix-functions/iswdigit_l.texi: Likewise.
53456         * doc/posix-functions/iswgraph_l.texi: Likewise.
53457         * doc/posix-functions/iswlower_l.texi: Likewise.
53458         * doc/posix-functions/iswprint_l.texi: Likewise.
53459         * doc/posix-functions/iswpunct_l.texi: Likewise.
53460         * doc/posix-functions/iswspace_l.texi: Likewise.
53461         * doc/posix-functions/iswupper_l.texi: Likewise.
53462         * doc/posix-functions/iswxdigit_l.texi: Likewise.
53463         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
53464         * doc/posix-functions/open_wmemstream.texi: Likewise.
53465         * doc/posix-functions/swscanf.texi: Likewise.
53466         * doc/posix-functions/towctrans_l.texi: Likewise.
53467         * doc/posix-functions/towlower.texi: Likewise.
53468         * doc/posix-functions/towlower_l.texi: Likewise.
53469         * doc/posix-functions/towupper.texi: Likewise.
53470         * doc/posix-functions/towupper_l.texi: Likewise.
53471         * doc/posix-functions/vfwprintf.texi: Likewise.
53472         * doc/posix-functions/vfwscanf.texi: Likewise.
53473         * doc/posix-functions/vswscanf.texi: Likewise.
53474         * doc/posix-functions/vwprintf.texi: Likewise.
53475         * doc/posix-functions/vwscanf.texi: Likewise.
53476         * doc/posix-functions/wcpcpy.texi: Likewise.
53477         * doc/posix-functions/wcpncpy.texi: Likewise.
53478         * doc/posix-functions/wcscasecmp.texi: Likewise.
53479         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
53480         * doc/posix-functions/wcscoll_l.texi: Likewise.
53481         * doc/posix-functions/wcsdup.texi: Likewise.
53482         * doc/posix-functions/wcsncasecmp.texi: Likewise.
53483         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
53484         * doc/posix-functions/wcsnlen.texi: Likewise.
53485         * doc/posix-functions/wcsnrtombs.texi: Likewise.
53486         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
53487         * doc/posix-functions/wctrans_l.texi: Likewise.
53488         * doc/posix-functions/wctype_l.texi: Likewise.
53489         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
53490         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
53491         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
53492         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
53493         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
53494         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
53495         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
53496         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
53497         * doc/glibc-functions/wcschrnul.texi: Likewise.
53498         * doc/glibc-functions/wcsftime_l.texi: Likewise.
53499         * doc/glibc-functions/wcstod_l.texi: Likewise.
53500         * doc/glibc-functions/wcstof_l.texi: Likewise.
53501         * doc/glibc-functions/wcstol_l.texi: Likewise.
53502         * doc/glibc-functions/wcstold_l.texi: Likewise.
53503         * doc/glibc-functions/wcstoll_l.texi: Likewise.
53504         * doc/glibc-functions/wcstoq.texi: Likewise.
53505         * doc/glibc-functions/wcstoul_l.texi: Likewise.
53506         * doc/glibc-functions/wcstoull_l.texi: Likewise.
53507         * doc/glibc-functions/wcstouq.texi: Likewise.
53508         * doc/glibc-functions/wmempcpy.texi: Likewise.
53509
53510 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
53511             Eric Blake  <ebb9@byu.net>
53512             Paolo Bonzini  <bonzini@gnu.org>
53513             Bruno Haible  <bruno@clisp.org>
53514
53515         Make c-stack work on Haiku.
53516         * lib/c-stack.c (SA_ONSTACK): Define fallback.
53517         (c_stack_action): Use SA_ONSTACK flag.
53518
53519 2008-12-22  Bruno Haible  <bruno@clisp.org>
53520
53521         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
53522
53523 2008-12-22  Bruno Haible  <bruno@clisp.org>
53524
53525         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
53526         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
53527         being overridden.
53528         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
53529         New macros.
53530         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
53531         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
53532         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
53533         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
53534
53535 2008-12-22  Bruno Haible  <bruno@clisp.org>
53536
53537         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
53538         from test code.
53539
53540 2008-12-22  Eric Blake  <ebb9@byu.net>
53541
53542         Avoid gcc warnings on cygwin.
53543         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
53544         Avoid unused variable.
53545         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
53546         Likewise.
53547
53548 2008-12-22  Bruno Haible  <bruno@clisp.org>
53549
53550         Remove HAVE_MBRTOWC conditionals.
53551         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
53552         (mbscasecmp): Assume mbrtowc function.
53553         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
53554         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
53555         * lib/mbschr.c: Include mbuiter.h unconditionally.
53556         (mbschr): Assume mbrtowc function.
53557         * lib/mbscspn.c: Include mbuiter.h unconditionally.
53558         (mbscspn): Assume mbrtowc function.
53559         * lib/mbslen.c: Include mbuiter.h unconditionally.
53560         (mbslen): Assume mbrtowc function.
53561         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
53562         (mbsncasecmp): Assume mbrtowc function.
53563         * lib/mbsnlen.c: Include mbiter.h unconditionally.
53564         (mbsnlen): Assume mbrtowc function.
53565         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
53566         (mbspbrk): Assume mbrtowc function.
53567         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
53568         (mbspcasecmp): Assume mbrtowc function.
53569         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
53570         (mbsrchr): Assume mbrtowc function.
53571         * lib/mbssep.c: Include mbuiter.h unconditionally.
53572         (mbssep): Assume mbrtowc function.
53573         * lib/mbsspn.c: Include mbuiter.h unconditionally.
53574         (mbsspn): Assume mbrtowc function.
53575         * lib/mbsstr.c: Include mbuiter.h unconditionally.
53576         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
53577         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
53578         (mbstok_r): Assume mbrtowc function.
53579         * lib/propername.c: Include mbuiter.h unconditionally.
53580         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
53581         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
53582         (trim2): Assume mbrtowc function.
53583         * lib/mbswidth.c (mbsinit): Remove fallback definition.
53584         (mbsnwidth): Assume mbrtowc function.
53585         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
53586         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
53587         fallback definitions.
53588         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
53589
53590 2008-12-22  Bruno Haible  <bruno@clisp.org>
53591
53592         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
53593
53594 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
53595
53596         * modules/regex: Request emulations for the mb*/wc* functions we need.
53597         * m4/regex.m4: Don't look for those functions here.
53598         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
53599
53600 2008-12-22  Bruno Haible  <bruno@clisp.org>
53601
53602         * modules/fnmatch (Depends-on): Remove duplicated dependency.
53603
53604 2008-12-21  Bruno Haible  <bruno@clisp.org>
53605
53606         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
53607         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
53608         (Include): Remove conditionalization.
53609         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
53610         (Include): Remove conditionalization.
53611         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
53612         (Include): Remove conditionalization.
53613         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
53614         * m4/mbfile.m4 (gl_MBFILE): Likewise.
53615         * NEWS: Mention the change.
53616         Reported by Alan Hourihane <alanh@fairlite.co.uk>
53617         via Sergey Poznyakoff <gray@gnu.org.ua>.
53618
53619 2008-12-21  Bruno Haible  <bruno@clisp.org>
53620
53621         * MODULES.html.sh (Extended multibyte and wide character utilities
53622         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
53623         wcrtomb, wcsrtombs.
53624         (Support for systems lacking POSIX:2008): Add accept, bind, close,
53625         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
53626         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
53627         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
53628
53629 2008-12-21  Bruno Haible  <bruno@clisp.org>
53630
53631         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
53632
53633 2008-12-21  Bruno Haible  <bruno@clisp.org>
53634
53635         * modules/wcsnrtombs-tests: New file.
53636         * tests/test-wcsnrtombs1.sh: New file.
53637         * tests/test-wcsnrtombs2.sh: New file.
53638         * tests/test-wcsnrtombs3.sh: New file.
53639         * tests/test-wcsnrtombs4.sh: New file.
53640         * tests/test-wcsnrtombs.c: New file.
53641
53642         New module 'wcsnrtombs'.
53643         * lib/wchar.in.h (wcsnrtombs): New declaration.
53644         * lib/wcsnrtombs.c: New file.
53645         * lib/wcsrtombs-state.c: New file.
53646         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
53647         (internal_state): Remove variable.
53648         * m4/wcsnrtombs.m4: New file.
53649         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
53650         compilation units.
53651         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
53652         HAVE_WCSNRTOMBS.
53653         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
53654         HAVE_WCSNRTOMBS.
53655         * modules/wcsnrtombs: New file.
53656         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
53657         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
53658
53659 2008-12-21  Bruno Haible  <bruno@clisp.org>
53660
53661         * modules/wcsrtombs-tests: New file.
53662         * tests/test-wcsrtombs1.sh: New file.
53663         * tests/test-wcsrtombs2.sh: New file.
53664         * tests/test-wcsrtombs3.sh: New file.
53665         * tests/test-wcsrtombs4.sh: New file.
53666         * tests/test-wcsrtombs.c: New file.
53667
53668         New module 'wcsrtombs'.
53669         * lib/wchar.in.h (wcsrtombs): New declaration.
53670         * lib/wcsrtombs.c: New file.
53671         * m4/wcsrtombs.m4: New file.
53672         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
53673         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
53674         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
53675         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
53676         * modules/wcsrtombs: New file.
53677         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
53678         bugs.
53679
53680 2008-12-21  Bruno Haible  <bruno@clisp.org>
53681
53682         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
53683         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
53684         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
53685         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
53686         if not correct.
53687         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
53688         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
53689         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53690         m4/locale-zh.m4, m4/codeset.m4.
53691         * doc/posix-functions/wcrtomb.texi: Document the bug.
53692
53693 2008-12-21  Bruno Haible  <bruno@clisp.org>
53694
53695         Work around a btowc() bug on IRIX 6.5.
53696         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
53697         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
53698         REPLACE_WTOBC if not.
53699         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
53700         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
53701         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
53702
53703 2008-12-21  Bruno Haible  <bruno@clisp.org>
53704
53705         * modules/wcrtomb-tests: New file.
53706         * tests/test-wcrtomb.sh: New file.
53707         * tests/test-wcrtomb.c: New file.
53708
53709         New module 'wcrtomb'.
53710         * lib/wchar.in.h (wcrtomb): New declaration.
53711         * lib/wcrtomb.c: New file.
53712         * m4/wcrtomb.m4: New file.
53713         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
53714         HAVE_WCRTOMB.
53715         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
53716         HAVE_WCRTOMB.
53717         * modules/wcrtomb: New file.
53718         * doc/posix-functions/wcrtomb.texi: Mention the new module.
53719
53720 2008-12-21  Bruno Haible  <bruno@clisp.org>
53721
53722         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
53723         * modules/mbsrtowcs (Files): Likewise.
53724         * modules/wctob (Files): Likewise.
53725         * modules/c-strcase-tests (Files): Likewise.
53726         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
53727         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
53728         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
53729         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
53730         * modules/vasnprintf-posix-tests (Files): Likewise.
53731
53732 2008-12-21  William Pursell  <bill.pursell@gmail.com>
53733
53734         gitlog-to-changelog: pass all command-line arguments to git-log
53735         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
53736         it is sometimes convenient to filter the commits in various ways.
53737         gitlog-to-changelog only allows --since to specify a start date,
53738         but git-log itself supports many other filtering mechanisms.
53739         At the moment, I want to filter by branch name.  Rather than
53740         adding a --branch option to gitlog-to-changelog, it seems more
53741         flexible to simply pass all options directly to git-log and let
53742         git do the work.  Notice that this effectively makes --since a
53743         redundant option for gitlog-to-changelog, but removing it would
53744         require current usage to change since calls would then require
53745         an additional '--'.
53746
53747 2008-12-21  Bruno Haible  <bruno@clisp.org>
53748
53749         * modules/mbsnrtowcs-tests: New file.
53750         * tests/test-mbsnrtowcs1.sh: New file.
53751         * tests/test-mbsnrtowcs2.sh: New file.
53752         * tests/test-mbsnrtowcs3.sh: New file.
53753         * tests/test-mbsnrtowcs4.sh: New file.
53754         * tests/test-mbsnrtowcs.c: New file.
53755
53756         New module 'mbsnrtowcs'.
53757         * lib/wchar.in.h (mbsnrtowcs): New declaration.
53758         * lib/mbsnrtowcs.c: New file.
53759         * lib/mbsrtowcs-state.c: New file.
53760         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
53761         (internal_state): Remove variable.
53762         * m4/mbsnrtowcs.m4: New file.
53763         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
53764         compilation units.
53765         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
53766         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53767         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
53768         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53769         * modules/mbsnrtowcs: New file.
53770         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
53771         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
53772         portability problem.
53773
53774 2008-12-21  Bruno Haible  <bruno@clisp.org>
53775
53776         Work around mbsrtowcs bug.
53777         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
53778         (gl_FUNC_MBSRTOWCS): Invoke it.
53779         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53780         m4/locale-zh.m4.
53781         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
53782
53783 2008-12-21  Bruno Haible  <bruno@clisp.org>
53784
53785         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
53786
53787 2008-12-21  Bruno Haible  <bruno@clisp.org>
53788
53789         Update doc for AIX.
53790         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
53791         16-bit wchar_t type.
53792         * doc/posix-functions/btowc.texi: Likewise.
53793         * doc/posix-functions/fgetwc.texi: Likewise.
53794         * doc/posix-functions/fgetws.texi: Likewise.
53795         * doc/posix-functions/fputwc.texi: Likewise.
53796         * doc/posix-functions/fputws.texi: Likewise.
53797         * doc/posix-functions/fwide.texi: Likewise.
53798         * doc/posix-functions/fwprintf.texi: Likewise.
53799         * doc/posix-functions/fwscanf.texi: Likewise.
53800         * doc/posix-functions/getwchar.texi: Likewise.
53801         * doc/posix-functions/getwc.texi: Likewise.
53802         * doc/posix-functions/iswalnum.texi: Likewise.
53803         * doc/posix-functions/iswalpha.texi: Likewise.
53804         * doc/posix-functions/iswblank.texi: Likewise.
53805         * doc/posix-functions/iswcntrl.texi: Likewise.
53806         * doc/posix-functions/iswctype.texi: Likewise.
53807         * doc/posix-functions/iswdigit.texi: Likewise.
53808         * doc/posix-functions/iswgraph.texi: Likewise.
53809         * doc/posix-functions/iswlower.texi: Likewise.
53810         * doc/posix-functions/iswprint.texi: Likewise.
53811         * doc/posix-functions/iswpunct.texi: Likewise.
53812         * doc/posix-functions/iswspace.texi: Likewise.
53813         * doc/posix-functions/iswupper.texi: Likewise.
53814         * doc/posix-functions/iswxdigit.texi: Likewise.
53815         * doc/posix-functions/mbrtowc.texi: Likewise.
53816         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53817         * doc/posix-functions/mbstowcs.texi: Likewise.
53818         * doc/posix-functions/mbtowc.texi: Likewise.
53819         * doc/posix-functions/putwchar.texi: Likewise.
53820         * doc/posix-functions/putwc.texi: Likewise.
53821         * doc/posix-functions/swprintf.texi: Likewise.
53822         * doc/posix-functions/tolower.texi: Likewise.
53823         * doc/posix-functions/toupper.texi: Likewise.
53824         * doc/posix-functions/towctrans.texi: Likewise.
53825         * doc/posix-functions/ungetwc.texi: Likewise.
53826         * doc/posix-functions/vswprintf.texi: Likewise.
53827         * doc/posix-functions/wcrtomb.texi: Likewise.
53828         * doc/posix-functions/wcscat.texi: Likewise.
53829         * doc/posix-functions/wcschr.texi: Likewise.
53830         * doc/posix-functions/wcscmp.texi: Likewise.
53831         * doc/posix-functions/wcscoll.texi: Likewise.
53832         * doc/posix-functions/wcscpy.texi: Likewise.
53833         * doc/posix-functions/wcscspn.texi: Likewise.
53834         * doc/posix-functions/wcsftime.texi: Likewise.
53835         * doc/posix-functions/wcslen.texi: Likewise.
53836         * doc/posix-functions/wcsncat.texi: Likewise.
53837         * doc/posix-functions/wcsncmp.texi: Likewise.
53838         * doc/posix-functions/wcsncpy.texi: Likewise.
53839         * doc/posix-functions/wcspbrk.texi: Likewise.
53840         * doc/posix-functions/wcsrchr.texi: Likewise.
53841         * doc/posix-functions/wcsrtombs.texi: Likewise.
53842         * doc/posix-functions/wcsspn.texi: Likewise.
53843         * doc/posix-functions/wcsstr.texi: Likewise.
53844         * doc/posix-functions/wcstod.texi: Likewise.
53845         * doc/posix-functions/wcstof.texi: Likewise.
53846         * doc/posix-functions/wcstoimax.texi: Likewise.
53847         * doc/posix-functions/wcstok.texi: Likewise.
53848         * doc/posix-functions/wcstold.texi: Likewise.
53849         * doc/posix-functions/wcstoll.texi: Likewise.
53850         * doc/posix-functions/wcstol.texi: Likewise.
53851         * doc/posix-functions/wcstombs.texi: Likewise.
53852         * doc/posix-functions/wcstoull.texi: Likewise.
53853         * doc/posix-functions/wcstoul.texi: Likewise.
53854         * doc/posix-functions/wcstoumax.texi: Likewise.
53855         * doc/posix-functions/wcswidth.texi: Likewise.
53856         * doc/posix-functions/wcsxfrm.texi: Likewise.
53857         * doc/posix-functions/wctob.texi: Likewise.
53858         * doc/posix-functions/wctomb.texi: Likewise.
53859         * doc/posix-functions/wctrans.texi: Likewise.
53860         * doc/posix-functions/wctype.texi: Likewise.
53861         * doc/posix-functions/wcwidth.texi: Likewise.
53862         * doc/posix-functions/wmemchr.texi: Likewise.
53863         * doc/posix-functions/wmemcmp.texi: Likewise.
53864         * doc/posix-functions/wmemcpy.texi: Likewise.
53865         * doc/posix-functions/wmemmove.texi: Likewise.
53866         * doc/posix-functions/wmemset.texi: Likewise.
53867         * doc/posix-functions/wprintf.texi: Likewise.
53868         * doc/posix-functions/wscanf.texi: Likewise.
53869
53870 2008-12-21  Bruno Haible  <bruno@clisp.org>
53871
53872         Update doc for HP-UX 11.11.
53873         * doc/posix-functions/btowc.texi: Clarify that the function is missing
53874         in HP-UX version 11.00, not in all versions of HP-UX 11.
53875         * doc/posix-functions/fwide.texi: Likewise.
53876         * doc/posix-functions/fwprintf.texi: Likewise.
53877         * doc/posix-functions/fwscanf.texi: Likewise.
53878         * doc/posix-functions/inet_ntop.texi: Likewise.
53879         * doc/posix-functions/inet_pton.texi: Likewise.
53880         * doc/posix-functions/mbrlen.texi: Likewise.
53881         * doc/posix-functions/mbrtowc.texi: Likewise.
53882         * doc/posix-functions/mbsinit.texi: Likewise.
53883         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53884         * doc/posix-functions/swprintf.texi: Likewise.
53885         * doc/posix-functions/swscanf.texi: Likewise.
53886         * doc/posix-functions/towctrans.texi: Likewise.
53887         * doc/posix-functions/vfwprintf.texi: Likewise.
53888         * doc/posix-functions/vswprintf.texi: Likewise.
53889         * doc/posix-functions/vwprintf.texi: Likewise.
53890         * doc/posix-functions/wcrtomb.texi: Likewise.
53891         * doc/posix-functions/wcsrtombs.texi: Likewise.
53892         * doc/posix-functions/wcsstr.texi: Likewise.
53893         * doc/posix-functions/wctob.texi: Likewise.
53894         * doc/posix-functions/wctrans.texi: Likewise.
53895         * doc/posix-functions/wmemchr.texi: Likewise.
53896         * doc/posix-functions/wmemcmp.texi: Likewise.
53897         * doc/posix-functions/wmemcpy.texi: Likewise.
53898         * doc/posix-functions/wmemmove.texi: Likewise.
53899         * doc/posix-functions/wmemset.texi: Likewise.
53900         * doc/posix-functions/wprintf.texi: Likewise.
53901         * doc/posix-functions/wscanf.texi: Likewise.
53902
53903 2008-12-21  Bruno Haible  <bruno@clisp.org>
53904
53905         Work around a portability problem.
53906         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
53907         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
53908
53909 2008-12-20  Bruno Haible  <bruno@clisp.org>
53910
53911         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
53912         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
53913         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
53914         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
53915         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
53916
53917         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
53918         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
53919         set.
53920         (GNULIB_defined_mbstate_t): New macro.
53921         (mbsinit): Redefine if REPLACE_MBSINIT is set.
53922         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
53923         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
53924         reuses the system's mbrtowc function but works around the bugs.
53925         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
53926         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
53927         macros.
53928         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
53929         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
53930         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
53931         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
53932         REPLACE_MBSINIT if mbsinit needs to be overridden.
53933         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
53934         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53935         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
53936         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53937         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53938         m4/locale-zh.m4.
53939         (Depends): Add mbsinit.
53940         * modules/mbsinit (Depends): Add mbrtowc.
53941         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
53942
53943 2008-12-20  Bruno Haible  <bruno@clisp.org>
53944
53945         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
53946         so that there are no conversion errors on AIX.
53947         * tests/test-mbsrtowcs.c (main): LIkewise.
53948
53949 2008-12-20  Bruno Haible  <bruno@clisp.org>
53950
53951         Work around wctob bug on Solaris <= 9.
53952         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
53953         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
53954         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
53955         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
53956         * modules/wctob (Files): Add m4/locale-fr.m4.
53957         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
53958
53959 2008-12-20  Bruno Haible  <bruno@clisp.org>
53960
53961         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
53962         /dev/null.
53963         * tests/test-select-in.sh: Likewise.
53964         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
53965
53966 2008-12-20  Bruno Haible  <bruno@clisp.org>
53967
53968         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
53969         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
53970         Cygwin 1.5.x.
53971
53972 2008-12-20  Bruno Haible  <bruno@clisp.org>
53973
53974         Ensure mbstate_t is defined on HP-UX 11.11.
53975         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
53976         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
53977         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
53978         AC_USE_SYSTEM_EXTENSIONS.
53979         * modules/fnmatch (Depends-on): Add extensions.
53980         * modules/mbrlen (Depends-on): Likewise.
53981         * modules/mbrtowc (Depends-on): Likewise.
53982         * modules/mbsinit (Depends-on): Likewise.
53983         * modules/mbsrtowcs (Depends-on): Likewise.
53984         * modules/mbswidth (Depends-on): Likewise.
53985         * modules/quotearg (Depends-on): Likewise.
53986         * modules/strftime (Depends-on): Likewise.
53987
53988 2008-12-20  Bruno Haible  <bruno@clisp.org>
53989
53990         Ensure wctob is declared on IRIX 6.5.
53991         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
53992         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
53993         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
53994         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
53995         of HAVE_WCTOB.
53996         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
53997         HAVE_WCTOB.
53998         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
53999
54000 2008-12-19  Bruno Haible  <bruno@clisp.org>
54001
54002         * modules/mbsrtowcs-tests: New file.
54003         * tests/test-mbsrtowcs1.sh: New file.
54004         * tests/test-mbsrtowcs2.sh: New file.
54005         * tests/test-mbsrtowcs3.sh: New file.
54006         * tests/test-mbsrtowcs4.sh: New file.
54007         * tests/test-mbsrtowcs.c: New file.
54008
54009         New module 'mbsrtowcs'.
54010         * lib/wchar.in.h (mbsrtowcs): New declaration.
54011         * lib/mbsrtowcs.c: New file.
54012         * m4/mbsrtowcs.m4: New file.
54013         * modules/mbsrtowcs: New file.
54014         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
54015         HAVE_MBSRTOWCS.
54016         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
54017         HAVE_MBSRTOWCS.
54018         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
54019
54020 2008-12-19  Bruno Haible  <bruno@clisp.org>
54021
54022         New module 'mbrlen'.
54023         * lib/wchar.in.h (mbrlen): New declaration.
54024         * lib/mbrlen.c: New file.
54025         * m4/mbrlen.m4: New file.
54026         * modules/mbrlen: New file.
54027         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
54028         HAVE_MBRLEN.
54029         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
54030         HAVE_MBRLEN.
54031         * doc/posix-functions/mbrlen.texi: Document the new module.
54032
54033 2008-12-19  Bruno Haible  <bruno@clisp.org>
54034
54035         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
54036         * modules/mbrtowc (Depends-on): Add verify.
54037         Suggested by Paul Eggert.
54038
54039 2008-12-18  Bruno Haible  <bruno@clisp.org>
54040
54041         * modules/mbsinit-tests: New file.
54042         * tests/test-mbsinit.sh: New file.
54043         * tests/test-mbsinit.c: New file.
54044
54045 2008-12-18  Bruno Haible  <bruno@clisp.org>
54046
54047         * modules/mbrtowc-tests: New file.
54048         * tests/test-mbrtowc1.sh: New file.
54049         * tests/test-mbrtowc2.sh: New file.
54050         * tests/test-mbrtowc3.sh: New file.
54051         * tests/test-mbrtowc4.sh: New file.
54052         * tests/test-mbrtowc.c: New file.
54053
54054         New module 'mbrtowc'.
54055         * lib/wchar.in.h (mbstate_t): Override when the system does not have
54056         mbsinit and mbrtowc.
54057         (mbrtowc): New declaration.
54058         * lib/mbrtowc.c: New file.
54059         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
54060         * modules/mbrtowc: New file.
54061         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
54062         HAVE_MBRTOWC.
54063         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
54064         HAVE_MBRTOWC.
54065         * doc/posix-functions/mbrtowc.texi: Document the new module.
54066
54067 2008-12-18  Bruno Haible  <bruno@clisp.org>
54068
54069         New module 'wctob'.
54070         * lib/wchar.in.h (wctob): New declaration.
54071         * lib/wctob.c: New file.
54072         * m4/wctob.m4: New file.
54073         * modules/wctob: New file.
54074         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
54075         HAVE_WCTOB.
54076         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
54077         * doc/posix-functions/wctob.texi: Document the new module.
54078
54079 2008-12-18  Bruno Haible  <bruno@clisp.org>
54080
54081         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
54082         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
54083
54084 2008-12-18  Simon Josefsson  <simon@josefsson.org>
54085
54086         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
54087         G. Christensen" <tgc@jupiterrise.com>.
54088
54089         * lib/flock.c: Need to include errno.h.  Reported by "Tom
54090         G. Christensen" <tgc@jupiterrise.com>.
54091
54092         * lib/flock.c: Need to include string.h.  Reported by "Tom
54093         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
54094         <ebb9@byu.net>.
54095
54096 2008-12-18  Bruno Haible  <bruno@clisp.org>
54097
54098         * m4/locale-ja.m4: New file, from GNU gettext.
54099
54100 2008-12-17  Bruno Haible  <bruno@clisp.org>
54101
54102         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
54103         Suggested by Eric Blake.
54104
54105 2008-12-17  Bruno Haible  <bruno@clisp.org>
54106
54107         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
54108
54109 2008-12-17  Bruno Haible  <bruno@clisp.org>
54110
54111         * lib/mbsinit.c: Include verify.h. Verify an assumption.
54112         * modules/mbsinit (Depends-on): Add verify.
54113         Suggested by Paul Eggert.
54114
54115 2008-12-17  Bruno Haible  <bruno@clisp.org>
54116
54117         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
54118         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
54119         gl_FUNC_MBRTOWC.
54120         * m4/mbiter.m4 (gl_MBITER): LIkewise.
54121         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
54122         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
54123         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
54124         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
54125         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
54126         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
54127         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
54128         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
54129         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
54130         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
54131         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
54132         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
54133         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
54134         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
54135         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
54136         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
54137         * modules/trim (configure.ac): Likewise.
54138
54139 2008-12-17  Bruno Haible  <bruno@clisp.org>
54140
54141         * modules/btowc-tests: New file.
54142         * tests/test-btowc1.sh: New file.
54143         * tests/test-btowc2.sh: New file.
54144         * tests/test-btowc.c: New file.
54145
54146         New module 'btowc'.
54147         * lib/wchar.in.h (btowc): New declaration.
54148         * lib/btowc.c: New file.
54149         * m4/btowc.m4: New file.
54150         * modules/btowc: New file.
54151         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
54152         HAVE_BTOWC.
54153         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
54154         * doc/posix-functions/btowc.texi: Document the new module.
54155
54156 2008-12-17  Bruno Haible  <bruno@clisp.org>
54157
54158         New module 'mbsinit'.
54159         * lib/wchar.in.h (mbsinit): New declaration.
54160         * lib/mbsinit.c: New file.
54161         * m4/mbsinit.m4: New file.
54162         * modules/mbsinit: New file.
54163         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
54164         HAVE_MBSINIT.
54165         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
54166         HAVE_MBSINIT.
54167         * doc/posix-functions/mbsinit.texi: Document the new module.
54168
54169 2008-12-16  Bruno Haible  <bruno@clisp.org>
54170
54171         * lib/unistd.in.h: Add comment.
54172         * tests/test-environ.c: Don't include <stdlib.h>.
54173
54174 2008-12-16  Bruno Haible  <bruno@clisp.org>
54175
54176         * lib/parse-duration.h (parse_duration): Document return value
54177         convention.
54178         * lib/parse-duration.c: Include specification header first. Add
54179         comments.
54180         (_): Remove macro.
54181         (parse_year_month_day, parse_hour_minute_second): Move side effects
54182         outside of strchr call.
54183         (parse_non_iso8601): Move side effects outside of isspace call.
54184         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
54185         call.
54186
54187 2008-12-16  Bruno Haible  <bruno@clisp.org>
54188
54189         * tests/test-parse-duration.sh: Produce no output when the test
54190         succeeds.
54191
54192 2008-12-16  Bruno Haible  <bruno@clisp.org>
54193
54194         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
54195         expressions.
54196
54197 2008-12-15  Bruno Haible  <bruno@clisp.org>
54198
54199         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
54200         * doc/glibc-functions/flistxattr.texi: Likewise.
54201         * doc/glibc-functions/fopencookie.texi: Likewise.
54202         * doc/glibc-functions/fremovexattr.texi: Likewise.
54203         * doc/glibc-functions/fsetxattr.texi: Likewise.
54204         * doc/glibc-functions/getxattr.texi: Likewise.
54205         * doc/glibc-functions/lgetxattr.texi: Likewise.
54206         * doc/glibc-functions/listxattr.texi: Likewise.
54207         * doc/glibc-functions/llistxattr.texi: Likewise.
54208         * doc/glibc-functions/lremovexattr.texi: Likewise.
54209         * doc/glibc-functions/lsetxattr.texi: Likewise.
54210         * doc/glibc-functions/removexattr.texi: Likewise.
54211         * doc/glibc-functions/setxattr.texi: Likewise.
54212         * doc/posix-functions/open_memstream.texi: Likewise.
54213
54214 2008-12-15  Eric Blake  <ebb9@byu.net>
54215
54216         Update doc for cygwin 1.7.
54217         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
54218         functions.
54219         * doc/posix-functions/fchmodat.texi: Likewise.
54220         * doc/posix-functions/fchownat.texi: Likewise.
54221         * doc/posix-functions/fdopendir.texi: Likewise.
54222         * doc/posix-functions/fmemopen.texi: Likewise.
54223         * doc/posix-functions/freeaddrinfo.texi: Likewise.
54224         * doc/posix-functions/fstatat.texi: Likewise.
54225         * doc/posix-functions/futimens.texi: Likewise.
54226         * doc/posix-functions/gai_strerror.texi: Likewise.
54227         * doc/posix-functions/getaddrinfo.texi: Likewise.
54228         * doc/posix-functions/getnameinfo.texi: Likewise.
54229         * doc/posix-functions/if_freenameindex.texi: Likewise.
54230         * doc/posix-functions/if_indextoname.texi: Likewise.
54231         * doc/posix-functions/if_nameindex.texi: Likewise.
54232         * doc/posix-functions/if_nametoindex.texi: Likewise.
54233         * doc/posix-functions/insque.texi: Likewise.
54234         * doc/posix-functions/linkat.texi: Likewise.
54235         * doc/posix-functions/llrint.texi: Likewise.
54236         * doc/posix-functions/llrintf.texi: Likewise.
54237         * doc/posix-functions/llrintl.texi: Likewise.
54238         * doc/posix-functions/lockf.texi: Likewise.
54239         * doc/posix-functions/lrintl.texi: Likewise.
54240         * doc/posix-functions/mkdirat.texi: Likewise.
54241         * doc/posix-functions/mkfifoat.texi: Likewise.
54242         * doc/posix-functions/mknodat.texi: Likewise.
54243         * doc/posix-functions/mq_close.texi: Likewise.
54244         * doc/posix-functions/mq_getattr.texi: Likewise.
54245         * doc/posix-functions/mq_notify.texi: Likewise.
54246         * doc/posix-functions/mq_open.texi: Likewise.
54247         * doc/posix-functions/mq_receive.texi: Likewise.
54248         * doc/posix-functions/mq_send.texi: Likewise.
54249         * doc/posix-functions/mq_setattr.texi: Likewise.
54250         * doc/posix-functions/mq_timedreceive.texi: Likewise.
54251         * doc/posix-functions/mq_timedsend.texi: Likewise.
54252         * doc/posix-functions/mq_unlink.texi: Likewise.
54253         * doc/posix-functions/open_memstream.texi: Likewise.
54254         * doc/posix-functions/openat.texi: Likewise.
54255         * doc/posix-functions/posix_fadvise.texi: Likewise.
54256         * doc/posix-functions/posix_fallocate.texi: Likewise.
54257         * doc/posix-functions/posix_madvise.texi: Likewise.
54258         * doc/posix-functions/posix_memalign.texi: Likewise.
54259         * doc/posix-functions/posix_openpt.texi: Likewise.
54260         * doc/posix-functions/readlinkat.texi: Likewise.
54261         * doc/posix-functions/remque.texi: Likewise.
54262         * doc/posix-functions/renameat.texi: Likewise.
54263         * doc/posix-functions/rintl.texi: Likewise.
54264         * doc/posix-functions/sem_unlink.texi: Likewise.
54265         * doc/posix-functions/shm_open.texi: Likewise.
54266         * doc/posix-functions/shm_unlink.texi: Likewise.
54267         * doc/posix-functions/signgam.texi: Likewise.
54268         * doc/posix-functions/sigset.texi: Likewise.
54269         * doc/posix-functions/stpcpy.texi: Likewise.
54270         * doc/posix-functions/stpncpy.texi: Likewise.
54271         * doc/posix-functions/strerror.texi: Likewise.
54272         * doc/posix-functions/strtod.texi: Likewise.
54273         * doc/posix-functions/symlinkat.texi: Likewise.
54274         * doc/posix-functions/unlinkat.texi: Likewise.
54275         * doc/posix-functions/utimensat.texi: Likewise.
54276         * doc/glibc-functions/bindresvport.texi: Likewise.
54277         * doc/glibc-functions/dn_expand.texi: Likewise.
54278         * doc/glibc-functions/exp10.texi: Likewise.
54279         * doc/glibc-functions/exp10f.texi: Likewise.
54280         * doc/glibc-functions/fgetxattr.texi: Likewise.
54281         * doc/glibc-functions/flistxattr.texi: Likewise.
54282         * doc/glibc-functions/fopencookie.texi: Likewise.
54283         * doc/glibc-functions/freeifaddrs.texi: Likewise.
54284         * doc/glibc-functions/fremovexattr.texi: Likewise.
54285         * doc/glibc-functions/fsetxattr.texi: Likewise.
54286         * doc/glibc-functions/getifaddrs.texi: Likewise.
54287         * doc/glibc-functions/getxattr.texi: Likewise.
54288         * doc/glibc-functions/lgetxattr.texi: Likewise.
54289         * doc/glibc-functions/listxattr.texi: Likewise.
54290         * doc/glibc-functions/llistxattr.texi: Likewise.
54291         * doc/glibc-functions/lremovexattr.texi: Likewise.
54292         * doc/glibc-functions/lsetxattr.texi: Likewise.
54293         * doc/glibc-functions/pow10.texi: Likewise.
54294         * doc/glibc-functions/pow10f.texi: Likewise.
54295         * doc/glibc-functions/rcmd_af.texi: Likewise.
54296         * doc/glibc-functions/removexattr.texi: Likewise.
54297         * doc/glibc-functions/res_init.texi: Likewise.
54298         * doc/glibc-functions/res_mkquery.texi: Likewise.
54299         * doc/glibc-functions/res_query.texi: Likewise.
54300         * doc/glibc-functions/res_querydomain.texi: Likewise.
54301         * doc/glibc-functions/res_send.texi: Likewise.
54302         * doc/glibc-functions/rresvport_af.texi: Likewise.
54303         * doc/glibc-functions/setxattr.texi: Likewise.
54304         * doc/glibc-functions/strcasestr.texi: Likewise.
54305
54306 2008-12-15  Bruno Haible  <bruno@clisp.org>
54307
54308         Fix compilation error on OSF/1 4.0.
54309         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
54310         <sys/time.h>, simply delegate to the system header.
54311         Reported by Daniel Richard G. <oss@teragram.com>.
54312
54313 2008-12-15  Bruno Haible  <bruno@clisp.org>
54314
54315         * doc/posix-functions/openat.texi: Mention the 'openat' module.
54316         * doc/posix-functions/fchmodat.texi: Likewise.
54317         * doc/posix-functions/fchownat.texi: Likewise.
54318         * doc/posix-functions/fdopendir.texi: Likewise.
54319         * doc/posix-functions/fstatat.texi: Likewise.
54320         * doc/posix-functions/mkdirat.texi: Likewise.
54321         * doc/posix-functions/unlinkat.texi: Likewise.
54322
54323 2008-12-14  Bruno Haible  <bruno@clisp.org>
54324
54325         Update doc for POSIX:2008.
54326         * doc/posix-functions/faccessat.texi: New file.
54327         * doc/posix-functions/fchmodat.texi: New file.
54328         * doc/posix-functions/fchownat.texi: New file.
54329         * doc/posix-functions/fdopendir.texi: New file.
54330         * doc/posix-functions/fstatat.texi: New file.
54331         * doc/posix-functions/futimens.texi: New file.
54332         * doc/posix-functions/linkat.texi: New file.
54333         * doc/posix-functions/mkdirat.texi: New file.
54334         * doc/posix-functions/mkfifoat.texi: New file.
54335         * doc/posix-functions/mknodat.texi: New file.
54336         * doc/posix-functions/open_wmemstream.texi: New file.
54337         * doc/posix-functions/openat.texi: New file.
54338         * doc/posix-functions/psiginfo.texi: New file.
54339         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
54340         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
54341         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
54342         * doc/posix-functions/readlinkat.texi: New file.
54343         * doc/posix-functions/renameat.texi: New file.
54344         * doc/posix-functions/strerror_l.texi: New file.
54345         * doc/posix-functions/symlinkat.texi: New file.
54346         * doc/posix-functions/unlinkat.texi: New file.
54347         * doc/posix-functions/utimensat.texi: New file.
54348         * doc/gnulib.texi (Function Substitutes): Add these subsections.
54349
54350 2008-12-14  Bruno Haible  <bruno@clisp.org>
54351
54352         Update doc for POSIX:2008.
54353         * doc/posix-functions/alphasort.texi: Renamed from
54354         doc/glibc-functions/alphasort.texi.
54355         * doc/posix-functions/dirfd.texi: Renamed from
54356         doc/glibc-functions/dirfd.texi.
54357         * doc/posix-functions/dprintf.texi: Renamed from
54358         doc/glibc-functions/dprintf.texi.
54359         * doc/posix-functions/duplocale.texi: Renamed from
54360         doc/glibc-functions/duplocale.texi.
54361         * doc/posix-functions/fexecve.texi: Renamed from
54362         doc/glibc-functions/fexecve.texi.
54363         * doc/posix-functions/fmemopen.texi: Renamed from
54364         doc/glibc-functions/fmemopen.texi.
54365         * doc/posix-functions/freelocale.texi: Renamed from
54366         doc/glibc-functions/freelocale.texi.
54367         * doc/posix-functions/getdate_err.texi: Renamed from
54368         doc/glibc-functions/getdate_err.texi.
54369         * doc/posix-functions/isalnum_l.texi: Renamed from
54370         doc/glibc-functions/isalnum_l.texi.
54371         * doc/posix-functions/isalpha_l.texi: Renamed from
54372         doc/glibc-functions/isalpha_l.texi.
54373         * doc/posix-functions/isblank_l.texi: Renamed from
54374         doc/glibc-functions/isblank_l.texi.
54375         * doc/posix-functions/iscntrl_l.texi: Renamed from
54376         doc/glibc-functions/iscntrl_l.texi.
54377         * doc/posix-functions/isdigit_l.texi: Renamed from
54378         doc/glibc-functions/isdigit_l.texi.
54379         * doc/posix-functions/isgraph_l.texi: Renamed from
54380         doc/glibc-functions/isgraph_l.texi.
54381         * doc/posix-functions/islower_l.texi: Renamed from
54382         doc/glibc-functions/islower_l.texi.
54383         * doc/posix-functions/isprint_l.texi: Renamed from
54384         doc/glibc-functions/isprint_l.texi.
54385         * doc/posix-functions/ispunct_l.texi: Renamed from
54386         doc/glibc-functions/ispunct_l.texi.
54387         * doc/posix-functions/isspace_l.texi: Renamed from
54388         doc/glibc-functions/isspace_l.texi.
54389         * doc/posix-functions/isupper_l.texi: Renamed from
54390         doc/glibc-functions/isupper_l.texi.
54391         * doc/posix-functions/iswalnum_l.texi: Renamed from
54392         doc/glibc-functions/iswalnum_l.texi.
54393         * doc/posix-functions/iswalpha_l.texi: Renamed from
54394         doc/glibc-functions/iswalpha_l.texi.
54395         * doc/posix-functions/iswblank_l.texi: Renamed from
54396         doc/glibc-functions/iswblank_l.texi.
54397         * doc/posix-functions/iswcntrl_l.texi: Renamed from
54398         doc/glibc-functions/iswcntrl_l.texi.
54399         * doc/posix-functions/iswctype_l.texi: Renamed from
54400         doc/glibc-functions/iswctype_l.texi.
54401         * doc/posix-functions/iswdigit_l.texi: Renamed from
54402         doc/glibc-functions/iswdigit_l.texi.
54403         * doc/posix-functions/iswgraph_l.texi: Renamed from
54404         doc/glibc-functions/iswgraph_l.texi.
54405         * doc/posix-functions/iswlower_l.texi: Renamed from
54406         doc/glibc-functions/iswlower_l.texi.
54407         * doc/posix-functions/iswprint_l.texi: Renamed from
54408         doc/glibc-functions/iswprint_l.texi.
54409         * doc/posix-functions/iswpunct_l.texi: Renamed from
54410         doc/glibc-functions/iswpunct_l.texi.
54411         * doc/posix-functions/iswspace_l.texi: Renamed from
54412         doc/glibc-functions/iswspace_l.texi.
54413         * doc/posix-functions/iswupper_l.texi: Renamed from
54414         doc/glibc-functions/iswupper_l.texi.
54415         * doc/posix-functions/iswxdigit_l.texi: Renamed from
54416         doc/glibc-functions/iswxdigit_l.texi.
54417         * doc/posix-functions/isxdigit_l.texi: Renamed from
54418         doc/glibc-functions/isxdigit_l.texi.
54419         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
54420         doc/glibc-functions/mbsnrtowcs.texi.
54421         * doc/posix-functions/mkdtemp.texi: Renamed from
54422         doc/glibc-functions/mkdtemp.texi.
54423         * doc/posix-functions/newlocale.texi: Renamed from
54424         doc/glibc-functions/newlocale.texi.
54425         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
54426         doc/glibc-functions/nl_langinfo_l.texi.
54427         * doc/posix-functions/open_memstream.texi: Renamed from
54428         doc/glibc-functions/open_memstream.texi.
54429         * doc/posix-functions/opterr.texi: Renamed from
54430         doc/glibc-functions/opterr.texi.
54431         * doc/posix-functions/optind.texi: Renamed from
54432         doc/glibc-functions/optind.texi.
54433         * doc/posix-functions/optopt.texi: Renamed from
54434         doc/glibc-functions/optopt.texi.
54435         * doc/posix-functions/psignal.texi: Renamed from
54436         doc/glibc-functions/psignal.texi.
54437         * doc/posix-functions/scandir.texi: Renamed from
54438         doc/glibc-functions/scandir.texi.
54439         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
54440         doc/glibc-functions/sched_get_priority_min.texi.
54441         * doc/posix-functions/signgam.texi: Renamed from
54442         doc/glibc-functions/signgam.texi.
54443         * doc/posix-functions/stpcpy.texi: Renamed from
54444         doc/glibc-functions/stpcpy.texi.
54445         * doc/posix-functions/stpncpy.texi: Renamed from
54446         doc/glibc-functions/stpncpy.texi.
54447         * doc/posix-functions/strcasecmp_l.texi: Renamed from
54448         doc/glibc-functions/strcasecmp_l.texi.
54449         * doc/posix-functions/strcoll_l.texi: Renamed from
54450         doc/glibc-functions/strcoll_l.texi.
54451         * doc/posix-functions/strfmon_l.texi: Renamed from
54452         doc/glibc-functions/strfmon_l.texi.
54453         * doc/posix-functions/strftime_l.texi: Renamed from
54454         doc/glibc-functions/strftime_l.texi.
54455         * doc/posix-functions/strncasecmp_l.texi: Renamed from
54456         doc/glibc-functions/strncasecmp_l.texi.
54457         * doc/posix-functions/strndup.texi: Renamed from
54458         doc/glibc-functions/strndup.texi.
54459         * doc/posix-functions/strnlen.texi: Renamed from
54460         doc/glibc-functions/strnlen.texi.
54461         * doc/posix-functions/strsignal.texi: Renamed from
54462         doc/glibc-functions/strsignal.texi.
54463         * doc/posix-functions/strxfrm_l.texi: Renamed from
54464         doc/glibc-functions/strxfrm_l.texi.
54465         * doc/posix-functions/timer_gettime.texi: Renamed from
54466         doc/glibc-functions/timer_gettime.texi.
54467         * doc/posix-functions/tolower_l.texi: Renamed from
54468         doc/glibc-functions/tolower_l.texi.
54469         * doc/posix-functions/toupper_l.texi: Renamed from
54470         doc/glibc-functions/toupper_l.texi.
54471         * doc/posix-functions/towctrans_l.texi: Renamed from
54472         doc/glibc-functions/towctrans_l.texi.
54473         * doc/posix-functions/towlower_l.texi: Renamed from
54474         doc/glibc-functions/towlower_l.texi.
54475         * doc/posix-functions/towupper_l.texi: Renamed from
54476         doc/glibc-functions/towupper_l.texi.
54477         * doc/posix-functions/uselocale.texi: Renamed from
54478         doc/glibc-functions/uselocale.texi.
54479         * doc/posix-functions/vdprintf.texi: Renamed from
54480         doc/glibc-functions/vdprintf.texi.
54481         * doc/posix-functions/wcpcpy.texi:
54482         Renamed from doc/glibc-functions/wcpcpy.texi.
54483         * doc/posix-functions/wcpncpy.texi: Renamed from
54484         doc/glibc-functions/wcpncpy.texi.
54485         * doc/posix-functions/wcscasecmp.texi: Renamed from
54486         doc/glibc-functions/wcscasecmp.texi.
54487         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
54488         doc/glibc-functions/wcscasecmp_l.texi.
54489         * doc/posix-functions/wcscoll_l.texi: Renamed from
54490         doc/glibc-functions/wcscoll_l.texi.
54491         * doc/posix-functions/wcsdup.texi: Renamed from
54492         doc/glibc-functions/wcsdup.texi.
54493         * doc/posix-functions/wcsncasecmp.texi: Renamed from
54494         doc/glibc-functions/wcsncasecmp.texi.
54495         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
54496         doc/glibc-functions/wcsncasecmp_l.texi.
54497         * doc/posix-functions/wcsnlen.texi: Renamed from
54498         doc/glibc-functions/wcsnlen.texi.
54499         * doc/posix-functions/wcsnrtombs.texi: Renamed from
54500         doc/glibc-functions/wcsnrtombs.texi.
54501         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
54502         doc/glibc-functions/wcsxfrm_l.texi.
54503         * doc/posix-functions/wctrans_l.texi: Renamed from
54504         doc/glibc-functions/wctrans_l.texi.
54505         * doc/posix-functions/wctype_l.texi: Renamed from
54506         doc/glibc-functions/wctype_l.texi.
54507         * doc/gnulib.texi (Function Substitutes): Add these subsections.
54508         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
54509         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
54510         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
54511         these subsections.
54512         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
54513         Remove sections.
54514
54515 2008-12-14  Bruno Haible  <bruno@clisp.org>
54516
54517         Update doc for POSIX:2008.
54518         * doc/posix-functions/*.texi: Update URL of POSIX specification.
54519
54520 2008-12-14  Bruno Haible  <bruno@clisp.org>
54521
54522         Update doc for POSIX:2008.
54523         * doc/pastposix-functions/bcmp.texi: Renamed from
54524         doc/posix-functions/bcmp.texi.
54525         * doc/pastposix-functions/bcopy.texi: Renamed from
54526         doc/posix-functions/bcopy.texi.
54527         * doc/pastposix-functions/bsd_signal.texi: Renamed from
54528         doc/posix-functions/bsd_signal.texi.
54529         * doc/pastposix-functions/bzero.texi: Renamed from
54530         doc/posix-functions/bzero.texi.
54531         * doc/pastposix-functions/ecvt.texi: Renamed from
54532         doc/posix-functions/ecvt.texi.
54533         * doc/pastposix-functions/fcvt.texi: Renamed from
54534         doc/posix-functions/fcvt.texi.
54535         * doc/pastposix-functions/ftime.texi: Renamed from
54536         doc/posix-functions/ftime.texi.
54537         * doc/pastposix-functions/gcvt.texi: Renamed from
54538         doc/posix-functions/gcvt.texi.
54539         * doc/pastposix-functions/getcontext.texi: Renamed from
54540         doc/posix-functions/getcontext.texi.
54541         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
54542         doc/posix-functions/gethostbyaddr.texi.
54543         * doc/pastposix-functions/gethostbyname.texi: Renamed from
54544         doc/posix-functions/gethostbyname.texi.
54545         * doc/pastposix-functions/getwd.texi: Renamed from
54546         doc/posix-functions/getwd.texi.
54547         * doc/pastposix-functions/h_errno.texi: Renamed from
54548         doc/posix-functions/h_errno.texi.
54549         * doc/pastposix-functions/index.texi: Renamed from
54550         doc/posix-functions/index.texi.
54551         * doc/pastposix-functions/makecontext.texi: Renamed from
54552         doc/posix-functions/makecontext.texi.
54553         * doc/pastposix-functions/mktemp.texi: Renamed from
54554         doc/posix-functions/mktemp.texi.
54555         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
54556         doc/posix-functions/pthread_attr_getstackaddr.texi.
54557         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
54558         doc/posix-functions/pthread_attr_setstackaddr.texi.
54559         * doc/pastposix-functions/rindex.texi: Renamed from
54560         doc/posix-functions/rindex.texi.
54561         * doc/pastposix-functions/scalb.texi: Renamed from
54562         doc/posix-functions/scalb.texi.
54563         * doc/pastposix-functions/setcontext.texi: Renamed from
54564         doc/posix-functions/setcontext.texi.
54565         * doc/pastposix-functions/swapcontext.texi: Renamed from
54566         doc/posix-functions/swapcontext.texi.
54567         * doc/pastposix-functions/ualarm.texi: Renamed from
54568         doc/posix-functions/ualarm.texi.
54569         * doc/pastposix-functions/usleep.texi: Renamed from
54570         doc/posix-functions/usleep.texi.
54571         * doc/pastposix-functions/vfork.texi: Renamed from
54572         doc/posix-functions/vfork.texi.
54573         * doc/pastposix-functions/wcswcs.texi: Renamed from
54574         doc/posix-functions/wcswcs.texi.
54575         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
54576         (Function Substitutes): Update.
54577
54578 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54579
54580         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
54581         m4/strerror.m4.
54582
54583 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54584             Bruno Haible  <bruno@clisp.org>
54585
54586         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
54587
54588 2008-12-13  Bruno Haible  <bruno@clisp.org>
54589
54590         * modules/strtoull (Depends-on): Remove unistd.
54591
54592 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54593
54594         * modules/strtoull (Depends-on): Add stdlib.
54595
54596 2008-12-11  Simon Josefsson  <simon@josefsson.org>
54597
54598         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
54599
54600 2008-12-10  Jim Meyering  <meyering@redhat.com>
54601
54602         gl_ASSERT: don't say assertions are disabled when they're not
54603         * m4/assert.m4 (gl_ASSERT): Do not make configure report
54604         "checking whether to enable assertions... no", when they are in
54605         fact enabled.  This is solely a bug in the output of configure.
54606         In spite of saying "no", NDEBUG was not defined in that case.
54607         Also, as noted by Eric Blake, leave assertions enabled upon
54608         --enable-assert=INVALID.
54609
54610 2008-12-10  Bruno Haible  <bruno@clisp.org>
54611
54612         Change MODULES.html to refer to POSIX:2008 where possible.
54613         * MODULES.html.sh (POSIX2008_URL): New variable.
54614         (posix_headers): Remove sys/timeb, ucontext.
54615         (posix2001_headers): New variable.
54616         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
54617         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
54618         index, makecontext, mktemp, pthread_attr_getstackaddr,
54619         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
54620         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
54621         (posix2001_functions): New variable.
54622         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
54623         otherwise.
54624
54625 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54626
54627         add missing include to parse-duration.c
54628         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
54629         * modules/parse-duration (Depends-on): Add xalloc.
54630
54631         fix sed script reading maint.mk
54632         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
54633         (syntax-check-rules): Use it.
54634
54635 2008-12-09  Bruno Haible  <bruno@clisp.org>
54636
54637         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
54638         MacOS X 10.4/PowerPC.
54639         Reported by Simon Josefsson.
54640
54641 2008-12-08  Jim Meyering  <meyering@redhat.com>
54642
54643         work around mingw's lack of some S_IF definitions
54644         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
54645         Reported by Simon Josefsson.
54646
54647 2008-12-08  Bruno Haible  <bruno@clisp.org>
54648
54649         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
54650         applied to variables. Needed on MacOS X 10.4/PowerPC.
54651         Reported by Simon Josefsson.
54652
54653 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
54654         and Eric Blake  <ebb9@byu.net>
54655
54656         assert: honor --enable-assert
54657         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
54658         order to honor --enable-assert, rather than treating it as a
54659         synonym for --disable-assert.
54660
54661 2008-12-08  Jim Meyering  <meyering@redhat.com>
54662
54663         * lib/posixtm.c: Remove now-useless declaration of mktime.
54664
54665         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
54666
54667 2008-12-07  Bruno Haible  <bruno@clisp.org>
54668
54669         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
54670         test_once): Mark functions as static.
54671         * tests/test-tls.c (test_tls): Likewise.
54672
54673 2008-12-07  Bruno Haible  <bruno@clisp.org>
54674
54675         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
54676         iconv_register_autodetect.
54677
54678 2008-12-07  Jim Meyering  <meyering@redhat.com>
54679
54680         posixtm.c: avoid a warning
54681         * lib/posixtm.c (posixtime): Don't initialize tm0.
54682         It's no longer needed to placate gcc4's -Wuninitialized,
54683         and the attempt to placate would elicit a new warning.
54684
54685         unicodeio.c: mark unused parameters
54686         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
54687         (fallback_failure_callback): Likewise.
54688
54689 2008-12-07  Bruno Haible  <bruno@clisp.org>
54690
54691         * gnulib-tool (func_create_testdir): When building the tests
54692         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
54693         Reported by Simon Josefsson.
54694
54695 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54696
54697         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
54698
54699 2008-12-06  Bruno Haible  <bruno@clisp.org>
54700
54701         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
54702         Suggested by Eric Blake.
54703
54704 2008-12-06  Bruno Haible  <bruno@clisp.org>
54705
54706         Fix a c-stack test failure on MacOS X.
54707         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
54708         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
54709         handler for SIGBUS as well.
54710         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
54711         install a signal handler for SIGBUS as well.
54712         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
54713
54714 2008-12-06  Bruno Haible  <bruno@clisp.org>
54715
54716         Advocacy documentation.
54717         * doc/gnulib-intro.texi (Benefits): New section.
54718         * doc/gnulib.texi: Update.
54719
54720 2008-12-06  Bruno Haible  <bruno@clisp.org>
54721
54722         Document the 'manywarnings' module.
54723         * doc/manywarnings.texi: New file.
54724         * doc/gnulib.texi: Include it.
54725
54726 2008-12-05  Eric Blake  <ebb9@byu.net>
54727
54728         tests: silence some gcc warnings
54729         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
54730         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
54731         type mismatches.
54732
54733 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54734             Bruno Haible  <bruno@clisp.org>
54735
54736         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
54737
54738 2008-11-29  Jim Meyering  <meyering@redhat.com>
54739
54740         unicodeio.c: mark unused parameters
54741         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
54742         (fallback_failure_callback): Likewise.
54743
54744         fts: fix a thinko
54745         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
54746         (set_stat_type): Return S_IF*-valued "type" directly.
54747         Prompted by James Youngman's spotting a related bug.
54748         Confirmed by further testing through find.
54749
54750         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
54751         * lib/fts.c (D_TYPE): Define.
54752         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
54753         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
54754         (s_ifmt_shift_bits): New function.
54755         (set_stat_type): New function.
54756         (fts_build): When not calling fts_stat, call set_stat_type
54757         to propagate dirent.d_type info to fts_read caller.
54758         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
54759         fts_statp->st_mode type information may be valid.
54760
54761 2008-11-28  Simon Josefsson  <simon@josefsson.org>
54762
54763         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
54764         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
54765         <sds@gnu.org>.
54766
54767 2008-11-20  Bruno Haible  <bruno@clisp.org>
54768
54769         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
54770         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
54771         INCLUDE_NEXT.
54772         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
54773         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
54774         * modules/math (Makefile.am): Substitute
54775         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
54776         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54777
54778 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
54779             Bruno Haible  <bruno@clisp.org>
54780
54781         * lib/stdint.in.h: Define all type macros so that their expansion is
54782         a single typedef'ed token. Fixes a compilation failure in Boost which
54783         does "using ::int8_t;".
54784
54785 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54786
54787         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
54788         gl_MANYWARN_ALL_GCC.
54789         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
54790         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
54791         * modules/manywarnings: New file.
54792         * MODULES.html.sh: Mention manywarnings module.
54793
54794 2008-11-18  Bruno Haible  <bruno@clisp.org>
54795
54796         * doc/gnulib-tool.texi (Unit tests): New section.
54797
54798 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54799
54800         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
54801         paths like 'lib/po/foo.po'.
54802
54803 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54804
54805         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
54806         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
54807
54808 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54809
54810         * m4/warnings.m4: Use CPPFLAGS to really check whether the
54811         parameter works.
54812
54813 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54814
54815         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
54816
54817 2008-11-17  Bruce Korb  <bkorb@gnu.org>
54818
54819         * modules/parse-duration-tests: New file.
54820         * tests/test-parse-duration.sh: New file.
54821         * tests/test-parse-duration.c: New file.
54822
54823         New module 'parse-duration'.
54824         * lib/parse-duration.h: New file.
54825         * lib/parse-duration.c: New file.
54826         * modules/parse-duration: New file.
54827
54828 2008-11-17  Bruno Haible  <bruno@clisp.org>
54829
54830         * tests/test-select-out.sh: Comment out the first pipe test.
54831         Reported by Simon Josefsson.
54832
54833 2008-11-17  Bruno Haible  <bruno@clisp.org>
54834
54835         * modules/getaddrinfo (Depends-on): Add servent, hostent.
54836         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
54837         gl_HOSTENT.
54838
54839 2008-11-17  Bruno Haible  <bruno@clisp.org>
54840
54841         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
54842         -lnetwork and -lnet. Needed for Haiku and BeOS.
54843
54844 2008-11-16  Bruno Haible  <bruno@clisp.org>
54845
54846         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
54847
54848 2008-11-16  Bruno Haible  <bruno@clisp.org>
54849
54850         Avoid test failure on Haiku.
54851         * tests/test-fsync.c: Include <errno.h>.
54852         (main): Don't require that fsync (0) fails.
54853
54854 2008-11-15  Bruno Haible  <bruno@clisp.org>
54855
54856         New module 'hostent'.
54857         * modules/hostent: New file.
54858         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
54859
54860 2008-11-15  Bruno Haible  <bruno@clisp.org>
54861
54862         New module 'servent'.
54863         * modules/servent: New file.
54864         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
54865
54866 2008-11-15  Bruno Haible  <bruno@clisp.org>
54867
54868         Avoid generating same test program with two different rules.
54869         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
54870         test-frexp to test-frexp-nolibm.
54871         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
54872         test-frexpl to test-frexpl-nolibm.
54873
54874 2008-11-15  Bruno Haible  <bruno@clisp.org>
54875
54876         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
54877         $(FREXPL_LIBM).
54878
54879 2008-11-15  Bruno Haible  <bruno@clisp.org>
54880
54881         * lib/netdb.in.h: Activate the definitions also when the system's
54882         <netdb.h> has 'struct addrinfo'.
54883         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
54884         EAI_OVERFLOW or AI_NUMERICSERV.
54885         * doc/posix-headers/netdb.texi: Document the problem.
54886
54887 2008-11-15  Bruno Haible  <bruno@clisp.org>
54888
54889         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
54890
54891         Make the 'sched' module work on platforms where <sched.h> exists but
54892         is incomplete (such as Haiku).
54893         * lib/sched.in.h; Include the system's <sched.h> if it exists.
54894         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
54895         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
54896         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
54897         HAVE_STRUCT_SCHED_PARAM.
54898         * modules/sched (Depends-on): Add include_next.
54899         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
54900         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
54901         * doc/posix-headers/sched.texi: Document the issue.
54902
54903 2008-11-13  Jim Meyering  <meyering@redhat.com>
54904
54905         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
54906         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
54907         test would fail due to the difference in the Report bugs to ...
54908         line.  The expected address is empty, "<>", while the actual
54909         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
54910
54911 2008-11-12  Bruno Haible  <bruno@clisp.org>
54912
54913         lstat: don't compile lstat.c on systems lacking lstat
54914         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
54915         which don't have lstat; this is handled by lib/sys_stat.in.h already.
54916         Reported by Daniel P. Berrange via Jim Meyering.
54917
54918 2008-11-12  Jim Meyering  <meyering@redhat.com>
54919
54920         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
54921
54922 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54923
54924         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
54925         instead.
54926
54927 2008-11-12  Bruno Haible  <bruno@clisp.org>
54928
54929         * lib/unicodeio.c: Include unistr.h.
54930         (utf8_wctomb): Remove function.
54931         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
54932
54933 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54934
54935         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
54936         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
54937         <bruno@clisp.org>.
54938         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
54939
54940 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54941
54942         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
54943         * doc/gnulib.texi: Add section for warnings.
54944
54945 2008-11-11  Bruno Haible  <bruno@clisp.org>
54946
54947         * lib/sockets.h: Add a comment.
54948
54949 2008-11-11  Karl Berry  <karl@gnu.org>
54950
54951         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
54952
54953 2008-11-11  Eric Blake  <ebb9@byu.net>
54954
54955         fdl.texi: avoid git symlinks
54956         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
54957
54958 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54959
54960         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
54961
54962 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54963
54964         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
54965         (gl_WARN_ADD): Substitute $2 if literal.
54966
54967 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54968
54969         * m4/warning.m4: Remove.
54970
54971 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54972
54973         * m4/warnings.m4: Almost complete rewrite. :-)
54974
54975 2008-11-10  Simon Josefsson  <simon@josefsson.org>
54976
54977         * modules/warnings: New module.
54978         * m4/warnings.m4: New file.
54979         * MODULES.html.sh: Mention warnings module.
54980         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
54981         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54982
54983 2008-11-10  Eric Blake  <ebb9@byu.net>
54984
54985         fdl.texi: make a symlink to the latest version
54986         * doc/standards.texi: Revert today's earlier change.
54987         * doc/fdl-1.2.texi: Rename from old fdl.texi...
54988         * doc/fdl.texi: ...and replace this with a symlink to the newer
54989         fdl-1.3.texi.
54990
54991 2008-11-10  Bruno Haible  <bruno@clisp.org>
54992
54993         * tests/test-select-fd.c (main): Accept the result file name as fourth
54994         argument.
54995         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
54996         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
54997
54998 2008-11-10  Bruno Haible  <bruno@clisp.org>
54999
55000         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
55001         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
55002         as autoconf-substituted macros.
55003         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
55004         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
55005         gl_NETDB_H_DEFAULTS. Set these variables.
55006         * modules/netdb (Makefile.am): Substitute these variables.
55007
55008 2008-11-10  Eric Blake  <ebb9@byu.net>
55009
55010         standards.texi: include correct file for FDL 1.3
55011         * doc/standards.texi (GNU Free Documentation License): Change
55012         include file to pull in FDL 1.3, not 1.2.
55013
55014         fdl.texi: revert accidental change to license
55015         * doc/fdl.texi: This is FDL 1.2, not 1.3.
55016
55017 2008-11-10  Bruno Haible  <bruno@clisp.org>
55018
55019         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
55020         cross-compiling guesses also when the native compile gives no result.
55021
55022 2008-11-10  Bruno Haible  <bruno@clisp.org>
55023
55024         * lib/spawni.c (__spawni): Force variable into the stack.
55025
55026 2008-11-10  Bruno Haible  <bruno@clisp.org>
55027
55028         Add support for Haiku.
55029         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
55030         glibc and BeOS, but also on Haiku.
55031         * lib/fpurge.c (fpurge): Likewise.
55032         * lib/freadable.c (freadable): Likewise.
55033         * lib/freadahead.c (freadahead): Likewise.
55034         * lib/freading.c (freading): Likewise.
55035         * lib/freadptr.c (freadptr): Likewise.
55036         * lib/freadseek.c (freadptrinc): Likewise.
55037         * lib/fseeko.c (rpl_fseeko): Likewise.
55038         * lib/fseterr.c (fseterr): Likewise.
55039         * lib/fwritable.c (fwritable): Likewise.
55040         * lib/fwriting.c (fwriting): Likewise.
55041         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
55042
55043 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
55044
55045         * lib/config.charset: Treat Haiku like BeOS.
55046
55047 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
55048
55049         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
55050         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
55051
55052 2008-11-08  Bruno Haible  <bruno@clisp.org>
55053
55054         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
55055         AC_CACHE_CHECK.
55056
55057 2008-11-08  Bruno Haible  <bruno@clisp.org>
55058
55059         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
55060
55061 2008-11-08  Bruno Haible  <bruno@clisp.org>
55062
55063         * tests/test-select-fd.c: New file.
55064         * tests/test-select-in.sh: New file.
55065         * tests/test-select-out.sh: New file.
55066         * tests/test-select-stdin.c: New file.
55067         * modules/select-tests (Files): Add the new files.
55068         (Depends-on): Add gettimeofday.
55069         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
55070         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
55071         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
55072
55073 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
55074             Bruno Haible  <bruno@clisp.org>
55075
55076         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
55077
55078 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
55079
55080         * build-aux/pmccabe2html: Added support for C++ source files.
55081
55082 2008-11-05  Ben Pfaff  <blp@gnu.org>
55083
55084         Fix lib/close.c build on Windows.
55085         * modules/close (Files): Add lib/w32sock.h.
55086
55087 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
55088
55089         Accept Bison's NEWS format.
55090         * build-aux/announce-gen (print_news_deltas): Tweak
55091         $re_prefix.
55092
55093 2008-11-04  Bruno Haible  <bruno@clisp.org>
55094
55095         * modules/random_r (Maintainer): Add glibc.
55096
55097 2008-11-04  Simon Josefsson  <simon@josefsson.org>
55098
55099         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
55100         by karl@freefriends.org (Karl Berry).
55101         * doc/alloca.texi: Likewise.
55102         * doc/c-ctype.texi: Likewise.
55103         * doc/c-strcase.texi: Likewise.
55104         * doc/c-strcaseeq.texi: Likewise.
55105         * doc/c-strcasestr.texi: Likewise.
55106         * doc/c-strstr.texi: Likewise.
55107         * doc/c-strtod.texi: Likewise.
55108         * doc/c-strtold.texi: Likewise.
55109         * doc/ctime.texi: Likewise.
55110         * doc/error.texi: Likewise.
55111         * doc/fdl.texi: Likewise.
55112         * doc/gcd.texi: Likewise.
55113         * doc/getdate.texi: Likewise.
55114         * doc/gnulib-intro.texi: Likewise.
55115         * doc/gnulib-tool.texi: Likewise.
55116         * doc/gnulib.texi: Likewise.
55117         * doc/inet_ntoa.texi: Likewise.
55118         * doc/maintain.texi: Likewise.
55119         * doc/make-stds.texi: Likewise.
55120         * doc/quote.texi: Likewise.
55121         * doc/regexprops-generic.texi: Likewise.
55122         * doc/standards.texi: Likewise.
55123         * doc/verify.texi: Likewise.
55124         * doc/visibility.texi: Likewise.
55125         * doc/gnulib.texi (GNU Free Documentation License): Include
55126         fdl-1.3.texi instead of fdl.texi.
55127
55128 2008-11-04  Simon Josefsson  <simon@josefsson.org>
55129
55130         * doc/fdl-1.3.texi: New file, from
55131         <http://www.gnu.org/licenses/fdl-1.3.texi>.
55132         * modules/fdl-1.3: Add.
55133         * MODULES.html.sh: Add fdl-1.3.
55134
55135 2008-11-03  Bruno Haible  <bruno@clisp.org>
55136
55137         Make determination of absolute name of header file work with AIX xlc.
55138         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
55139         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
55140         preprocessing.
55141         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
55142         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
55143
55144 2008-11-03  Simon Josefsson  <simon@josefsson.org>
55145
55146         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
55147         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
55148         <ludo@gnu.org>.
55149
55150 2008-11-02  Bruno Haible  <bruno@clisp.org>
55151
55152         Mark 'strpbrk' obsolete.
55153         * modules/strpbrk (Status, Notice): New sections.
55154         * modules/strtok_r (Depends-on): Add strpbrk.
55155
55156 2008-11-02  Bruno Haible  <bruno@clisp.org>
55157
55158         Mark 'strdup' obsolete.
55159         * modules/strdup (Status, Notice): New sections.
55160         * modules/findprog (Depends-on): Add strdup.
55161         * modules/getaddrinfo (Depends-on): Likewise.
55162         * modules/localename (Depends-on): Likewise.
55163         * modules/relocatable-lib (Depends-on): Likewise.
55164         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
55165         * modules/relocatable-prog (Depends-on): Likewise.
55166         * modules/trim (Depends-on): Likewise.
55167         * modules/unictype/gen-ctype (Depends-on): Likewise.
55168         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
55169
55170 2008-11-02  Bruno Haible  <bruno@clisp.org>
55171
55172         Mark 'strcspn' obsolete.
55173         * modules/strcspn (Status, Notice): New sections.
55174
55175 2008-11-02  Bruno Haible  <bruno@clisp.org>
55176
55177         Mark 'rmdir' obsolete.
55178         * modules/rmdir (Status, Notice): New sections.
55179         * modules/clean-temp (Depends-on): Add rmdir.
55180         * modules/openat (Depends-on): Likewise.
55181
55182 2008-11-02  Bruno Haible  <bruno@clisp.org>
55183
55184         Mark 'raise' obsolete.
55185         * modules/raise (Status, Notice): New sections.
55186         (Include): Specify <signal.h>.
55187         * modules/stdio (Depends-on): Add raise.
55188         * modules/write (Depends-on): Likewise.
55189
55190 2008-11-02  Bruno Haible  <bruno@clisp.org>
55191
55192         Mark 'memset' obsolete.
55193         * modules/memset (Status, Notice): New sections.
55194
55195 2008-11-02  Bruno Haible  <bruno@clisp.org>
55196
55197         Mark 'memmove' obsolete.
55198         * modules/memmove (Status, Notice): New sections.
55199         * modules/argp (Depends-on): Add memmove.
55200         * modules/argz (Depends-on): Likewise.
55201         * modules/canonicalize (Depends-on): Likewise.
55202         * modules/canonicalize-lgpl (Depends-on): Likewise.
55203         * modules/fts (Depends-on): Likewise.
55204         * modules/getcwd (Depends-on): Likewise.
55205         * modules/human (Depends-on): Likewise.
55206         * modules/regex (Depends-on): Likewise.
55207         * modules/striconveh (Depends-on): Likewise.
55208         * modules/trim (Depends-on): Likewise.
55209         * modules/unistr/u8-move (Depends-on): Likewise.
55210         * modules/unistr/u16-move (Depends-on): Likewise.
55211         * modules/unistr/u32-move (Depends-on): Likewise.
55212
55213 2008-11-02  Bruno Haible  <bruno@clisp.org>
55214
55215         Mark 'memcpy' obsolete.
55216         * modules/memcpy (Status, Notice): New sections.
55217
55218 2008-11-02  Bruno Haible  <bruno@clisp.org>
55219
55220         Mark 'memcmp' obsolete.
55221         * modules/memcmp (Status, Notice): New sections.
55222         * modules/argmatch (Depends-on): Add memchr.
55223         * modules/backupfile (Depends-on): Likewise.
55224         * modules/c-strcasestr (Depends-on): Likewise.
55225         * modules/crypto/des (Depends-on): Likewise.
55226         * modules/csharpcomp (Depends-on): Likewise.
55227         * modules/fnmatch (Depends-on): Likewise.
55228         * modules/git-merge-changelog (Depends-on): Likewise.
55229         * modules/isnand (Depends-on): Likewise.
55230         * modules/isnand-nolibm (Depends-on): Likewise.
55231         * modules/isnanf (Depends-on): Likewise.
55232         * modules/isnanf-nolibm (Depends-on): Likewise.
55233         * modules/isnanl (Depends-on): Likewise.
55234         * modules/isnanl-nolibm (Depends-on): Likewise.
55235         * modules/mbchar (Depends-on): Likewise.
55236         * modules/memcoll (Depends-on): Likewise.
55237         * modules/quotearg (Depends-on): Likewise.
55238         * modules/regex (Depends-on): Likewise.
55239         * modules/relocatable-prog (Depends-on): Likewise.
55240         * modules/same (Depends-on): Likewise.
55241         * modules/signbit (Depends-on): Likewise.
55242         * modules/strcasestr-simple (Depends-on): Likewise.
55243         * modules/unictype/gen-ctype (Depends-on): Likewise.
55244         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
55245         * modules/uniname/uniname (Depends-on): Likewise.
55246         * modules/unistr/u8-cmp (Depends-on): Likewise.
55247
55248 2008-11-02  Bruno Haible  <bruno@clisp.org>
55249
55250         Mark 'memchr' obsolete.
55251         * modules/memchr (Status, Notice): New sections.
55252         * modules/argp (Depends-on): Add memchr.
55253         * modules/base64 (Depends-on): Likewise.
55254         * modules/c-strcasestr (Depends-on): Likewise.
55255         * modules/chdir-long (Depends-on): Likewise.
55256         * modules/fnmatch (Depends-on): Likewise.
55257         * modules/getsubopt (Depends-on): Likewise.
55258         * modules/git-merge-changelog (Depends-on): Likewise.
55259         * modules/glob (Depends-on): Likewise.
55260         * modules/strcasestr-simple (Depends-on): Likewise.
55261         * modules/strnlen (Depends-on): Likewise.
55262
55263 2008-11-02  Bruno Haible  <bruno@clisp.org>
55264
55265         Mark 'atexit' obsolete.
55266         * modules/atexit (Status, Notice): New sections.
55267         * modules/chdir-long (Depends-on): Add atexit.
55268         * modules/wait-process (Depends-on): Likewise.
55269
55270 2008-11-02  Bruno Haible  <bruno@clisp.org>
55271
55272         * gnulib-tool: New option --with-obsolete.
55273         (func_usage): Document it.
55274         (func_modules_transitive_closure): Drop obsolete dependencies if
55275         incobsolete is not true.
55276         (func_import): Read and save the incobsolete variable to the cache.
55277
55278 2008-11-02  Bruno Haible  <bruno@clisp.org>
55279
55280         * modules/TEMPLATE-EXTENDED: New field 'Status'.
55281         * gnulib-tool: New option --extract-status.
55282         (func_usage): Document it.
55283         (sed_extract_prog): Recognize it.
55284         (func_get_status): New function.
55285
55286 2008-10-30  Simon Josefsson  <simon@josefsson.org>
55287
55288         * modules/sockets (License): Change from LGPL to LGPLv2+.
55289
55290 2008-10-28  Simon Josefsson  <simon@josefsson.org>
55291
55292         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
55293
55294 2008-10-28  Simon Josefsson  <simon@josefsson.org>
55295
55296         * MODULES.html.sh (Support for systems lacking POSIX:2001):
55297         Mention times and sys_times.
55298         * modules/sys_times, modules/sys_times-tests: New modules.
55299         * modules/times, modules/times-tests: Likewise
55300         * m4/sys_times_h.m4: New file.
55301         * lib/sys_times.in.h: Likewise
55302         * lib/times.c: Likewise.
55303         * tests/test-sys_times.c: Likewise.
55304         * tests/test-times.c: Likewise.
55305         * doc/posix-headers/sys_times.texi: Update.
55306         * doc/posix-functions/times.texi: Update.
55307
55308 2008-10-28  Jim Meyering  <meyering@redhat.com>
55309
55310         * modules/tempname (Depends-on): Add lstat.
55311
55312         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
55313
55314 2008-10-28  Simon Josefsson  <simon@josefsson.org>
55315
55316         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
55317         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
55318         using idiom used elsewhere in gnulib.
55319
55320 2008-10-27  Jim Meyering  <meyering@redhat.com>
55321
55322         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
55323
55324 2008-10-27  Simon Josefsson  <simon@josefsson.org>
55325
55326         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
55327         TESTS_ENVIRONMENT, for shell scripts that needs to call built
55328         programs.
55329         * tests/test-argp-2.sh: Use $EXEEXT when needed.
55330
55331 2008-10-27  Simon Josefsson  <simon@josefsson.org>
55332
55333         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
55334
55335 2008-10-27  Bruno Haible  <bruno@clisp.org>
55336
55337         * tests/test-lstat.c: Include <stdio.h>.
55338
55339 2008-10-27  Simon Josefsson  <simon@josefsson.org>
55340
55341         * modules/lstat-tests: New module.
55342         * tests/test-lstat.c: New file.
55343
55344 2008-10-26  Jim Meyering  <meyering@redhat.com>
55345
55346         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
55347
55348 2008-10-26  Simon Josefsson  <simon@josefsson.org>
55349             Bruno Haible  <bruno@clisp.org>
55350
55351         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
55352         * modules/configmake (Include): Add a note that the include must come
55353         after all system headers.
55354         * lib/javaversion.c: Include configmake.h after all other includes.
55355
55356 2008-10-26  Bruno Haible  <bruno@clisp.org>
55357
55358         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
55359         HAVE_STRUCT_RANDOM_DATA to 1.
55360         (gl_STDLIB_H): Simplify.
55361
55362 2008-10-26  Simon Josefsson  <simon@josefsson.org>
55363
55364         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
55365         substitute HAVE_STRUCT_RANDOM_DATA.
55366         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
55367         random_data.
55368         * modules/stdlib (Makefile.am): Substitute
55369         HAVE_STRUCT_RANDOM_DATA.
55370
55371 2008-10-26  Simon Josefsson  <simon@josefsson.org>
55372
55373         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
55374         * doc/gnulib-intro.texi (Copyright): Likewise.
55375
55376 2008-10-26  Simon Josefsson  <simon@josefsson.org>
55377
55378         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
55379         findings.
55380
55381 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
55382             Bruno Haible  <bruno@clisp.org>
55383
55384         * lib/unistd.in.h: Include <winsock2.h>.
55385         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
55386         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
55387         Provide dummy declarations.
55388         (gethostname): Override.
55389         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
55390         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
55391         gl_PREREQ_SYS_H_WINSOCK2.
55392         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
55393         * doc/posix-functions/gethostname.texi: More details.
55394
55395 2008-10-25  Bruno Haible  <bruno@clisp.org>
55396
55397         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
55398         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
55399         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
55400
55401         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
55402         here ...
55403         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
55404         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
55405         gl_UNISTD_H_DEFAULTS.
55406
55407 2008-10-25  Eric Blake  <ebb9@byu.net>
55408
55409         signbit: avoid spurious compiler failure
55410         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
55411         declarations inside function.
55412
55413 2008-10-24  Simon Josefsson  <simon@josefsson.org>
55414             Bruno Haible  <bruno@clisp.org>
55415
55416         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
55417         * modules/random_r (Depends-on): Add stdint.
55418
55419 2008-10-24  Bruno Haible  <bruno@clisp.org>
55420
55421         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
55422         Eggert.
55423         * modules/strerror (License): Likewise.
55424
55425 2008-10-24  Jim Meyering  <meyering@redhat.com>
55426
55427         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
55428         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
55429
55430 2008-10-24  Eric Blake  <ebb9@byu.net>
55431
55432         getgroups: fix compilation when getgroups is available
55433         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
55434         but with <config.h> override of getgroups disabled.
55435
55436 2008-10-24  Simon Josefsson  <simon@josefsson.org>
55437
55438         * doc/gnulib.texi (Header files): Add note about C++ problems.
55439         Explained by Bruno Haible <bruno@clisp.org>.
55440
55441 2008-10-23  Bruno Haible  <bruno@clisp.org>
55442
55443         Define a dummy SA_NODEFER macro on Interix.
55444         * lib/signal.in.h (SA_NODEFER): Define fallback.
55445         Reported by Aleksey Cheusov <cheusov@tut.by> via
55446         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
55447
55448 2008-10-23  Bruno Haible  <bruno@clisp.org>
55449
55450         * modules/freadahead (License): Change to LGPLv2+.
55451         Suggested by Simon Josefsson.
55452
55453 2008-10-23  Jim Meyering  <meyering@redhat.com>
55454
55455         random_r: new module
55456         * modules/random_r: New file.
55457         * m4/random_r.m4: New file.
55458         * lib/random_r.c: New file, from glibc.
55459         * modules/random_r-tests: New file.
55460         * tests/test-random_r.c: New file.
55461         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
55462          Declare.
55463         (RAND_MAX): Define.
55464         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
55465         * modules/stdlib: Substitute them, too.
55466         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
55467         * doc/glibc-functions/initstate_r.texi: Mention the new module.
55468         * doc/glibc-functions/random_r.texi: Likewise.
55469         * doc/glibc-functions/setstate_r.texi: Likewise.
55470         * doc/glibc-functions/srandom_r.texi: Likewise.
55471         * config/srclist.txt: Mention it.
55472
55473 2008-10-23  David Lutterkort  <lutter@redhat.com>
55474
55475         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
55476         link requirement
55477
55478 2008-10-23  Jim Meyering  <meyering@redhat.com>
55479
55480         selinux-h: mark parameters of stub functions as intentionally unused
55481         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
55482         * lib/se-context.in.h: Likewise.
55483
55484 2008-10-22  Simon Josefsson  <simon@josefsson.org>
55485
55486         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
55487
55488 2008-10-22  Simon Josefsson  <simon@josefsson.org>
55489
55490         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
55491
55492 2008-10-22  Eric Blake  <ebb9@byu.net>
55493
55494         glthread/thread: avoid compiler warning
55495         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
55496         Add unreachable abort to silence compiler.
55497
55498 2008-10-22  Eric Blake  <ebb9@byu.net>
55499
55500         netdb: also supply struct addrinfo for cygwin 1.5.x
55501         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
55502         older cygwin.
55503         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
55504         cygwin.
55505         * doc/posix-headers/netdb.texi (netdb.h): Document this.
55506
55507 2008-10-22  Bruno Haible  <bruno@clisp.org>
55508
55509         * users.txt: Update entry about pspp.
55510
55511 2008-10-21  Bruno Haible  <bruno@clisp.org>
55512
55513         Simplification.
55514         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
55515         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
55516
55517         Simplification.
55518         * lib/ioctl.c (ioctl): Don't undefine.
55519         * lib/socket.c (socket): Don't undefine.
55520
55521         Remove unused module indicator macros.
55522         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
55523         GNULIB_$1 as a C macro.
55524
55525         * doc/posix-functions/close.texi: Undo last change.
55526         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
55527         Windows platforms.
55528
55529 2008-10-21  Bruno Haible  <bruno@clisp.org>
55530
55531         Add gethostname() declaration to <unistd.h>.
55532         * lib/unistd.in.h (gethostname): New declaration.
55533         * lib/gethostname.c: Include <unistd.h>.
55534         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
55535         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
55536         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
55537         and HAVE_GETHOSTNAME.
55538         * modules/gethostname (Depends-on): Add unistd.
55539         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55540         (Include): Specify <unistd.h>.
55541         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
55542         HAVE_GETHOSTNAME.
55543         * tests/test-gethostname.c: Include <unistd.h> first.
55544
55545 2008-10-21  Bruno Haible  <bruno@clisp.org>
55546
55547         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
55548         * modules/select-tests (Depends-on): Likewise.
55549         Reported by Simon Josefsson.
55550
55551 2008-10-21  Simon Josefsson  <simon@josefsson.org>
55552
55553         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
55554         * lib/accept.c: New file, based on winsock.c.
55555         * lib/bind.c: New file, based on winsock.c.
55556         * lib/connect.c: New file, based on winsock.c.
55557         * lib/getpeername.c: New file, based on winsock.c.
55558         * lib/getsockname.c: New file, based on winsock.c.
55559         * lib/getsockopt.c: New file, based on winsock.c.
55560         * lib/ioctl.c: New file, based on winsock.c.
55561         * lib/listen.c: New file, based on winsock.c.
55562         * lib/recv.c: New file, based on winsock.c.
55563         * lib/recvfrom.c: New file, based on winsock.c.
55564         * lib/send.c: New file, based on winsock.c.
55565         * lib/sendto.c: New file, based on winsock.c.
55566         * lib/setsockopt.c: New file, based on winsock.c.
55567         * lib/shutdown.c: New file, based on winsock.c.
55568         * lib/socket.c: New file, based on winsock.c.
55569         * lib/w32sock.h: New file, based on winsock.c.
55570         * lib/winsock.c: Remove file.
55571         * modules/accept: Likewise.
55572         * modules/bind: Likewise.
55573         * modules/connect: Likewise.
55574         * modules/getpeername: Likewise.
55575         * modules/getsockname: Likewise.
55576         * modules/getsockopt: Likewise.
55577         * modules/ioctl: Likewise.
55578         * modules/listen: Likewise.
55579         * modules/recv: Likewise.
55580         * modules/recvfrom: Likewise.
55581         * modules/send: Likewise.
55582         * modules/sendto: Likewise.
55583         * modules/setsockopt: Likewise.
55584         * modules/shutdown: Likewise.
55585         * modules/socket: Use socket.c instead of winsock.c.
55586         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
55587         * doc/posix-functions/accept.texi: Doc fix.
55588         * doc/posix-functions/bind.texi: Doc fix.
55589         * doc/posix-functions/close.texi: Doc fix.
55590         * doc/posix-functions/connect.texi: Doc fix.
55591         * doc/posix-functions/getpeername.texi: Doc fix.
55592         * doc/posix-functions/getsockname.texi: Doc fix.
55593         * doc/posix-functions/getsockopt.texi: Doc fix.
55594         * doc/posix-functions/ioctl.texi: Doc fix.
55595         * doc/posix-functions/listen.texi: Doc fix.
55596         * doc/posix-functions/recv.texi: Doc fix.
55597         * doc/posix-functions/recvfrom.texi: Doc fix.
55598         * doc/posix-functions/send.texi: Doc fix.
55599         * doc/posix-functions/sendto.texi: Doc fix.
55600         * doc/posix-functions/setsockopt.texi: Doc fix.
55601         * doc/posix-functions/shutdown.texi: Doc fix.
55602         * doc/posix-functions/socket.texi: Doc fix.
55603
55604 2008-10-20  Bruno Haible  <bruno@clisp.org>
55605
55606         Take into account the role of SIGABRT_COMPAT on Windows 2008.
55607         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
55608         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
55609         as an alias for SIGABRT.
55610         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
55611         (sigaction): Map it to SIGABRT.
55612         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
55613
55614 2008-10-20  Bruno Haible  <bruno@clisp.org>
55615
55616         * lib/fts.c: Don't include lstat.h.
55617         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
55618
55619         Move the lstat() declaration to <sys/stat.h>.
55620         * lib/lstat.h: Remove file.
55621         * lib/sys_stat.in.h: Add special invocation convention.
55622         (lstat): New declaration.
55623         * lib/lstat.c (orig_lstat): New function.
55624         (rpl_lstat): Use orig_lstat instead of lstat.
55625         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
55626         AC_C_INLINE. Set REPLACE_LSTAT.
55627         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
55628         and REPLACE_LSTAT.
55629         * modules/lstat (Files): Remove lib/lstat.h.
55630         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
55631         (Include): Specify <sys/stat.h> instead of lstat.h.
55632         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
55633         REPLACE_LSTAT.
55634         * NEWS: Mention the change.
55635
55636 2008-10-20  Bruno Haible  <bruno@clisp.org>
55637
55638         * modules/posix_spawn-tests: New file.
55639         * tests/test-posix_spawn3.c: New file.
55640
55641 2008-10-20  Bruno Haible  <bruno@clisp.org>
55642
55643         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
55644         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
55645         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
55646         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
55647         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
55648
55649 2008-10-20  Bruno Haible  <bruno@clisp.org>
55650
55651         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
55652         of posix_spawn on AIX 5.3.
55653
55654 2008-10-20  Bruno Haible  <bruno@clisp.org>
55655
55656         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
55657
55658 2008-10-20  Bruno Haible  <bruno@clisp.org>
55659
55660         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
55661         of AC_LANG_PROGRAM.
55662
55663 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55664
55665         * lib/netdb.in.h: Don't define GNU specific constants until they
55666         are supported or needed.  Reported by Bruno Haible
55667         <bruno@clisp.org>.
55668
55669 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55670
55671         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
55672
55673 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55674
55675         * lib/getaddrinfo.h: Remove file.
55676         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
55677         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
55678         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
55679         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
55680         * modules/netdb: Substitute GNULIB_GETADDRINFO.
55681         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
55682         * tests/test-getaddrinfo.c: Likewise.
55683         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
55684         * NEWS: Mention change.
55685
55686 2008-10-19  Bruno Haible  <bruno@clisp.org>
55687
55688         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
55689
55690 2008-10-19  Bruno Haible  <bruno@clisp.org>
55691
55692         * lib/wait-process.c: Include simply <sys/wait.h>.
55693         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
55694         WIFSTOPPED): Remove fallback definitions.
55695         * modules/wait-process (Depends-on): Add sys_wait.
55696
55697         New module 'sys_wait'.
55698         * modules/sys_wait: New file.
55699         * lib/sys_wait.in.h: New file, partially copied from
55700         lib/wait-process.c.
55701         * m4/sys_wait_h.m4: New file.
55702         * doc/posix-headers/sys_wait.texi: Mention the new module.
55703
55704 2008-10-19  Bruno Haible  <bruno@clisp.org>
55705
55706         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
55707
55708 2008-10-19  Bruno Haible  <bruno@clisp.org>
55709
55710         Assume that waitpid() fills an 'int' status, not a 'union wait'.
55711         * lib/wait-process.c (WAIT_T): Remove type.
55712         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
55713         (wait_subprocess): Update.
55714
55715 2008-10-19  Bruno Haible  <bruno@clisp.org>
55716
55717         New module 'atoll'.
55718         * modules/atoll: New file.
55719         * lib/stdlib.in.h (atoll): New declaration.
55720         * lib/atoll.c: New file, from glibc with modifications.
55721         * m4/atoll.m4: New file.
55722         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
55723         HAVE_ATOLL.
55724         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
55725         * doc/posix-functions/atoll.texi: Mention the new module.
55726
55727 2008-10-19  Bruno Haible  <bruno@clisp.org>
55728
55729         Add strtoull() declaration to <stdlib.h>.
55730         * lib/stdlib.in.h (strtoull): New declaration.
55731         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
55732         Set HAVE_STRTOULL.
55733         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
55734         HAVE_STRTOULL.
55735         * modules/strtoull (Depends-on): Add stdlib.
55736         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55737         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
55738         HAVE_STRTOULL.
55739
55740 2008-10-19  Bruno Haible  <bruno@clisp.org>
55741
55742         Add strtoll() declaration to <stdlib.h>.
55743         * lib/stdlib.in.h (strtoll): New declaration.
55744         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
55745         Set HAVE_STRTOLL.
55746         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
55747         HAVE_STRTOLL.
55748         * modules/strtoll (Depends-on): Add stdlib.
55749         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55750         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
55751
55752 2008-10-19  Bruno Haible  <bruno@clisp.org>
55753
55754         * modules/bcopy (Depends-on): Add strings.
55755         (Include): Specify <strings.h>.
55756
55757 2008-10-19  Bruno Haible  <bruno@clisp.org>
55758
55759         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
55760
55761 2008-10-19  Bruno Haible  <bruno@clisp.org>
55762
55763         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
55764         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
55765         mingw.
55766
55767 2008-10-19  Bruno Haible  <bruno@clisp.org>
55768
55769         * lib/atanl.c: Don't include isnanl.h.
55770         * lib/cosl.c: Likewise.
55771         * lib/ldexpl.c: Likewise.
55772         * lib/logl.c: Likewise.
55773         * lib/sinl.c: Likewise.
55774         * lib/sqrtl.c: Likewise.
55775         * lib/tanl.c: Likewise.
55776
55777         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
55778         * lib/isnanf.h: Remove file.
55779         * lib/isnand.h: Remove file.
55780         * lib/isnanl.h: Remove file.
55781         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
55782         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
55783         macros.
55784         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
55785         HAVE_ISNANF, don't define it as a C macro.
55786         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
55787         HAVE_ISNAND, don't define it as a C macro.
55788         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
55789         HAVE_ISNANL, don't define it as a C macro.
55790         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
55791         HAVE_ISNAN[FDL].
55792         * modules/isnanf (Files): Remove lib/isnanf.h.
55793         (Depends-on): Add math.
55794         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55795         (Include): Specify <math.h> instead of isnanf.h.
55796         * modules/isnand (Files): Remove lib/isnand.h.
55797         (Depends-on): Add math.
55798         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55799         (Include): Specify <math.h> instead of isnand.h.
55800         * modules/isnanl (Files): Remove lib/isnanl.h.
55801         (Depends-on): Add math.
55802         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55803         (Include): Specify <math.h> instead of isnanl.h.
55804         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
55805         HAVE_ISNAN[FDL].
55806         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
55807         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
55808         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
55809         * NEWS: Mention the change.
55810
55811 2008-10-18  Bruno Haible  <bruno@clisp.org>
55812
55813         Add getusershell(), setusershell(), endusershell() declarations to
55814         <unistd.h>.
55815         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
55816         declarations.
55817         * lib/getusershell.c: Include unistd.h.
55818         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
55819         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55820         HAVE_GETUSERSHELL.
55821         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
55822         and HAVE_GETUSERSHELL.
55823         * modules/getusershell (Depends-on): Add unistd, extensions.
55824         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55825         (Include): Specify <unistd.h>.
55826         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
55827         HAVE_GETUSERSHELL.
55828
55829 2008-10-18  Bruno Haible  <bruno@clisp.org>
55830
55831         Add a getloadavg() declaration to <stdlib.h>.
55832         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
55833         getloadavg declaration.
55834         (getloadavg): New declaration.
55835         * lib/getloadavg.c: Include <stdlib.h> first.
55836         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
55837         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
55838         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
55839         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
55840         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55841         * modules/getloadavg (Depends-on): Add stdlib, extensions.
55842         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55843         (Include): Specify <stdlib.h>.
55844         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
55845         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55846
55847 2008-10-18  Bruno Haible  <bruno@clisp.org>
55848
55849         * lib/dirchownmod.c: Don't include lchmod.h.
55850
55851         Move the lchmod() declaration to <sys/stat.h>.
55852         * lib/lchmod.h: Remove file.
55853         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
55854         (lchmod): New declaration, moved here from lib/lchown.h.
55855         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
55856         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
55857         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
55858         and HAVE_LCHMOD.
55859         * modules/lchmod (Files): Remove lib/lchmod.h.
55860         (Depends-on): Add sys_stat, extensions.
55861         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
55862         (Include): Specify <sys/stat.h> instead of lchmod.h.
55863         * modules/sys_stat (Depends-on): Add link-warning.
55864         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
55865         definition of GL_LINK_WARNING.
55866         * NEWS: Mention the change.
55867
55868 2008-10-18  Bruno Haible  <bruno@clisp.org>
55869
55870         * lib/fchdir.c: Don't include dirfd.h.
55871         * lib/fts.c: Likewise.
55872         * lib/getcwd.c: Likewise.
55873         * lib/glob.c: Likewise.
55874
55875         Move the dirfd() declaration to <dirent.h>.
55876         * lib/dirfd.h: Remove file.
55877         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
55878         (dirfd): New declaration.
55879         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
55880         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
55881         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
55882         HAVE_DECL_DIRFD.
55883         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
55884         HAVE_DECL_DIRFD.
55885         * modules/dirfd (Files): Remove lib/dirfd.h.
55886         (Depends-on): Add dirent, extensions.
55887         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
55888         (Include): Specify <dirent.h> instead of dirfd.h.
55889         * modules/dirent (Depends-on): Add link-warning.
55890         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
55891         definition of GL_LINK_WARNING.
55892         * NEWS: Mention the change.
55893
55894 2008-10-18  Bruno Haible  <bruno@clisp.org>
55895
55896         Move the euidaccess() declaration to <unistd.h>.
55897         * lib/euidaccess.h: Remove file.
55898         * lib/unistd.in.h (euidaccess): New declaration.
55899         * lib/euidaccess.c: Don't include euidaccess.h.
55900         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
55901         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
55902         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
55903         and HAVE_EUIDACCESS.
55904         * modules/euidaccess (Files): Remove lib/euidaccess.h.
55905         (Depends-on): Add unistd.
55906         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55907         (Include): Specify <unistd.h> instead of euidaccess.h.
55908         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
55909         HAVE_EUIDACCESS.
55910         * NEWS: Mention the change.
55911
55912 2008-10-18  Bruno Haible  <bruno@clisp.org>
55913
55914         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
55915
55916         Move the getdomainname() declaration to <unistd.h>.
55917         * lib/getdomainname.h: Remove file.
55918         * lib/unistd.in.h (getdomainname): New declaration.
55919         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
55920         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
55921         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55922         HAVE_GETDOMAINNAME.
55923         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55924         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
55925         * modules/getdomainname (Files): Remove lib/getdomainname.h.
55926         (Depends-on): Add unistd, extensions.
55927         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55928         (Includes): Specify <unistd.h> instead of getdomainname.h.
55929         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
55930         HAVE_GETDOMAINNAME.
55931         * NEWS: Mention the change.
55932
55933 2008-10-18  Bruno Haible  <bruno@clisp.org>
55934
55935         * modules/dirent: New file.
55936         * m4/dirent_h.m4: New file.
55937         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
55938         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
55939         * modules/fchdir (Files): Remove lib/dirent.in.h.
55940         (Depends-on): Add dirent.
55941         (Makefile.am): Move rules to modules/dirent.
55942         * doc/posix-headers/dirent.texi: Mention the new module.
55943
55944 2008-10-18  Bruno Haible  <bruno@clisp.org>
55945
55946         Avoid -Wunused-parameter warnings in public gnulib header files.
55947         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
55948         macro.
55949         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
55950
55951 2008-10-18  Bruno Haible  <bruno@clisp.org>
55952
55953         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
55954         * doc/glibc-functions/error.texi: Mention the module 'error'.
55955         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
55956         * doc/glibc-functions/getdomainname.texi: Mention the module
55957         'getdomainname'.
55958         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
55959         * doc/glibc-functions/getpagesize.texi: Mention the module
55960         'getpagesize'.
55961         * doc/glibc-functions/getusershell.texi: Mention the module
55962         'getusershell'.
55963         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
55964         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
55965         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
55966         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
55967         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
55968         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
55969         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
55970         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
55971         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
55972         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
55973         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
55974         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
55975         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
55976         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
55977
55978 2008-10-17  Bruno Haible  <bruno@clisp.org>
55979
55980         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
55981         HP-UX and IRIX, use -0.0L.
55982         * tests/test-ceill.c (minus_zero): Likewise.
55983         * tests/test-floorl.c (minus_zero): Likewise.
55984         * tests/test-frexpl.c (minus_zero): Likewise.
55985         * tests/test-isnan.c (minus_zerol): Likewise.
55986         * tests/test-isnanl.h (minus_zero): Likewise.
55987         * tests/test-ldexpl.c (minus_zero): Likewise.
55988         * tests/test-roundl.c (minus_zero): Likewise.
55989         * tests/test-signbit.c (minus_zerol): Likewise.
55990         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
55991         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
55992         * tests/test-truncl.c (minus_zero): Likewise.
55993         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
55994         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
55995         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
55996         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
55997
55998 2008-10-17  Bruno Haible  <bruno@clisp.org>
55999
56000         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
56001         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
56002         that it gets activated only for gcc >= 3.0.
56003         * lib/dirent.in.h: Likewise.
56004         * lib/errno.in.h: Likewise.
56005         * lib/fcntl.in.h: Likewise.
56006         * lib/float.in.h: Likewise.
56007         * lib/iconv.in.h: Likewise.
56008         * lib/inttypes.in.h: Likewise.
56009         * lib/locale.in.h: Likewise.
56010         * lib/math.in.h: Likewise.
56011         * lib/netdb.in.h: Likewise.
56012         * lib/netinet_in.in.h: Likewise.
56013         * lib/search.in.h: Likewise.
56014         * lib/signal.in.h: Likewise.
56015         * lib/spawn.in.h: Likewise.
56016         * lib/stdarg.in.h: Likewise.
56017         * lib/stdint.in.h: Likewise.
56018         * lib/stdio.in.h: Likewise.
56019         * lib/stdlib.in.h: Likewise.
56020         * lib/string.in.h: Likewise.
56021         * lib/strings.in.h: Likewise.
56022         * lib/sys_file.in.h: Likewise.
56023         * lib/sys_ioctl.in.h: Likewise.
56024         * lib/sys_select.in.h: Likewise.
56025         * lib/sys_socket.in.h: Likewise.
56026         * lib/sys_stat.in.h: Likewise.
56027         * lib/sys_time.in.h: Likewise.
56028         * lib/sysexits.in.h: Likewise.
56029         * lib/time.in.h: Likewise.
56030         * lib/unistd.in.h: Likewise.
56031         * lib/wchar.in.h: Likewise.
56032         * lib/wctype.in.h: Likewise.
56033         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56034
56035 2008-10-17  Jim Meyering  <meyering@redhat.com>
56036
56037         ignore-value: don't depend on inline module
56038         * modules/ignore-value (Depends-on): Remove 'inline'.
56039         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
56040         Suggestion from Bruno Haible.
56041
56042 2008-10-17  Bruno Haible  <bruno@clisp.org>
56043
56044         New implementation of condition variables for Win32.
56045         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
56046         (gl_linked_waitqueue_t): New type.
56047         (gl_cond_t): Use it.
56048         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
56049         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
56050         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
56051         (glthread_cond_init_func, glthread_cond_wait_func,
56052         glthread_cond_timedwait_func, glthread_cond_signal_func,
56053         glthread_cond_broadcast_func, glthread_cond_destroy_func):
56054         Reimplemented on the basis of gl_linked_waitqueue_t.
56055         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
56056         gl_waitqueue_t.
56057         (gl_rwlock_t): Update.
56058         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
56059
56060 2008-10-17  Simon Josefsson  <simon@josefsson.org>
56061
56062         * modules/recvfrom (Depends-on): Add dependency on getpeername.
56063         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
56064
56065 2008-10-17  Jim Meyering  <meyering@redhat.com>
56066
56067         ignore-value: new module
56068         * modules/ignore-value: New file.
56069         * lib/ignore-value.h: New file.
56070         * MODULES.html.sh (Compiler warning management): New section,
56071         just for this module.  More to come.
56072
56073 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
56074
56075         open-safer.c: avoid 'signed and unsigned in conditional...' warning
56076         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
56077         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
56078
56079 2008-10-16  Jim Meyering  <meyering@redhat.com>
56080
56081         openat-die.c: avoid 'no previous prototype' warning
56082         * lib/openat-die.c: Include "openat.h".
56083         Reported by Reuben Thomas <rrt@sc3d.org>.
56084
56085 2008-10-16  Simon Josefsson  <simon@josefsson.org>
56086
56087         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
56088         * lib/netdb.in.h: Fix typo.
56089         Reported by Bruno Haible  <bruno@clisp.org>
56090
56091         * lib/netdb.in.h: Include sys/socket.h for platforms without
56092         netdb.h, to get structures like hostent on MinGW.
56093         * modules/netdb (Depends-on): Add sys_socket.
56094
56095 2008-10-15  Simon Josefsson  <simon@josefsson.org>
56096
56097         * modules/netdb, modules/netdb-tests: New file.
56098         * m4/netdb_h.m4: New file.
56099         * lib/netdb.in.h: Add, currently just an empty file pending
56100         definitions.
56101         * tests/test-netdb.c: New file.
56102         * doc/posix-headers/netdb.texi: Mention that we replace it if
56103         needed.
56104         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56105         netdb.
56106
56107 2008-10-15  Simon Josefsson  <simon@josefsson.org>
56108
56109         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
56110         with code.
56111
56112 2008-10-13  Bruno Haible  <bruno@clisp.org>
56113
56114         * lib/glthread/cond.c (glthread_cond_wait_func,
56115         glthread_cond_timedwait_func): Add a comment.
56116
56117 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
56118
56119         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
56120         * tests/test-select.c: Likewise,
56121
56122 2008-10-13  Bruno Haible  <bruno@clisp.org>
56123
56124         * lib/glthread/cond.c (glthread_cond_wait_func,
56125         glthread_cond_timedwait_func): Fix variable name.
56126         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
56127
56128 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
56129
56130         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
56131         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
56132         struct sockaddr.sa_len.
56133         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
56134
56135 2008-10-13  Simon Josefsson  <simon@josefsson.org>
56136
56137         * build-aux/pmccabe2html: Add css and css_url parameters.
56138
56139 2008-10-12  Bruno Haible  <bruno@clisp.org>
56140
56141         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
56142         calling aclx_get.
56143         Reported by Rainer Tammer <tammer@tammer.net>.
56144
56145 2008-10-12  Bruno Haible  <bruno@clisp.org>
56146
56147         Use msvcrt aware primitives for creation/termination of Win32 threads.
56148         * lib/glthread/thread.c: Include <process.h>.
56149         (glthread_create_func): Use _beginthreadex instead of CreateThread.
56150         (wrapper_func): Update signature.
56151         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
56152
56153 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
56154             Bruno Haible  <bruno@clisp.org>
56155
56156         Provide a Win32 implementation of the 'cond' module.
56157         * lib/glthread/cond.h [USE_WIN32]: New implementation.
56158         * lib/glthread/cond.c (glthread_cond_init_func,
56159         glthread_cond_wait_func, glthread_cond_timedwait_func,
56160         glthread_cond_signal_func, glthread_cond_broadcast_func,
56161         glthread_cond_destroy_func) [USE_WIN32]: New functions.
56162         * modules/cond (Dependencies): Add gettimeofday.
56163
56164 2008-10-11  Bruno Haible  <bruno@clisp.org>
56165
56166         Make sleep work on older versions of mingw.
56167         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
56168         only whether it exists.
56169         * doc/posix-functions/sleep.texi: Mention the problem with older
56170         versions of mingw.
56171
56172 2008-10-11  Bruno Haible  <bruno@clisp.org>
56173
56174         New module 'shutdown'.
56175         * modules/shutdown: New file.
56176         * lib/sys_socket.in.h (shutdown): New declaration.
56177         * lib/winsock.c (shutdown): New function.
56178         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
56179         GNULIB_SHUTDOWN.
56180         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
56181         * doc/posix-functions/shutdown.texi: Document the new module.
56182
56183 2008-10-11  Jim Meyering  <meyering@redhat.com>
56184
56185         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
56186
56187 2008-10-11  Bruno Haible  <bruno@clisp.org>
56188
56189         New module 'fclose'.
56190         * modules/fclose: New file.
56191         * lib/stdio.in.h (fclose): New declaration.
56192         * lib/fclose.c: New file.
56193         * m4/fclose.m4: New file.
56194         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
56195         REPLACE_FCLOSE.
56196         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
56197         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
56198         REPLACE_FCLOSE.
56199         * modules/close (Depends-on): fclose.
56200         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
56201
56202 2008-10-11  Bruno Haible  <bruno@clisp.org>
56203
56204         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
56205         set errno and don't call _close.
56206
56207 2008-10-10  Bruno Haible  <bruno@clisp.org>
56208
56209         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
56210         ACL, not afterwards. Fixes test failure on Cygwin.
56211
56212 2008-10-09  Ben Pfaff  <blp@gnu.org>
56213
56214         * build-aux/announce-gen: Fix gnulib version related part of usage
56215         message.  Die with a useful error message if no tarballs are
56216         found.
56217
56218 2008-10-10  Jim Meyering  <meyering@redhat.com>
56219
56220         bootstrap: use git's --depth=N option only if it's supported
56221         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
56222         recognize the --depth option.  Reported by Pádraig Brady.
56223
56224 2008-10-09  Bruno Haible  <bruno@clisp.org>
56225
56226         New module 'ioctl'.
56227         * modules/ioctl: New file.
56228         * lib/sys_socket.in.h (ioctl): Remove declaration.
56229         * lib/winsock.c: Include <sys/ioctl.h>.
56230         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
56231         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
56232         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
56233         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
56234         * doc/posix-functions/ioctl.texi: Mention the new module.
56235
56236 2008-10-09  Bruno Haible  <bruno@clisp.org>
56237
56238         New module 'sys_ioctl'.
56239         * lib/sys_ioctl.in.h: New file.
56240         * m4/sys_ioctl_h.m4: New file.
56241         * modules/sys_ioctl: New file.
56242         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
56243
56244 2008-10-09  Bruno Haible  <bruno@clisp.org>
56245
56246         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
56247         * lib/winsock.c: Include <stdarg.h>.
56248         (rpl_ioctl): Change to second argument 'int' and then varargs.
56249
56250 2008-10-09  Bruno Haible  <bruno@clisp.org>
56251
56252         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
56253         when the sys_socket module is present and the system has <winsock2.h>.
56254
56255 2008-10-09  Bruno Haible  <bruno@clisp.org>
56256
56257         * doc/posix-functions/close.texi: Mention module 'close' instead of
56258         module 'sys_socket'.
56259
56260 2008-10-09  Bruno Haible  <bruno@clisp.org>
56261
56262         * doc/glibc-headers/sys_ioctl.texi: New file.
56263         * doc/gnulib.texi: Include it.
56264
56265 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
56266             Bruno Haible  <bruno@clisp.org>
56267
56268         Combine the two replacements of 'close'.
56269         * lib/sys_socket.in.h (close): Define to a reminder to include
56270         <unistd.h>.
56271         (_gl_close_fd_maybe_socket): New declaration.
56272         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
56273         * lib/winsock.c (close): Remove undefinition.
56274         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
56275         needed for the gnulib module 'close'.
56276         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
56277         define to an error symbol or to a warning, if suitable.
56278         * lib/close.c: Include <sys/socket.h>.
56279         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
56280         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
56281         UNISTD_H_HAVE_WINSOCK2_H.
56282         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
56283         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56284         UNISTD_H_HAVE_WINSOCK2_H.
56285         * modules/sys_socket (Files): Add m4/unistd_h.m4.
56286         (configure.ac): Set a module indicator.
56287         (Makefile.am): Substitute GNULIB_CLOSE.
56288         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
56289         * modules/poll-tests (Depends-on): Add close.
56290         * modules/select-tests (Depends-on): Likewise.
56291
56292 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
56293             Bruno Haible  <bruno@clisp.org>
56294
56295         New module 'close'.
56296         * modules/close: New file.
56297         * lib/unistd.in.h (close): Move declaration out of the
56298         FCHDIR_REPLACEMENT scope.
56299         (_gl_unregister_fd): New declaration.
56300         * lib/close.c: New file.
56301         * lib/fchdir.c (rpl_close): Remove function.
56302         * m4/close.m4: New file.
56303         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
56304         close.
56305         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
56306         REPLACE_CLOSE.
56307         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
56308         REPLACE_CLOSE.
56309         * modules/fchdir (Depends-on): Add close.
56310
56311 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
56312             Bruno Haible  <bruno@clisp.org>
56313
56314         * lib/fcntl.in.h (open): Simplify conditionals.
56315         (_gl_register_fd): New declaration.
56316         * lib/fchdir.c (rpl_open): Remove function.
56317         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
56318         also.
56319         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
56320         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
56321         open.
56322
56323 2008-10-09  Jim Meyering  <meyering@redhat.com>
56324
56325         GNUmakefile: use the more name-space-friendly "_version"
56326         * top/GNUmakefile (_dummy): Update.
56327         (_version): Rename from "version".
56328
56329 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
56330             Bruno Haible  <bruno@clisp.org>
56331
56332         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
56333         rpl_close.
56334         (_gl_register_fd): New function, extracted from rpl_open.
56335         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
56336         (rpl_open, rpl_opendir): Use _gl_register_fd.
56337
56338 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
56339
56340         Fix organization of 'open' replacement.
56341         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
56342         (gl_FUNC_OPEN): Use it.
56343         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
56344
56345 2008-10-08  Bruno Haible  <bruno@clisp.org>
56346
56347         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
56348
56349 2008-10-08  Simon Josefsson  <simon@josefsson.org>
56350
56351         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
56352         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
56353         listen).
56354
56355 2008-10-08  Eric Blake  <ebb9@byu.net>
56356
56357         GNUmakefile: add 'make version' target
56358         * top/GNUmakefile (_curr-ver): Split version update rules...
56359         (version): ...into a target.
56360
56361 2008-10-07  Bruno Haible  <bruno@clisp.org>
56362
56363         Use a more portable replacement expression for -0.0L.
56364         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
56365         instead of -0.0L. Fix m4 quotation.
56366
56367         * tests/test-signbit.c: Include <float.h>.
56368         (minus_zero): New variable.
56369         (test_signbitl): Use minus_zero instead of -zero.
56370         * modules/signbit-tests (Depends-on): Add float.
56371
56372         * tests/test-ceill.c: Include <float.h>.
56373         (zero): Remove variable.
56374         (minus_zero): New variable.
56375         (main): Use minus_zero instead of -zero.
56376         * modules/ceill-tests (Depends-on): Add float.
56377
56378         * tests/test-floorl.c: Include <float.h>.
56379         (zero): Remove variable.
56380         (minus_zero): New variable.
56381         (main): Use minus_zero instead of -zero.
56382         * modules/floorl-tests (Depends-on): Add float.
56383
56384         * tests/test-roundl.c: Include <float.h>.
56385         (zero): Remove variable.
56386         (minus_zero): New variable.
56387         (main): Use minus_zero instead of -zero.
56388         * modules/roundl-tests (Depends-on): Add float.
56389
56390         * tests/test-truncl.c: Include <float.h>.
56391         (zero): Remove variable.
56392         (minus_zero): New variable.
56393         (main): Use minus_zero instead of -zero.
56394         * modules/truncl-tests (Depends-on): Add float.
56395
56396         * tests/test-frexpl.c (zero): Remove variable.
56397         (minus_zero): New variable.
56398         (main): Use minus_zero instead of -zero.
56399         * modules/frexpl-tests (Depends-on): Add float.
56400
56401         * tests/test-isnan.c (zerol): Remove variable.
56402         (minus_zerol): New variable.
56403         (test_long_double): Use minus_zerol instead of -zerol.
56404         * modules/isnan-tests (Depends-on): Add float.
56405
56406         * tests/test-isnanl.h (zero): Remove variable.
56407         (minus_zero): New variable.
56408         (main): Use minus_zero instead of -zero.
56409         * modules/isnanl-nolibm-tests (Depends-on): Add float.
56410         * modules/isnanl-tests (Depends-on): Add float.
56411
56412         * tests/test-ldexpl.c (zero): Remove variable.
56413         (minus_zero): New variable.
56414         (main): Use minus_zero instead of -zero.
56415         * modules/ldexpl-tests (Depends-on): Add float.
56416
56417         * tests/test-snprintf-posix.h (zerol): Remove variable.
56418         (minus_zerol): New variable.
56419         (test_function): Use minus_zerol instead of -zerol.
56420         * modules/snprintf-posix-tests (Depends-on): Add float.
56421         * modules/vsnprintf-posix-tests (Depends-on): Add float.
56422
56423         * tests/test-sprintf-posix.h (zerol): Remove variable.
56424         (minus_zerol): New variable.
56425         (test_function): Use minus_zerol instead of -zerol.
56426         * modules/sprintf-posix-tests (Depends-on): Add float.
56427         * modules/vsprintf-posix-tests (Depends-on): Add float.
56428
56429         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
56430         (minus_zerol): New variable.
56431         (test_function): Use minus_zerol instead of -zerol.
56432         * modules/vasnprintf-posix-tests (Depends-on): Add float.
56433
56434         * tests/test-vasprintf-posix.c (zerol): Remove variable.
56435         (minus_zerol): New variable.
56436         (test_function): Use minus_zerol instead of -zerol.
56437         * modules/vasprintf-posix-tests (Depends-on): Add float.
56438
56439 2008-10-07  Simon Josefsson  <simon@josefsson.org>
56440
56441         * MODULES.html.sh (Support for building documentation): Mention
56442         pmccabe2html.  Sort entries.
56443
56444         Add pmccabe2html module, from gnupdf.
56445         * build-aux/pmccabe.css: New file.
56446         * build-aux/pmccabe2html: New file.
56447         * m4/pmccabe2html.m4: New file.
56448         * modules/pmccabe2html: New file.
56449
56450 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
56451
56452         flock: new module
56453         * MODULES.html.sh: Add to list of modules.
56454         * lib/flock.c: flock implementation for Windows and Unix systems
56455         which have fcntl.
56456         * doc/glibc-functions/flock.texi: Update documentation.
56457         * lib/sys_file.in.h: <sys/file.h> header file.
56458         * m4/flock.m4: M4 macros.
56459         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
56460         * modules/flock: flock module.
56461         * modules/flock-tests: flock tests module.
56462         * modules/sys_file: sys/file.h module.
56463         * tests/test-flock.c: test suite for flock.
56464
56465 2008-10-06  Jim Meyering  <meyering@redhat.com>
56466
56467         bootstrap: check for LT_INIT more portably still ;-)
56468         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
56469         Spotted by Bruno Haible.
56470
56471 2008-10-06  Eric Blake  <ebb9@byu.net>
56472
56473         test-signbit: avoid tripping Irix cc bug on -0.0L
56474         * tests/test-signbit.c (minus_zerol): Delete, and replace with
56475         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
56476         entire testsuite consistent and avoids an Irix 6.2 bug.
56477
56478 2008-10-05  Bruno Haible  <bruno@clisp.org>
56479             Jim Meyering  <jim@meyering.net>
56480
56481         Add an option for ignoring EPIPE during close_stdout.
56482         * lib/closeout.h: Include <stdbool.h>.
56483         (close_stdout_set_ignore_EPIPE): New declaration.
56484         * lib/closeout.c: Include <stdbool.h>.
56485         (ignore_EPIPE): New variable.
56486         (close_stdout_set_ignore_EPIPE): New function.
56487         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
56488         * lib/close-stream.c (close_stream): Mention the possible EPIPE
56489         failure.
56490         * modules/closeout (Depends-on): Add stdbool.
56491
56492 2008-10-05  Bruno Haible  <bruno@clisp.org>
56493
56494         * modules/accept: New file.
56495         * modules/bind: New file.
56496         * modules/connect: New file.
56497         * modules/getpeername: New file.
56498         * modules/getsockname: New file.
56499         * modules/getsockopt: New file.
56500         * modules/listen: New file.
56501         * modules/recv: New file.
56502         * modules/recvfrom: New file.
56503         * modules/send: New file.
56504         * modules/sendto: New file.
56505         * modules/setsockopt: New file.
56506         * modules/socket: New file.
56507         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
56508         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
56509         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
56510         the particular module is requested. Add a link warning when the
56511         particular module is not requested.
56512         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
56513         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
56514         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
56515         the particular module is requested.
56516         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
56517         gl_SYS_SOCKET_H_DEFAULTS): New macros.
56518         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
56519         * modules/sys_socket (Depends-on): Add link-warning.
56520         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
56521         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
56522         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
56523         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
56524         GL_LINK_WARNING.
56525         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
56526         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
56527         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
56528         * doc/posix-functions/getpeername.texi: Mention the new module
56529         'getpeername'.
56530         * doc/posix-functions/getsockname.texi: Mention the new module
56531         'getsockname'.
56532         * doc/posix-functions/getsockopt.texi: Mention the new module
56533         'getsockopt'.
56534         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
56535         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
56536         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
56537         * doc/posix-functions/send.texi: Mention the new module 'send'.
56538         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
56539         * doc/posix-functions/setsockopt.texi: Mention the new module
56540         'setsockopt'.
56541         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
56542         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
56543         listen, connect, accept.
56544         * modules/select-tests (Depends-on): Likewise.
56545
56546 2008-10-05  Bruno Haible  <bruno@clisp.org>
56547
56548         * lib/winsock.c (strerror): Remove unused #undef.
56549         (rpl_close): Remove unused local variable.
56550
56551         * modules/sys_socket (Depends-on); Add errno.
56552
56553 2008-10-05  Bruno Haible  <bruno@clisp.org>
56554
56555         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
56556         (select): Add a link warning when the 'select' module is not used.
56557         * modules/sys_select (Depends-on): Add link-warning.
56558         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
56559         Suggested by Paolo Bonzini.
56560
56561 2008-10-05  Jim Meyering  <meyering@redhat.com>
56562
56563         bootstrap: check for LT_INIT more portably
56564         * build-aux/bootstrap: Avoid using grep -E, since it's not
56565         portable enough.  Suggestion from Bruno Haible.
56566
56567 2008-10-05  Bruno Haible  <bruno@clisp.org>
56568
56569         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
56570         as being fixed by gnulib.
56571
56572 2008-10-05  Bruno Haible  <bruno@clisp.org>
56573
56574         * modules/select-tests: New file, mostly copied from
56575         modules/sys_select-tests.
56576         * tests/test-select.c: New file, mostly copied from
56577         tests/test-sys_select.c.
56578         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
56579         * modules/sys_select-tests (Depends-on): Remove all dependencies.
56580         (Makefile.am): Remove test_sys_select_LDADD.
56581
56582         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
56583         to an undefined symbol, for an error message.
56584         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
56585         (gl_SYS_SELECT_H_DEFAULTS): New macro.
56586         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
56587         winsock-select.c here.
56588         * modules/sys_select (Files): Remove lib/winsock-select.c.
56589         (Depends-on): Remove alloca.
56590         (Makefile.am): Substitute GNULIB_SELECT.
56591         * modules/select: New file.
56592         * doc/posix-functions/select.texi: Update.
56593
56594 2008-10-05  Bruno Haible  <bruno@clisp.org>
56595
56596         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
56597         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
56598         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
56599         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
56600         getdtablesize.
56601         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
56602         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
56603
56604 2008-10-05  Bruno Haible  <bruno@clisp.org>
56605
56606         * modules/getdtablesize-tests: New file.
56607         * tests/test-getdtablesize.c: New file.
56608
56609         New module 'getdtablesize'.
56610         * lib/unistd.in.h (getdtablesize): New declaration.
56611         * lib/getdtablesize.c: New file.
56612         * m4/getdtablesize.m4: New file.
56613         * modules/getdtablesize: New file.
56614         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56615         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
56616         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
56617         HAVE_GETDTABLESIZE.
56618         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
56619
56620 2008-10-05  Bruno Haible  <bruno@clisp.org>
56621
56622         * modules/sched (Makefile.am): Fix typo.
56623         Reported by Simon Josefsson.
56624
56625 2008-10-05  Jim Meyering  <meyering@redhat.com>
56626
56627         bootstrap: check for LT_INIT, too
56628         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
56629         are deprecated.  Suggestion from Ralf Wildenhues.
56630
56631 2008-10-05  Bruno Haible  <bruno@clisp.org>
56632
56633         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
56634         overriding them by ours.
56635         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
56636
56637 2008-10-05  Jim Meyering  <meyering@redhat.com>
56638
56639         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
56640         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
56641         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
56642
56643 2008-10-04  Bruno Haible  <bruno@clisp.org>
56644
56645         * modules/dup2 (License): Change to LGPLv2+.
56646         * modules/sleep (License): Likewise.
56647         * modules/perror (License): Likewise.
56648         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
56649         Blake.
56650         * modules/signal (License): Likewise.
56651         * modules/sigprocmask (License): Likewise.
56652         * modules/raise (License): Change to LGPLv2+, with approval by Jim
56653         Meyering.
56654
56655 2008-10-04  Bruno Haible  <bruno@clisp.org>
56656
56657         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
56658         Reported by Rainer Tammer <tammer@tammer.net>.
56659
56660 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
56661             Bruno Haible  <bruno@clisp.org>
56662
56663         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
56664         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
56665         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
56666
56667 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
56668
56669         filevercmp: new module
56670         * lib/filevercmp.h: New function filevercmp comparing version strings.
56671         * lib/filevercmp.c: Implementation of filevercmp function.
56672         * modules/filevercmp: Module metadata.
56673         * tests/test-filevercmp.c: Unit test for new module.
56674         * modules/filevercmp-tests: Unit test metadata.
56675         * MODULES.html.sh: Add filevercmp module.
56676
56677 2008-10-03  Bruno Haible  <bruno@clisp.org>
56678
56679         * lib/c-ctype.h: Add comment.
56680         Reported by Jim Meyering.
56681
56682 2008-10-02  Bruno Haible  <bruno@clisp.org>
56683
56684         * modules/posix_spawn-internal (Depends-on): Add 'open'.
56685
56686 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56687
56688         * build-aux/bootstrap: Allow renaming bootstrap, and change the
56689         name of bootstrap.conf accordingly.
56690
56691 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56692
56693         * build-aux/bootstrap: Install git-merge-changelog configuration
56694         items into .gitconfig if needed.
56695
56696 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56697
56698         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
56699         git repository, and initialize/update it accordingly.
56700
56701 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
56702
56703         * modules/fsync-tests: New file.
56704         * tests/test-fsync.c: New file.
56705
56706         New module 'fsync'.
56707         * lib/fsync.c: New file.
56708         * m4/fsync.m4: New file.
56709         * modules/fsync: New file.
56710         * lib/unistd.in.h (fsync): New declaration.
56711         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
56712         GNULIB_FSYNC and HAVE_FSYNC.
56713         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
56714         * MODULES.html.sh (posix_functions): Add fsync.
56715         * doc/posix-functions/fsync.texi: Mention the new module.
56716
56717 2008-10-02  Jim Meyering  <meyering@redhat.com>
56718
56719         fts.c: sync with similar code from coreutils' remove.c
56720         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
56721         Guard also with "#if defined __linux__", since for now at least,
56722         this code is Linux-kernel-specific.
56723
56724 2008-10-02  Jim Meyering  <meyering@redhat.com>
56725
56726         fts: bug fixes
56727         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
56728         Include <sys/vfs.h>, not <sys/statfs.h>.
56729
56730         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
56731         Include <sys/vfs.h>, not <sys/statfs.h>.
56732
56733 2008-10-01  Bruno Haible  <bruno@clisp.org>
56734
56735         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
56736         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
56737         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
56738         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
56739         * doc/posix-functions/posix_spawnp.texi: Likewise.
56740         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
56741         whether posix_spawn actually works.
56742         * m4/pipe.m4 (gl_PIPE): Likewise.
56743         * modules/execute (Files): Add m4/posix_spawn.m4.
56744         * modules/pipe (Files): Add m4/posix_spawn.m4.
56745         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
56746
56747 2008-10-01  Jim Meyering  <meyering@redhat.com>
56748
56749         remove trailing spaces
56750         * NEWS: Likewise.
56751         * lib/poll.c (poll): Likewise.
56752         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
56753         * lib/winsock.c (rpl_close): Likewise.
56754         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
56755         * modules/yield: Likewise.
56756         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
56757         * tests/test-sys_select.c (connect_to_socket): Likewise.
56758
56759         fts.c: adjust a new interface to be more generally useful
56760         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
56761         (fts_build): Adjust caller.
56762
56763 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56764
56765         * modules/cond-tests: New file.
56766         * tests/test-cond.c: New file.
56767
56768 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56769             Bruno Haible  <bruno@clisp.org>
56770
56771         * modules/cond (Dependencies): Add errno, time.
56772         * lib/glthread/cond.h: Include <time.h>.
56773         (gl_cond_define, gl_cond_define_initialized): Use the same definition
56774         across platforms.
56775
56776 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56777             Bruno Haible  <bruno@clisp.org>
56778
56779         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
56780
56781 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56782             Bruno Haible  <bruno@clisp.org>
56783
56784         * modules/tls-tests (Depends-on): Add thread, yield.
56785         (configure.ac): Remove all checks.
56786         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
56787         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56788         gl_thread_self): Remove definitions. Include glthread/thread.h and
56789         glthread/yield.h instead.
56790         (test_tls): Pass an additional NULL argument to gl_thread_join.
56791
56792 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56793             Bruno Haible  <bruno@clisp.org>
56794
56795         * modules/lock-tests (Depends-on): Add thread, yield.
56796         (configure.ac): Remove all checks.
56797         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
56798         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56799         gl_thread_self): Remove definitions. Include glthread/thread.h and
56800         glthread/yield.h instead.
56801         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
56802         additional NULL argument to gl_thread_join.
56803
56804 2008-09-30  Bruno Haible  <bruno@clisp.org>
56805
56806         Fix the Win32 implementation of the 'thread' module.
56807         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
56808         pointer type.
56809         (gl_thread_self): Invoke gl_thread_self_func.
56810         (gl_thread_self_func): New declaration.
56811         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
56812         (do_init_self_key, init_self_key): New functions.
56813         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
56814         Remove some fields.
56815         (running_threads, running_lock): Remove variables.
56816         (get_current_thread_handle): New function.
56817         (gl_thread_self_func, wrapper_func, glthread_create_func,
56818         glthread_join_func, gl_thread_exit_func): Largely rewritten and
56819         simplified.
56820
56821 2008-09-30  Bruno Haible  <bruno@clisp.org>
56822
56823         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
56824         files.
56825
56826 2008-09-30  Jim Meyering  <meyering@redhat.com>
56827
56828         fts.m4: correct the test for statfs.f_type
56829         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
56830         when checking for statfs.f_type.
56831
56832 2008-09-15  Simon Josefsson  <simon@josefsson.org>
56833
56834         tests: avoid some compiler warnings
56835         * tests/test-memchr.c (main): Pass NULL indirectly.
56836         * tests/test-getdate.c (main): Remove unused variable 'ret'.
56837
56838 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
56839
56840         getdate.y: disallow countable dayshifts like "4 yesterday ago"
56841         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
56842         exactly specified dayshifts.
56843         (dayshift): New rule.
56844         (rel): Add dayshift.
56845         (relative_time_table) [tomorrow, yesterday, today, now]:
56846         Use tDAY_SHIFT in place of tDAY_UNIT.
56847         * tests/test-getdate.c: Add tests for now-disallowed countable
56848         dayshifts, e.g., "4 yesterday ago".
56849
56850 2008-09-29  Bruno Haible  <bruno@clisp.org>
56851
56852         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
56853         * tests/test-posix_spawn1.in.sh: Renamed from
56854         tests/test-posix_spawn.in.sh.
56855         * tests/test-posix_spawn2.c: New file.
56856         * tests/test-posix_spawn2.in.sh: New file.
56857         * modules/posix_spawnp-tests (Files): Update.
56858         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
56859
56860 2008-09-29  Bruno Haible  <bruno@clisp.org>
56861
56862         Propagate effects of putenv/setenv/unsetenv to child processes.
56863         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
56864         * lib/pipe.c (create_pipe): Likewise.
56865
56866 2008-09-29  Bruno Haible  <bruno@clisp.org>
56867
56868         Enable use of shell scripts as executables in mingw.
56869         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
56870         run the program as a shell script.
56871         * lib/pipe.c (create_pipe): Likewise.
56872         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
56873         resulting array.
56874
56875 2008-09-29  Eric Blake  <ebb9@byu.net>
56876
56877         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
56878
56879 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
56880
56881         * doc/posix-functions/accept.texi: Update mingw problems.
56882         * doc/posix-functions/bind.texi: Update mingw problems.
56883         * doc/posix-functions/close.texi: Update mingw problems.
56884         * doc/posix-functions/connect.texi: Update mingw problems.
56885         * doc/posix-functions/getpeername.texi: Update mingw problems.
56886         * doc/posix-functions/getsockname.texi: Update mingw problems.
56887         * doc/posix-functions/getsockopt.texi: Update mingw problems.
56888         * doc/posix-functions/ioctl.texi: Update mingw problems.
56889         * doc/posix-functions/listen.texi: Update mingw problems.
56890         * doc/posix-functions/recv.texi: Update mingw problems.
56891         * doc/posix-functions/recvfrom.texi: Update mingw problems.
56892         * doc/posix-functions/select.texi: Update mingw problems.
56893         * doc/posix-functions/send.texi: Update mingw problems.
56894         * doc/posix-functions/sendto.texi: Update mingw problems.
56895         * doc/posix-functions/setsockopt.texi: Update mingw problems.
56896         * doc/posix-functions/socket.texi: Update mingw problems.
56897
56898 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
56899             Bruno Haible  <bruno@clisp.org>
56900
56901         * lib/sys_select.in.h: Include sys/time.h.
56902         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
56903         * modules/sys_select: Depend on sys_time.
56904         * tests/test-sys_select.c: Test that sys/select.h defines struct
56905         timeval fully.
56906
56907 2008-09-29  Bruno Haible  <bruno@clisp.org>
56908
56909         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
56910         * lib/sys_select.in.h: Likewise.
56911
56912 2008-09-29  Bruno Haible  <bruno@clisp.org>
56913
56914         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
56915
56916 2008-09-29  Bruno Haible  <bruno@clisp.org>
56917
56918         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
56919         Set LIBSOCKET instead of augmenting LIBS.
56920         * modules/sockets (Link): New section.
56921         * modules/sockets-tests (test_sockets_LDADD): New variable.
56922         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
56923         * modules/poll-tests (test_poll_LDADD): New variable.
56924         * NEWS: Document the change.
56925
56926 2008-09-29  Bruno Haible  <bruno@clisp.org>
56927
56928         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
56929         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
56930         ARPA_INET_H directly.
56931         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56932
56933 2008-09-28  Bruno Haible  <bruno@clisp.org>
56934
56935         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
56936         from gl_HEADER_SYS_SOCKET.
56937         (gl_HEADER_SYS_SOCKET): Invoke it.
56938         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56939
56940 2008-09-28  Bruno Haible  <bruno@clisp.org>
56941
56942         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
56943         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
56944         Needed on OSF/1 4.0.
56945
56946 2008-09-28  Bruno Haible  <bruno@clisp.org>
56947
56948         Override open more carefully.
56949         * lib/open.c (orig_open): New function.
56950         (rpl_open): Use orig_open instead of open.
56951         * lib/fcntl.in.h: Add special invocation convention.
56952         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
56953         (gl_FUNC_OPEN): Invoke it.
56954
56955         Override freopen more carefully.
56956         * lib/freopen.c (orig_freopen): New function.
56957         (rpl_freopen): Use orig_freopen instead of freopen.
56958         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
56959         (gl_FUNC_FREOPEN): Invoke it.
56960
56961         Override fopen more carefully.
56962         * lib/fopen.c (orig_fopen): New function.
56963         (rpl_fopen): Use orig_fopen instead of fopen.
56964         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
56965         (gl_FUNC_FOPEN): Invoke it.
56966         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
56967
56968 2008-09-28  Bruno Haible  <bruno@clisp.org>
56969
56970         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
56971         SIGPIPE.
56972
56973 2008-09-28  Bruno Haible  <bruno@clisp.org>
56974
56975         * tests/test-sigaction.c (handler, main): Disable the check whether
56976         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
56977         glibc systems with LinuxThreads.
56978
56979 2008-09-28  Bruno Haible  <bruno@clisp.org>
56980
56981         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
56982
56983         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
56984         with AIX xlc.
56985         * lib/fcntl.in.h (open): Likewise.
56986         Reported by Rainer Tammer <tammer@tammer.net>.
56987
56988 2008-09-28  Bruno Haible  <bruno@clisp.org>
56989
56990         * modules/posix_spawnp-tests: New file.
56991         * tests/test-posix_spawn.c: New file.
56992         * tests/test-posix_spawn.in.sh: New file.
56993
56994         New module 'posix_spawnp'.
56995         * modules/posix_spawnp: New file.
56996         * lib/spawnp.c: New file, from GNU libc with modifications.
56997         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
56998
56999         New module 'posix_spawn'.
57000         * modules/posix_spawn: New file.
57001         * lib/spawn.c: New file, from GNU libc with modifications.
57002         * doc/posix-functions/posix_spawn.texi: Mention the new module.
57003
57004         New module 'posix_spawnattr_destroy'.
57005         * modules/posix_spawnattr_destroy: New file.
57006         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
57007         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
57008         module.
57009
57010         New module 'posix_spawnattr_setsigmask'.
57011         * modules/posix_spawnattr_setsigmask: New file.
57012         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
57013         modifications.
57014         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
57015         new module.
57016
57017         New module 'posix_spawnattr_getsigmask'.
57018         * modules/posix_spawnattr_getsigmask: New file.
57019         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
57020         modifications.
57021         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
57022         new module.
57023
57024         New module 'posix_spawnattr_setsigdefault'.
57025         * modules/posix_spawnattr_setsigdefault: New file.
57026         * lib/spawnattr_setdefault.c: New file, from GNU libc with
57027         modifications.
57028         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
57029         new module.
57030
57031         New module 'posix_spawnattr_getsigdefault'.
57032         * modules/posix_spawnattr_getsigdefault: New file.
57033         * lib/spawnattr_getdefault.c: New file, from GNU libc with
57034         modifications.
57035         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
57036         new module.
57037
57038         New module 'posix_spawnattr_setschedpolicy'.
57039         * modules/posix_spawnattr_setschedpolicy: New file.
57040         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
57041         modifications.
57042         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
57043         new module.
57044
57045         New module 'posix_spawnattr_getschedpolicy'.
57046         * modules/posix_spawnattr_getschedpolicy: New file.
57047         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
57048         modifications.
57049         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
57050         new module.
57051
57052         New module 'posix_spawnattr_setschedparam'.
57053         * modules/posix_spawnattr_setschedparam: New file.
57054         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
57055         modifications.
57056         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
57057         new module.
57058
57059         New module 'posix_spawnattr_getschedparam'.
57060         * modules/posix_spawnattr_getschedparam: New file.
57061         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
57062         modifications.
57063         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
57064         new module.
57065
57066         New module 'posix_spawnattr_setpgroup'.
57067         * modules/posix_spawnattr_setpgroup: New file.
57068         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
57069         modifications.
57070         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
57071         module.
57072
57073         New module 'posix_spawnattr_getpgroup'.
57074         * modules/posix_spawnattr_getpgroup: New file.
57075         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
57076         modifications.
57077         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
57078         module.
57079
57080         New module 'posix_spawnattr_setflags'.
57081         * modules/posix_spawnattr_setflags: New file.
57082         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
57083         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
57084         module.
57085
57086         New module 'posix_spawnattr_getflags'.
57087         * modules/posix_spawnattr_getflags: New file.
57088         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
57089         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
57090         module.
57091
57092         New module 'posix_spawnattr_init'.
57093         * modules/posix_spawnattr_init: New file.
57094         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
57095         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
57096         module.
57097
57098         New module 'posix_spawn_file_actions_destroy'.
57099         * modules/posix_spawn_file_actions_destroy: New file.
57100         * lib/spawn_faction_destroy.c: New file, from GNU libc with
57101         modifications.
57102         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
57103         the new module.
57104
57105         New module 'posix_spawn_file_actions_addopen'.
57106         * modules/posix_spawn_file_actions_addopen: New file.
57107         * lib/spawn_faction_addopen.c: New file, from GNU libc with
57108         modifications.
57109         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
57110         the new module.
57111
57112         New module 'posix_spawn_file_actions_adddup2'.
57113         * modules/posix_spawn_file_actions_adddup2: New file.
57114         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
57115         modifications.
57116         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
57117         the new module.
57118
57119         New module 'posix_spawn_file_actions_addclose'.
57120         * modules/posix_spawn_file_actions_addclose: New file.
57121         * lib/spawn_faction_addclose.c: New file, from GNU libc with
57122         modifications.
57123         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
57124         the new module.
57125
57126         New module 'posix_spawn_file_actions_init'.
57127         * modules/posix_spawn_file_actions_init: New file.
57128         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
57129         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
57130         new module.
57131
57132         New module 'posix_spawn-internal'.
57133         * modules/posix_spawn-internal: New file.
57134         * lib/spawn_int.h: New file, from GNU libc with modifications.
57135         * lib/spawni.c: New file, from GNU libc with modifications.
57136         * m4/posix_spawn.m4: New file.
57137
57138         New module 'spawn'.
57139         * modules/spawn: New file.
57140         * lib/spawn.in.h: New file, from GNU libc with modifications.
57141         * m4/spawn_h.m4: New file.
57142         * doc/posix-headers/spawn.texi: Mention the new module.
57143
57144 2008-09-28  Bruno Haible  <bruno@clisp.org>
57145
57146         * modules/sched-tests: New file.
57147         * tests/test-sched.c: New file.
57148
57149         New module 'sched'.
57150         * modules/sched: New file.
57151         * lib/sched.in.h: New file.
57152         * m4/sched_h.m4: New file.
57153         * doc/posix-headers/sched.texi: Mention the new module.
57154
57155 2008-09-27  Eric Blake  <ebb9@byu.net>
57156
57157         Fix previous patch, and tweak references to $0.
57158         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
57159         (func_version, func_gnulib_dir): Don't call this program
57160         gnulib-tool.
57161         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
57162         with using $0 in function.
57163         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
57164         (func_fatal_error): Reuse the name the user invoked us with.
57165
57166 2008-09-27  Bruno Haible  <bruno@clisp.org>
57167
57168         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
57169         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
57170         (gl_ICONV_H): Not here.
57171         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
57172         instead of assigning ICONV_H directly.
57173
57174         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
57175         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
57176         WCHAR_H directly.
57177
57178 2008-09-27  Bruno Haible  <bruno@clisp.org>
57179
57180         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
57181         * modules/arpa_inet (Depends-on): Add link-warning.
57182         (Makefile.am): Insert the definition of GL_LINK-WARNING.
57183         * modules/unistd (Makefile.am): Likewise.
57184
57185 2008-09-26  Bruno Haible  <bruno@clisp.org>
57186
57187         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
57188         variables.
57189         (func_version): Essentially copied from gnulib-tool.
57190         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
57191         func_readlink): Copied from gnulib-tool.
57192
57193 2008-09-26  Bruno Haible  <bruno@clisp.org>
57194
57195         * gnulib-tool (func_version): Change directory to $gnulib_dir before
57196         invoking git-version-gen.
57197
57198 2008-09-26  Bruno Haible  <bruno@clisp.org>
57199
57200         * posix-modules: Update to directory names changed on 2008-01-19.
57201         Remove commas in output before splitting into words. No more need to
57202         avoid 'ftruncate' since 2007-02-19.
57203
57204 2008-09-26  Bruno Haible  <bruno@clisp.org>
57205
57206         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
57207
57208 2008-09-26  Bruno Haible  <bruno@clisp.org>
57209
57210         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
57211         * modules/fwriteerror (Depends-on): Add errno.
57212
57213 2008-09-26  Bruno Haible  <bruno@clisp.org>
57214
57215         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
57216         * tests/test-vc-list-files-cvs.sh: Likewise.
57217
57218 2008-09-26  Bruno Haible  <bruno@clisp.org>
57219
57220         * doc/posix-headers/sys_resource.texi: Reorder items.
57221
57222 2008-09-26  Jim Meyering  <meyering@redhat.com>
57223
57224         fts: tweak inode comparison function
57225         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
57226         inode numbers, as documented.
57227
57228         fts: sort dirent entries on inode number before traversing
57229         This avoids a quadratic, seek-related performance penalty when
57230         operating on a directory containing many entries (measurable at 10k;
57231         3.5 hours at 2 million entries with a cold cache) on certain types
57232         of file systems, including ext3 and ext4, but not tmpfs.
57233         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
57234         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
57235         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
57236         (fs_handles_readdir_ordered_dirents_efficiently): New function.
57237         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
57238         (fts_build): Set the stat.st_ino member from D_INO.
57239         If it is likely to be useful, sort dirent entries on inode number.
57240
57241         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
57242         and the struct statfs.f_type member.
57243         * modules/fts (Depends-on): Add d-ino.
57244
57245 2008-09-26  Bruno Haible  <bruno@clisp.org>
57246
57247         * modules/sigpipe-die (Depends-on): Add sigpipe.
57248
57249         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
57250         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
57251         and GNULIB_STDIO_H_SIGPIPE are set.
57252         * lib/stdio-write.c: New file.
57253         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
57254         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
57255         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
57256         REPLACE_STDIO_WRITE_FUNCS.
57257         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
57258         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
57259         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
57260         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
57261         * modules/stdio (Files): Add lib/stdio-write.c.
57262         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
57263         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
57264         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
57265         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
57266         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
57267         REPLACE_FPRINTF_POSIX.
57268         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
57269         REPLACE_PRINTF_POSIX.
57270         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
57271         REPLACE_VFPRINTF_POSIX.
57272         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
57273         REPLACE_VPRINTF_POSIX.
57274         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
57275         SIGPIPE issue.
57276         * doc/posix-functions/fputc.texi: Likewise.
57277         * doc/posix-functions/fputs.texi: Likewise.
57278         * doc/posix-functions/fwrite.texi: Likewise.
57279         * doc/posix-functions/printf.texi: Likewise.
57280         * doc/posix-functions/putc.texi: Likewise.
57281         * doc/posix-functions/putchar.texi: Likewise.
57282         * doc/posix-functions/puts.texi: Likewise.
57283         * doc/posix-functions/vfprintf.texi: Likewise.
57284         * doc/posix-functions/vprintf.texi: Likewise.
57285
57286         * modules/safe-write (Depends-on): Add write.
57287
57288         * modules/sigpipe-tests: New file.
57289         * tests/test-sigpipe.c: New file.
57290         * tests/test-sigpipe.sh: New file.
57291
57292         * modules/write: New file.
57293         * lib/unistd.in.h: Include <sys/types.h>.
57294         (write): New declaration.
57295         * lib/write.c: New file.
57296         * m4/write.m4: New file.
57297         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
57298         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
57299         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
57300         GNULIB_WRITE, REPLACE_WRITE.
57301         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
57302         and the SIGPIPE issue.
57303
57304         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
57305         (raise): New declaration.
57306         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
57307         (ext_signal): New function.
57308         (rpl_raise): New function.
57309         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
57310         GNULIB_SIGNAL_H_SIGPIPE.
57311         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
57312         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
57313
57314         * modules/sigpipe: New file.
57315         * m4/sigpipe.m4: New file.
57316
57317 2008-09-25  Derek Price  <derek@ximbiot.com>
57318             Bruno Haible  <bruno@clisp.org>
57319
57320         * gnulib-tool (func_import): Report all license incompatibilities, not
57321         just the first one.
57322
57323 2008-09-25  Bruno Haible  <bruno@clisp.org>
57324
57325         * gnulib-tool (func_import): When computing the edits, consider not
57326         only the Makefile.ams that exist but also those that will be generated.
57327
57328 2008-09-25  Simon Josefsson  <simon@josefsson.org>
57329
57330         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
57331         fixes gnulib-tool --test warning about duplicate dependency.
57332
57333 2008-09-25  Bruno Haible  <bruno@clisp.org>
57334
57335         * gnulib-tool: Don't ask the user to perform edits in the generated
57336         Makefile.ams.
57337         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
57338         apply to the Makefile.am being generated.
57339         (func_emit_tests_Makefile_am): Execute edits that apply to the
57340         Makefile.am being generated.
57341         (func_import): Setup list of Makefile.am edits before emitting the
57342         Makefile.ams, not at the end.
57343         (func_create_testdir): Update.
57344         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57345
57346 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57347
57348         * gnulib-tool (func_import): Store the --tests-base option in the
57349         comment in gnulib-cache.m4.
57350
57351 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
57352
57353         * NEWS: Document increased portability that sys_select now provides.
57354
57355         * lib/sys_select.in.h: Install select wrapper.
57356         * lib/sys_socket.in.h: Use more descriptive name when there is no
57357         select wrapper.
57358         * lib/winsock-select.c: New.
57359         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
57360         Require gl_HEADER_SYS_SOCKET.
57361         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
57362         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
57363         * tests/test-sys_select.c: Add functional tests.
57364
57365 2008-09-24  Eric Blake  <ebb9@byu.net>
57366
57367         open, fopen: close fd leak in last patch
57368         * lib/open.c (rpl_open): Close fd before returning error.
57369         * lib/fopen.c (rpl_fopen): Close fd before returning error.
57370         * doc/posix-functions/open.texi (open): Document that Irix also
57371         has the bug.
57372         * doc/posix-functions/fopen.texi (fopen): Likewise.
57373         Reported by Paolo Bonzini.
57374
57375 2008-09-24  Bruno Haible  <bruno@clisp.org>
57376
57377         Ensure that a filename ending in a slash cannot be used to access a
57378         non-directory.
57379         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
57380         to check whether it's really a directory.
57381         * lib/fopen.c: Include fcntl.h, unistd.h.
57382         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
57383         and fdopen().
57384         * modules/fopen (Depends-on): Add unistd.
57385         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
57386         * tests/test-fopen.c (main): Likewise.
57387         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
57388         * doc/posix-functions/fopen.texi: Likewise.
57389         Reported by Eric Blake.
57390
57391 2008-09-23  Eric Blake  <ebb9@byu.net>
57392
57393         c-stack: avoid compiler optimizations when provoking overflow
57394         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
57395         recursion harder to optimize, to ensure a stack overflow occurs.
57396         * tests/test-c-stack.c (recurse): Likewise.
57397         Borrowed from libsigsegv.
57398
57399         c-stack: work around Irix sigaltstack bug
57400         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
57401         whether sigaltstack uses wrong end of stack_t (copied in part from
57402         libsigsegv).
57403         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
57404         Irix bug, without requiring an over-allocation.
57405         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
57406         bug.
57407
57408         fopen: document mingw bug on directories
57409         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
57410         not allowing a stream visiting a directory, even though reading
57411         from such a stream is not portable.
57412
57413 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
57414
57415         * lib/poll.c: Rewrite.
57416         * modules/poll: Depend on alloca.
57417
57418 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
57419
57420         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
57421         instead define prototypes for a full set of wrappers.  Ensure
57422         that Cygwin does not use the compatibility code, which is only
57423         for MinGW.
57424         * lib/winsock.c: New.
57425         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
57426         * modules/sys_socket: Add lib/winsock.c.
57427
57428         * modules/poll-tests: Add errno and perror.
57429         * tests/test-poll.c: Use ioctl, not ioctlsocket.
57430
57431 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
57432
57433         * tests/test-poll.c: Downgrade minimum needed Winsock version.
57434
57435 2008-09-23  Bruno Haible  <bruno@clisp.org>
57436
57437         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
57438         * doc/glibc-functions/*: Likewise.
57439
57440 2008-09-23  Simon Josefsson  <simon@josefsson.org>
57441
57442         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
57443         success.
57444
57445 2008-09-22  Eric Blake  <ebb9@byu.net>
57446             Bruno Haible  <bruno@clisp.org>
57447
57448         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
57449         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
57450         supply %A but mishandle pseudo-NaN.
57451         Reported by Simon Josefsson.
57452
57453 2008-09-21  Bruno Haible  <bruno@clisp.org>
57454
57455         * tests/test-lock.c (main): Tweak skip message.
57456         * tests/test-tls.c (main): Likewise.
57457
57458 2008-09-21  Bruno Haible  <bruno@clisp.org>
57459
57460         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
57461         whether 'struct sigaction' has sa_sigaction here...
57462         (gl_PREREQ_SIG_HANDLER_H): ... not here.
57463         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
57464
57465 2008-09-21  Bruno Haible  <bruno@clisp.org>
57466
57467         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
57468         section.
57469         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
57470         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
57471         the new section.
57472         (Support for obsolete systems lacking POSIX:2001): New section.
57473         (String handling <string.h>): Move strdup to the new section.
57474         Suggested by Simon Josefsson and Paolo Bonzini.
57475
57476 2008-09-21  Bruno Haible  <bruno@clisp.org>
57477
57478         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
57479         exponents in %e and %g results on 'long double'. Needed for mingw's
57480         improved *printf functions.
57481         * tests/test-vasprintf-posix.c (test_function): Likewise.
57482         * tests/test-snprintf-posix.h (test_function): Likewise.
57483         * tests/test-sprintf-posix.h (test_function): Likewise.
57484         Reported by Eric Blake.
57485
57486 2008-09-21  Bruno Haible  <bruno@clisp.org>
57487
57488         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
57489         * tests/test-sprintf-posix.h (test_function): Likewise.
57490
57491 2008-09-21  Bruno Haible  <bruno@clisp.org>
57492
57493         * modules/getpass (Depends-on): Add strdup-posix.
57494
57495         New module 'strdup-posix'.
57496         * modules/strdup-posix: New file.
57497         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
57498         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
57499         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
57500         REPLACE_STRDUP.
57501         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
57502         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
57503         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57504         strdup-posix.
57505
57506         * modules/strdup (Depends-on): Remove malloc-posix.
57507
57508 2008-09-20  Bruno Haible  <bruno@clisp.org>
57509
57510         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
57511         Wildenhues.
57512
57513 2008-09-20  Bruno Haible  <bruno@clisp.org>
57514
57515         Ensure that wint_t gets defined on IRIX 5.3.
57516         * lib/wchar.in.h (wint_t): Define if not defined by the system.
57517         * lib/wctype.in.h (wint_t): Likewise.
57518         (__wctype_wint_t): Remove type.
57519         (isw*): Use wint_t instead of __wctype_wint_t.
57520         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
57521         * modules/wchar (Files): Add m4/wint_t.m4.
57522         (Makefile.am): Substitute HAVE_WINT_T.
57523         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
57524         * tests/test-wctype.c: Check that wint_t is defined.
57525         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
57526         * doc/posix-headers/wctype.texi: Likewise.
57527         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
57528
57529 2008-09-18  Bruno Haible  <bruno@clisp.org>
57530
57531         * gnulib-tool (func_exit): Update comment.
57532
57533 2008-09-18  Simon Josefsson  <simon@josefsson.org>
57534
57535         * modules/getaddrinfo (Depends-on): Remove strdup, this module
57536         assumes strdup exists and does not depend on strdup to return
57537         ENOMEM on out of memory conditions.
57538
57539 2008-09-18  Bruno Haible  <bruno@clisp.org>
57540
57541         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
57542         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
57543         digits for the exponent.
57544
57545 2008-09-18  Jim Meyering  <meyering@redhat.com>
57546             Bruno Haible  <bruno@clisp.org>
57547
57548         * lib/vasnprintf.c (decimal_point_char): Define also if
57549         NEED_PRINTF_INFINITE_LONG_DOUBLE.
57550
57551 2008-09-16  Bruno Haible  <bruno@clisp.org>
57552         and Eric Blake  <ebb9@byu.net>
57553
57554         vasnprintf: support Irix 5.3
57555         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
57556         that mishandle long double infinity.
57557         Reported by Tom G. Christensen.
57558
57559 2008-09-16  Bruno Haible  <bruno@clisp.org>
57560
57561         * doc/glibc-functions/scandir.texi: Mention the function is missing on
57562         Solaris 9.
57563         * doc/glibc-functions/alphasort.texi: Likewise.
57564         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
57565
57566 2008-09-16  Jim Meyering  <meyering@redhat.com>
57567
57568         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
57569         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
57570         a umask modification leak out of a subshell.  Otherwise, the
57571         opensolaris /bin/sh would be accepted and thus cause unwarranted
57572         failures in the coreutils test suite.
57573
57574 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
57575
57576         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
57577         to succeed.
57578
57579 2008-09-16  Jim Meyering  <meyering@redhat.com>
57580
57581         avoid spurious test failure when library is built without ACL support
57582         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
57583         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
57584         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
57585         * tests/test-copy-acl.sh: Likewise.
57586
57587 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57588
57589         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
57590         based on character occurrence counts.
57591
57592 2008-09-15  Eric Blake  <ebb9@byu.net>
57593
57594         tests: avoid some compiler warnings
57595         * tests/test-memchr.c (main): Pass NULL indirectly.
57596         * tests/test-closein.c (main): Avoid unused variable.
57597
57598 2008-09-15  Bruno Haible  <bruno@clisp.org>
57599
57600         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
57601         are missing on OpenBSD 4.0 individually.
57602         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57603
57604 2008-09-15  Bruno Haible  <bruno@clisp.org>
57605
57606         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
57607         * doc/posix-functions/strerror.texi: Mention also Cygwin.
57608         * doc/posix-functions/perror.texi: Likewise.
57609         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
57610         is missing.
57611         Reported by Eric Blake.
57612
57613         * lib/errno.in.h: Use replacement values >= 2000.
57614         Reported by Eric Blake.
57615
57616 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57617
57618         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
57619         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
57620         limit.
57621         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
57622         compareseq was aborted.
57623
57624 2008-09-14  Bruno Haible  <bruno@clisp.org>
57625
57626         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
57627         yvec_edit_count.
57628         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
57629         (fstrcmp_bounded): Simplify result computation accordingly.
57630
57631 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57632
57633         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
57634         (fstrcmp): Define in terms of fstrcmp_bounded.
57635         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
57636         lower_bound argument.
57637         Return quickly if the result is certainly < lower_bound.
57638         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
57639
57640 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57641
57642         * lib/diffseq.h (EARLY_ABORT): New macro.
57643         (compareseq): Change return type to bool. Return true when EARLY_ABORT
57644         evaluates to true.
57645
57646 2008-09-14  Bruno Haible  <bruno@clisp.org>
57647
57648         * modules/perror-tests: New file.
57649         * tests/test-perror.sh: New file.
57650         * tests/test-perror.c: New file.
57651
57652         New module 'perror'.
57653         * lib/stdio.in.h (perror): New declaration.
57654         * lib/perror.c: New file.
57655         * m4/perror.m4: New file.
57656         * modules/perror: New file.
57657         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
57658         * doc/posix-functions/perror.texi: Mention the perror module.
57659         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
57660         REPLACE_PERROR.
57661         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
57662         REPLACE_PERROR.
57663
57664 2008-09-14  Bruno Haible  <bruno@clisp.org>
57665
57666         * modules/stdio (Makefile.am): Reorder to match the order in
57667         lib/stdio.in.h.
57668         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
57669
57670 2008-09-13  Bruno Haible  <bruno@clisp.org>
57671
57672         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
57673
57674 2008-09-13  Bruno Haible  <bruno@clisp.org>
57675
57676         Extend strerror to cover the added errno values.
57677         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
57678         (rpl_strerror): Provide error messages for the added errno values and
57679         for the WSA* values.
57680         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
57681         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
57682         strerror.
57683         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
57684         * modules/strerror (Depends-on): Add errno.
57685         * doc/posix-functions/strerror.texi: Document the change.
57686         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
57687         and EOVERFLOW.
57688
57689 2008-09-13  Bruno Haible  <bruno@clisp.org>
57690
57691         * modules/EOVERFLOW: Remove file.
57692         * m4/eoverflow.m4: Remove file.
57693         * modules/EOVERFLOW-tests: Remove file.
57694         * tests/test-EOVERFLOW.c: Remove file.
57695         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
57696         * modules/ftell (Depends-on): Likewise.
57697         * modules/getdelim (Depends-on): Likewise.
57698         * modules/getugroups (Depends-on): Likewise.
57699         * modules/poll (Depends-on): Likewise.
57700         * modules/snprintf (Depends-on): Likewise.
57701         * modules/sprintf-posix (Depends-on): Likewise.
57702         * modules/vasnprintf (Depends-on): Likewise.
57703         * modules/vasprintf (Depends-on): Likewise.
57704         * modules/vfprintf-posix (Depends-on): Likewise.
57705         * modules/vsnprintf (Depends-on): Likewise.
57706         * modules/vsprintf-posix (Depends-on): Likewise.
57707         * modules/xvasprintf (Depends-on): Likewise.
57708         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
57709         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
57710         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
57711         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
57712         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
57713         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
57714         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
57715         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
57716         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
57717         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
57718         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
57719         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
57720         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
57721         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
57722         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
57723         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
57724         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
57725         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
57726         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
57727         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
57728         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
57729         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
57730         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
57731         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
57732         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
57733         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
57734         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
57735         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
57736         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
57737         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
57738         * MODULES.html.sh: Remove EOVERFLOW.
57739         * NEWS: Mention the change.
57740
57741 2008-09-13  Bruno Haible  <bruno@clisp.org>
57742
57743         * modules/errno-tests: New file.
57744         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
57745
57746         * lib/errno.in.h: New file.
57747         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
57748         * modules/errno: New file.
57749         * doc/posix-headers/errno.texi: Update documentation.
57750         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
57751
57752 2008-09-13  Bruno Haible  <bruno@clisp.org>
57753
57754         * tests/test-poll.c: Use #if for native Windows, rather than testing
57755         __MSVCRT__.
57756
57757 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57758             Bruno Haible  <bruno@clisp.org>
57759
57760         * lib/glob.c: Don't include <pwd.h> on native Windows.
57761         (WINDOWS32): New macro.
57762         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
57763
57764 2008-09-13  Bruno Haible  <bruno@clisp.org>
57765
57766         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
57767         (ETIMEDOUT): Remove macro.
57768         (glthread_cond_timedwait_multithreaded): New declaration.
57769         (glthread_cond_timedwait): Use it.
57770         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
57771         (glthread_cond_timedwait_multithreaded): New function.
57772
57773 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57774
57775         * modules/poll-tests: Do not check for io.h.
57776         * tests/test-poll.c: Check for __MSVCRT__ instead.
57777
57778 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57779
57780         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
57781         * modules/poll-tests: Add inet_pton, stdbool, sockets.
57782         * tests/test-poll.c: Use them.  Use _pipe on Windows.
57783
57784 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57785
57786         * modules/poll-tests: New.
57787         * tests/test-poll.c: New.
57788
57789 2008-09-12  Eric Blake  <ebb9@byu.net>
57790
57791         frexp: test for NetBSD failure on -0.0
57792         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
57793         not all, bugs from NetBSD 3.0 have been fixed.
57794         * doc/posix-functions/frexp.texi (frexp): Document bug.
57795         Reported by Thomas Klausner.
57796
57797         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
57798         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
57799         literal -0.0.
57800         Reported by Jonathan C. Patschke <jp@centtech.com>.
57801
57802 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57803
57804         * lib/glthread/cond.h: Use dummy implementation also if
57805         USE_WIN32_THREADS.
57806
57807 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57808
57809         * modules/fnmatch-posix (License): Change to LGPLv2+.
57810         * modules/fnmatch-gnu (License): Likewise.
57811
57812 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57813
57814         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
57815
57816 2008-09-11  Jim Meyering  <meyering@redhat.com>
57817
57818         * users.txt: Add gtk-vnc.
57819
57820 2008-09-08  Simon Josefsson  <simon@josefsson.org>
57821
57822         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
57823         rotate amounts.
57824
57825         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
57826         required for 16-bit and 8-bit rotates.
57827         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
57828         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
57829         UINT8_MAX instead of hard-coded constants.
57830         Suggested by Paul Eggert.
57831
57832 2008-09-07  Bruno Haible  <bruno@clisp.org>
57833
57834         * tests/test-striconveh.c (main): Check behaviour when converting from
57835         UTF-7.
57836
57837         Make striconveh work better with stateful encodings.
57838         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
57839         that iconv does not increment the inptr when returning -1/EINVAL.
57840
57841 2008-09-07  Bruno Haible  <bruno@clisp.org>
57842
57843         * build-aux/config.rpath: Update according to libtool-2.2.6.
57844         * build-aux/config.libpath: Likewise.
57845
57846 2008-09-06  Bruno Haible  <bruno@clisp.org>
57847
57848         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
57849         * lib/freadptr.c (freadptr): Likewise.
57850         * lib/freadseek.c (freadptrinc): Likewise.
57851         Reported by Simon Josefsson.
57852
57853 2008-09-06  Bruno Haible  <bruno@clisp.org>
57854
57855         * modules/freadptr (License): Change to LGPLv2+.
57856         * modules/freadseek (License): Likewise.
57857         Suggested by Eric Blake.
57858
57859         * modules/memchr2 (License): Change to LGPLv2+.
57860         Approved by Eric Blake.
57861
57862 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57863             Bruno Haible  <bruno@clisp.org>
57864
57865         Make gnulib-tool work with native 'sed' on AIX.
57866         * gnulib-tool (sed_noop): New variable.
57867         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
57868         func_add_or_update, func_create_testdir): Use it to initialize sed
57869         script variables.
57870         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57871
57872 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
57873             Bruno Haible  <bruno@clisp.org>
57874
57875         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
57876         also works after #include directives.
57877
57878 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
57879
57880         getdate.y: reject an out-of-range timezone value
57881         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
57882         the range [-24...+24].  When specified with only one or two digits,
57883         * tests/test-getdate.c: Tests for the fix.
57884         * doc/getdate.texi: Document this change.
57885
57886 2008-09-03  Bruno Haible  <bruno@clisp.org>
57887
57888         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
57889
57890 2008-09-02  Simon Josefsson  <simon@josefsson.org>
57891
57892         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
57893         <bruce.korb@gmail.com> with ideas from Ben Pfaff
57894         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
57895         Blake <ebb9@byu.net>.
57896
57897         * tests/test-bitrotate.c: Add more test vectors.
57898
57899 2008-09-02  Eric Blake  <ebb9@byu.net>
57900
57901         vasnprintf-posix: handle large precision via %.*d
57902         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
57903         when handling it ourselves.
57904         * tests/test-vasnprintf-posix.c (test_function): Add test.
57905         * tests/test-snprintf-posix.h (test_function): Likewise.
57906         * tests/test-sprintf-posix.h (test_function): Likewise.
57907         * tests/test-vasprintf-posix.c (test_function): Likewise.
57908         Reported by Alain Guibert.
57909
57910 2008-09-01  Eric Blake  <ebb9@byu.net>
57911
57912         c-stack: make configure-time check more robust
57913         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
57914         successful sigaction call.
57915         Reported by Tom G. Christensen.
57916
57917 2008-09-01  Bruno Haible  <bruno@clisp.org>
57918
57919         New module 'findprog-lgpl'.
57920         * modules/findprog-lgpl: New file.
57921         * lib/findprog-lgpl.c: New file.
57922         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
57923         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
57924         to decide whether to use strdup or xstrdup, concatenated_filename or
57925         xconcatenated_filename.
57926
57927 2008-09-01  Bruno Haible  <bruno@clisp.org>
57928
57929         Split module 'concat-filename' into 'concat-filename' (LGPL) and
57930         'xconcat-filename' (GPL).
57931         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
57932         (License): Change to LGPLv2+.
57933         * modules/xconcat-filename: New file.
57934         * lib/concat-filename.h (concatenated_filename): Change specification.
57935         (xconcatenated_filename): New declaration.
57936         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
57937         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
57938         memory situations.
57939         * lib/xconcat-filename.c: New file.
57940         * NEWS: Mention the change.
57941         * lib/findprog.c: Include concat-filename.h, not filename.h.
57942         (find_in_path): Use xconcatenated_filename instead of
57943         concatenated_filename.
57944         * lib/javacomp.c: Include concat-filename.h, not filename.h.
57945         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
57946         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
57947         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
57948         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
57949         instead of concatenated_filename.
57950         * lib/javaexec.c: Include concat-filename.h, not filename.h.
57951         (execute_java_class): Use xconcatenated_filename instead of
57952         concatenated_filename.
57953         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
57954         * modules/javacomp (Depends-on): Likewise.
57955         * modules/javaexec (Depends-on): Likewise.
57956
57957 2008-09-01  Bruno Haible  <bruno@clisp.org>
57958
57959         Split module 'filename' into 'filename' and 'concat-filename'.
57960         * modules/filename: Keep only lib/filename.h.
57961         (License): Change to LGPLv2+.
57962         * modules/concat-filename: New file, extracted from modules/filename.
57963         * lib/filename.h (concatenated_filename): Remove declaration.
57964         * lib/concat-filename.h: New file, extracted from lib/filename.h.
57965         * lib/concat-filename.c: Include concat-filename.h.
57966         * NEWS: Mention the change.
57967
57968 2008-09-01  Simon Josefsson  <simon@josefsson.org>
57969
57970         * lib/bitrotate.h (rotl8, rotr8): Add.
57971
57972         * modules/bitrotate (configure.ac): Need
57973         AC_REQUIRE([AC_C_INLINE]).
57974         (Description): Mention stdint.h.  Reported by Bruno Haible
57975         <bruno@clisp.org>.
57976
57977         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
57978         Paolo Bonzini <bonzini@gnu.org>.
57979
57980 2008-08-31  Bruno Haible  <bruno@clisp.org>
57981
57982         Assume Solaris specific bi-arch conventions on Solaris systems.
57983         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
57984         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
57985         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
57986         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
57987         like acl_libdirstem.
57988         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
57989         acl_libdirstem.
57990         * NEWS: Mention the change.
57991         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
57992
57993 2008-08-31  Jim Meyering  <meyering@redhat.com>
57994
57995         * lib/strftime.h: Add comments describing the two added arguments.
57996
57997         remove duplicate #include directives
57998         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
57999         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
58000
58001 2008-08-31  Bruno Haible  <bruno@clisp.org>
58002
58003         New module 'sigpipe-die'.
58004         * modules/sigpipe-die: New file.
58005         * lib/sigpipe-die.h: New file.
58006         * lib/sigpipe-die.c: New file.
58007         * MODULES.html.sh (Signal handling): Add sigpipe-die.
58008
58009 2008-08-31  Bruno Haible  <bruno@clisp.org>
58010
58011         Don't override previously installed signal handlers.
58012         * lib/fatal-signal.c (saved_sigactions): New variable.
58013         (uninstall_handlers): Reset the signal to the saved handler, not
58014         to SIG_DFL (except when ignored).
58015         (install_handlers): Save the previous handlers.
58016
58017 2008-08-30  Bruno Haible  <bruno@clisp.org>
58018
58019         * gnulib-tool (func_reset_sigpipe): New function.
58020         (func_get_automake_snippet, func_modules_transitive_closure,
58021         func_import): Invoke it before a join command that reads from stdin,
58022         to avoid "echo: write error: Broken pipe" error messages on stderr.
58023         Reported by Sam Steingold <sds@gnu.org>.
58024
58025 2008-08-30  Bruno Haible  <bruno@clisp.org>
58026
58027         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
58028         Code copied from m4/open.m4.
58029         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
58030         access and the filename ends in a slash. Code copied from lib/open.c.
58031         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
58032         * tests/test-fopen.c (main): Check against bug with trailing slash.
58033
58034 2008-08-29  Bruno Haible  <bruno@clisp.org>
58035
58036         Avoid some "gcc -pedantic" warnings.
58037         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
58038         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
58039         * lib/dirent.in.h: Likewise.
58040         * lib/fcntl.in.h: Likewise.
58041         * lib/float.in.h: Likewise.
58042         * lib/iconv.in.h: Likewise.
58043         * lib/inttypes.in.h: Likewise.
58044         * lib/locale.in.h: Likewise.
58045         * lib/math.in.h: Likewise.
58046         * lib/netinet_in.in.h: Likewise.
58047         * lib/search.in.h: Likewise.
58048         * lib/signal.in.h: Likewise.
58049         * lib/stdarg.in.h: Likewise.
58050         * lib/stdint.in.h: Likewise.
58051         * lib/stdio.in.h: Likewise.
58052         * lib/stdlib.in.h: Likewise.
58053         * lib/string.in.h: Likewise.
58054         * lib/strings.in.h: Likewise.
58055         * lib/sys_select.in.h: Likewise.
58056         * lib/sys_socket.in.h: Likewise.
58057         * lib/sys_stat.in.h: Likewise.
58058         * lib/sys_time.in.h: Likewise.
58059         * lib/sysexits.in.h: Likewise.
58060         * lib/time.in.h: Likewise.
58061         * lib/unistd.in.h: Likewise.
58062         * lib/wchar.in.h: Likewise.
58063         * lib/wctype.in.h: Likewise.
58064         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
58065         * modules/fchdir (Makefile.am): Likewise.
58066         * modules/fcntl (Makefile.am): Likewise.
58067         * modules/float (Makefile.am): Likewise.
58068         * modules/iconv_open (Makefile.am): Likewise.
58069         * modules/inttypes (Makefile.am): Likewise.
58070         * modules/locale (Makefile.am): Likewise.
58071         * modules/math (Makefile.am): Likewise.
58072         * modules/netinet_in (Makefile.am): Likewise.
58073         * modules/search (Makefile.am): Likewise.
58074         * modules/signal (Makefile.am): Likewise.
58075         * modules/stdarg (Makefile.am): Likewise.
58076         * modules/stdint (Makefile.am): Likewise.
58077         * modules/stdio (Makefile.am): Likewise.
58078         * modules/stdlib (Makefile.am): Likewise.
58079         * modules/string (Makefile.am): Likewise.
58080         * modules/strings (Makefile.am): Likewise.
58081         * modules/sys_select (Makefile.am): Likewise.
58082         * modules/sys_socket (Makefile.am): Likewise.
58083         * modules/sys_stat (Makefile.am): Likewise.
58084         * modules/sys_time (Makefile.am): Likewise.
58085         * modules/sysexits (Makefile.am): Likewise.
58086         * modules/time (Makefile.am): Likewise.
58087         * modules/unistd (Makefile.am): Likewise.
58088         * modules/wchar (Makefile.am): Likewise.
58089         * modules/wctype (Makefile.am): Likewise.
58090         Reported by Reuben Thomas <rrt@sc3d.org>.
58091
58092 2008-08-29  Bruno Haible  <bruno@clisp.org>
58093
58094         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
58095         any more.
58096
58097 2008-08-29  Simon Josefsson  <simon@josefsson.org>
58098
58099         * MODULES.html.sh (Misc): Add bitrotate.
58100
58101         * modules/bitrotate: New file.
58102
58103         * lib/bitrotate.h: New file.
58104
58105         * modules/bitrotate-tests: New file.
58106
58107         * tests/test-bitrotate.c: New file.
58108
58109         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
58110         on the bitrotate module.
58111
58112         * lib/arctwo.c: Use new bitrotate module.
58113
58114 2008-08-29  Jim Meyering  <meyering@redhat.com>
58115
58116         bootstrap: merge changes from coreutils
58117         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
58118         of copied files.  Remove a kludge, now that this is fixed.
58119         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
58120         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
58121         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
58122
58123 2008-08-29  Bruno Haible  <bruno@clisp.org>
58124
58125         * MODULES.html.sh: Remove --cvs-urls option.
58126
58127 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
58128
58129         maint.mk: adjust to file name change
58130         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
58131
58132 2008-08-28  Jim Meyering  <meyering@redhat.com>
58133
58134         * modules/getndelim2 (License): Relicense to LGPLv2+.
58135         Approved by Richard Stallman for the version of 1995, and by
58136         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
58137
58138 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
58139
58140         * lib/getdelim.c (flockfile, funlockfile): Make all of them
58141         dummy if one is not available.  Do not touch them if
58142         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
58143         (getc_maybe_unlocked): New.
58144         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
58145
58146 2008-08-26  Eric Blake  <ebb9@byu.net>
58147
58148         doc/INSTALL: resync from autoconf
58149         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
58150         (INSTALL_PRELUDE): Delete; this is done more efficiently by
58151         moving...
58152         * install.texi [!autoconf]: ...here.  Resync from autoconf.
58153         * INSTALL: Regenerate.
58154         * INSTALL.ISO: New file.
58155         * INSTALL.UTF-8: Likewise.
58156
58157 2008-08-26  Jim Meyering  <meyering@redhat.com>
58158
58159         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
58160         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
58161         these definitions conditional, so that they may be overridden, too.
58162
58163 2008-08-26  Bruno Haible  <bruno@clisp.org>
58164
58165         Generate INSTALL file variants with prettier quotes.
58166         * doc/Makefile (INSTALL_PRELUDE): New macro.
58167         (INSTALL): Use it.
58168         (INSTALL.ISO, INSTALL.UTF-8): New rules.
58169
58170 2008-08-26  Bruno Haible  <bruno@clisp.org>
58171
58172         Run makeinfo in an English locale.
58173         * doc/Makefile (MAKEINFO): New variable.
58174
58175 2008-08-26  Bruno Haible  <bruno@clisp.org>
58176
58177         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
58178         Suggested by Eric Blake.
58179
58180 2008-08-25  Bruno Haible  <bruno@clisp.org>
58181
58182         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
58183
58184 2008-08-25  Eric Blake  <ebb9@byu.net>
58185
58186         c-stack: test that stack overflow can be caught
58187         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
58188         that platform allows handling stack overflow; at least OS/2 EMX
58189         has sigaltstack, but crashes before transferring control to
58190         handler on stack overflow.
58191         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
58192         check for HAVE_STACK_OVERFLOW_HANDLING.
58193         Reported by Elbert Pol.
58194
58195 2008-08-25  Bruno Haible  <bruno@clisp.org>
58196
58197         * doc/posix-functions/strftime.texi: Fix description of strftime
58198         module.
58199
58200 2008-08-24  Bruno Haible  <bruno@clisp.org>
58201
58202         * tests/uniwidth/test-uc_width2.c: New file.
58203         * tests/uniwidth/test-uc_width2.sh: New file.
58204         * modules/uniwidth/width-tests (Files): Add the new files.
58205         (TESTS): Add uniwidth/test-uc_width2.sh.
58206         (TESTS_ENVIRONMENT): New variable.
58207         (check_PROGRAMS): Add test-uc_width2.
58208         (test_uc_width2_SOURCES): New variable.
58209
58210         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
58211         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
58212         not 0x00AB.
58213         Reported by Alexander V. Lukyanov <lav@netis.ru>.
58214
58215 2008-08-22  Eric Blake  <ebb9@byu.net>
58216
58217         test-lock, test-tls: mention why a test is skipped
58218         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
58219         skipped.
58220         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
58221
58222         count-one-bits: relax license
58223         * modules/count-one-bits (License): Relicense to LGPLv2+.
58224         Suggested by Ludovic Courtès, approved by Ben Pfaff.
58225
58226 2008-08-22  Andreas Schwab  <schwab@suse.de>
58227
58228         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
58229         Remove spurious space in assignment.
58230
58231 2008-08-21  Simon Josefsson  <simon@josefsson.org>
58232
58233         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
58234         Paul Eggert <eggert@CS.UCLA.EDU>.
58235
58236 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
58237
58238         * modules/gettext: Add m4/threadlib.m4.
58239
58240 2008-08-19  Eric Blake  <ebb9@byu.net>
58241
58242         test-c-stack: fix compilation failure on FreeBSD 5.0
58243         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
58244         headers before <sys/resource.h>.
58245         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
58246         the bug.
58247         Reported by Nelson H. F. Beebe.
58248
58249         strverscmp: migrate from "strverscmp.h" to <string.h>
58250         * modules/string (Makefile.am): Add new hooks.
58251         * modules/strverscmp (Files): Remove strverscmp.h.
58252         (Depends-on): Add string.
58253         (configure.ac): Add indicator.
58254         (Include): Mention new header.
58255         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
58256         defaults.
58257         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
58258         results.
58259         * lib/strverscmp.h: Delete.
58260         * lib/string.in.h (strverscmp): Provide declaration, when needed.
58261         * tests/test-strverscmp.c (includes): Adjust client.
58262         * lib/check-version.c (includes): Likewise.
58263         * NEWS: Document the change.
58264
58265         strverscmp: add unit test
58266         * modules/strverscmp-tests: New file.
58267         * tests/test-strverscmp.c: Likewise.
58268
58269 2008-08-19  Simon Josefsson  <simon@josefsson.org>
58270
58271         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
58272         regarding Windows crypto stuff, from Mono.
58273
58274 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
58275
58276         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
58277         if present, for intel RND.  Return error on failures.
58278
58279 2008-08-18  Ben Pfaff  <blp@gnu.org>
58280
58281         gitlog-to-changelog: give better diagnostic for failed pipe-open
58282         * build-aux/gitlog-to-changelog: Improve error message: suggest
58283         that the version of Git may be too old.
58284
58285 2008-08-18  Simon Josefsson  <simon@josefsson.org>
58286
58287         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
58288         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
58289
58290 2008-08-18  Bruno Haible  <bruno@clisp.org>
58291
58292         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
58293         pthread_in_use().
58294
58295 2008-08-18  Bruno Haible  <bruno@clisp.org>
58296
58297         * lib/glthread/threadlib.c: Include <pthread.h>.
58298
58299 2008-08-18  Bruno Haible  <bruno@clisp.org>
58300
58301         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
58302         glthread_recursive_lock_* macros.
58303         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
58304         Fix syntax error.
58305
58306 2008-08-18  Bruno Haible  <bruno@clisp.org>
58307
58308         * lib/glthread/thread.c: Avoid forcing a context switch right after
58309         thread creation.
58310
58311 2008-08-17  Bruno Haible  <bruno@clisp.org>
58312
58313         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
58314         * lib/glthread/thread.h: Provide Win32 specific implementation.
58315         * modules/thread (Files): Add lib/glthread/thread.c.
58316         (Depends-on): Add lock.
58317         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
58318
58319 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58320
58321         New module 'yield'.
58322         * modules/yield: New file.
58323         * lib/glthread/yield.h: New file.
58324         * m4/yield.m4: New file.
58325         * MODULES.html.sh (Multithreading): Add yield.
58326
58327 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58328
58329         New module 'thread'.
58330         * modules/thread: New file.
58331         * lib/glthread/thread.h: New file.
58332         * m4/thread.m4: New file.
58333         * MODULES.html.sh (Multithreading): Add thread.
58334
58335 2008-08-17  Bruno Haible  <bruno@clisp.org>
58336
58337         * lib/glthread/lock.h: Include <stdlib.h> always.
58338         * lib/glthread/tls.h: Likewise.
58339         * lib/glthread/cond.h: Likewise.
58340
58341 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58342
58343         New module 'cond'.
58344         * modules/cond: New file.
58345         * lib/glthread/cond.h: New file.
58346         * lib/glthread/cond.c: New file.
58347         * m4/cond.m4: New file.
58348         * MODULES.html.sh (Multithreading): Add cond.
58349
58350 2008-08-16  Eric Blake  <ebb9@byu.net>
58351
58352         c-stack: fix regression on Irix 5.3 from 2008-06-21
58353         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
58354         sa_sigaction...
58355         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
58356         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
58357         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
58358         * modules/signal (Makefile.am): Use the value.
58359         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
58360         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
58361         * doc/posix-headers/signal.texi (signal.h): Document this
58362         portability issue.
58363         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
58364         Reported by Tom G. Christensen.
58365
58366 2008-08-17  Bruno Haible  <bruno@clisp.org>
58367
58368         New module 'threadlib'.
58369         * modules/threadlib: New file.
58370         * lib/glthread/threadlib.c: New file, extracted from
58371         lib/glthread/lock.c.
58372         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
58373         functions.
58374         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
58375         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
58376         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
58377         macros.
58378         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
58379         (gl_DISABLE_THREADS): Remove macro.
58380         * modules/lock (Files): Remove build-aux/config.rpath.
58381         (Depends-on): Remove havelib. Add threadlib.
58382         (configure.ac-early): Remove section.
58383         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
58384         * modules/tls (Depends-on): Remove lock. Add threadlib.
58385         (Link): New section, copied from threadlib.
58386         * MODULES.html.sh (Multithreading): Add threadlib.
58387
58388 2008-08-14  Bruno Haible  <bruno@clisp.org>
58389
58390         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
58391         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
58392         glthread_rwlock_unlock, glthread_rwlock_destroy,
58393         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
58394         glthread_recursive_lock_destroy): Define as macros always.
58395         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
58396         glthread_lock_lock.
58397         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
58398         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
58399         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
58400         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
58401         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
58402         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
58403         (glthread_recursive_lock_lock_func): Renamed from
58404         glthread_recursive_lock_lock.
58405         (glthread_recursive_lock_unlock_func): Renamed from
58406         glthread_recursive_lock_unlock.
58407         (glthread_recursive_lock_destroy_func): Renamed from
58408         glthread_recursive_lock_destroy.
58409
58410 2008-08-14  Bruno Haible  <bruno@clisp.org>
58411
58412         * lib/glthread/lock.h: Renamed from lib/lock.h.
58413         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
58414         * lib/glthread/tls.h: Renamed from lib/tls.h.
58415         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
58416         * lib/fstrcmp.c: Update includes.
58417         * lib/strsignal.c: Update includes.
58418         * modules/lock (Files, Makefile.am): Update.
58419         (Include): Change to "glthread/lock.h".
58420         * modules/tls (Files, Makefile.am): Update.
58421         (Include): Change to "glthread/tls.h".
58422         * tests/test-lock.c: Update includes.
58423         * tests/test-tls.c: Update includes.
58424         * NEWS: Mention the renamed header files.
58425
58426 2008-08-11  Jim Meyering  <meyering@redhat.com>
58427
58428         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
58429
58430 2008-08-11  Eric Blake  <ebb9@byu.net>
58431
58432         test-c-stack: avoid C99-ism
58433         * tests/test-c-stack.c (main): Fix whitespace, move declaration
58434         before statement.
58435         Reported by Alain Guibert.
58436
58437 2008-08-10  Jim Meyering  <meyering@redhat.com>
58438
58439         ensure that return value of uinttostr et al are not ignored
58440         * lib/inttostr.h (__GNUC_PREREQ): Define.
58441         (__attribute_warn_unused_result__): Define.
58442         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
58443
58444 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
58445
58446         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
58447         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
58448
58449 2008-08-07  Jim Meyering  <meyering@redhat.com>
58450
58451         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
58452
58453         * modules/mkstemp (License): Relicense under LGPLv2+.
58454         * modules/tempname (License): Likewise.
58455
58456 2008-08-06  Bruno Haible  <bruno@clisp.org>
58457
58458         * lib/poll.c (poll): Further micro-optimization.
58459
58460 2008-08-06  Jim Meyering  <meyering@redhat.com>
58461
58462         inet_pton.c: use locale-independent tolower
58463         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
58464         (inet_pton6): Use c_tolower rather than tolower.
58465         * modules/inet_pton (Depends-on): Add c-ctype.
58466
58467 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
58468
58469         * lib/poll.c (poll): Avoid division when timeout is 0, cache
58470         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
58471
58472 2008-08-06  Jim Meyering  <meyering@redhat.com>
58473
58474         * modules/inet_pton (License): Relicense under LGPLv2+.
58475
58476 2008-08-03  Bruno Haible  <bruno@clisp.org>
58477
58478         Additional non-aborting API for lock and tls.
58479         * lib/lock.h: Include <errno.h>.
58480         (glthread_lock_init): New macro/function.
58481         (gl_lock_init): Define as wrapper around glthread_lock_init.
58482         (glthread_lock_lock): New macro/function.
58483         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
58484         (glthread_lock_unlock): New macro/function.
58485         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
58486         (glthread_lock_destroy): New macro/function.
58487         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
58488         (glthread_rwlock_init): New macro/function.
58489         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
58490         (glthread_rwlock_rdlock): New macro/function.
58491         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
58492         (glthread_rwlock_wrlock): New macro/function.
58493         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
58494         (glthread_rwlock_unlock): New macro/function.
58495         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
58496         (glthread_rwlock_destroy): New macro/function.
58497         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
58498         (glthread_recursive_lock_init): New macro/function.
58499         (gl_recursive_lock_init): Define as wrapper around
58500         glthread_recursive_lock_init.
58501         (glthread_recursive_lock_lock): New macro/function.
58502         (gl_recursive_lock_lock): Define as wrapper around
58503         glthread_recursive_lock_lock.
58504         (glthread_recursive_lock_unlock): New macro/function.
58505         (gl_recursive_lock_unlock): Define as wrapper around
58506         glthread_recursive_lock_unlock.
58507         (glthread_recursive_lock_destroy): New macro/function.
58508         (gl_recursive_lock_destroy): Define as wrapper around
58509         glthread_recursive_lock_destroy.
58510         (glthread_once): New macro/function.
58511         (gl_once): Define as wrapper around glthread_once.
58512         Update function declarations.
58513         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
58514         glthread_rwlock_init. Return error code.
58515         (glthread_rwlock_rdlock_multithreaded): Renamed from
58516         glthread_rwlock_rdlock. Return error code.
58517         (glthread_rwlock_wrlock_multithreaded): Renamed from
58518         glthread_rwlock_wrlock. Return error code.
58519         (glthread_rwlock_unlock_multithreaded): Renamed from
58520         glthread_rwlock_unlock. Return error code.
58521         (glthread_rwlock_destroy_multithreaded): Renamed from
58522         glthread_rwlock_destroy. Return error code.
58523         (glthread_recursive_lock_init_multithreaded): Renamed from
58524         glthread_recursive_lock_init. Return error code.
58525         (glthread_recursive_lock_lock_multithreaded): Renamed from
58526         glthread_recursive_lock_lock. Return error code.
58527         (glthread_recursive_lock_unlock_multithreaded): Renamed from
58528         glthread_recursive_lock_unlock. Return error code.
58529         (glthread_recursive_lock_destroy_multithreaded): Renamed from
58530         glthread_recursive_lock_destroy. Return error code.
58531         (glthread_once_call): Make static.
58532         (glthread_once_multithreaded): Renamed from glthread_once.
58533         * lib/tls.h: Include <errno.h>.
58534         (glthread_tls_key_init): New macro/function.
58535         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
58536         (glthread_tls_set): New macro/function.
58537         (gl_tls_set): Define as wrapper around glthread_tls_set.
58538         (glthread_tls_key_destroy): New macro/function.
58539         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
58540         Update function declarations.
58541         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
58542         glthread_tls_get.
58543         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
58544
58545 2008-08-04  Eric Blake  <ebb9@byu.net>
58546
58547         gnumakefile: use space, not TAB, outside of targets
58548         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
58549
58550 2008-08-02  Jim Meyering  <meyering@redhat.com>
58551
58552         getdate.y: avoid locale-dependent date parsing failure
58553         In Turkish locales, getdate would fail to recognize keywords
58554         containing a lowercase "i".  The solution is not to rely on
58555         locale-sensitive case-conversion.
58556         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
58557         (lookup_word): Use c_toupper in place of toupper.
58558         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
58559         Reported by Vefa Bicakci <bicave@superonline.com> in
58560         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
58561         * modules/getdate (Depends-on): Add c-ctype.
58562
58563 2008-08-02  Bruno Haible  <bruno@clisp.org>
58564
58565         * gnulib-tool (func_import): When updating or creating a .gitignore
58566         file, prepend each added line with a slash, and ignore leading slashes
58567         from the existing lines.
58568         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
58569
58570 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58571
58572         Portability fix for GNU make 3.79.1.
58573         * top/GNUmakefile: Avoid 'else COND', which older GNU make
58574         versions do not understand.
58575
58576 2008-08-01  Bruno Haible  <bruno@clisp.org>
58577
58578         Work around bug of HP-UX 10.20 cc with -0.0 literal.
58579         * tests/test-isnanf.h (zero): New variable.
58580         (main): Avoid literal -0.0f.
58581         * tests/test-isnand.h (zero): New variable.
58582         (main): Avoid literal -0.0.
58583         * tests/test-isnanl.h (zero): New variable.
58584         (main): Avoid literal -0.0L.
58585         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
58586         (test_float, test_double, test_long_double): Avoid literals -0.0f,
58587         -0.0, -0.0L.
58588         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
58589         (test_signbitd): Avoid literal -0.0.
58590         (test_signbitl): Avoid literal -0.0L.
58591         * tests/test-ceilf1.c (zero): New variable.
58592         (main): Avoid literal -0.0f.
58593         * tests/test-ceill.c (zero): New variable.
58594         (main): Avoid literal -0.0L.
58595         * tests/test-floorf1.c (zero): New variable.
58596         (main): Avoid literal -0.0f.
58597         * tests/test-floorl.c (zero): New variable.
58598         (main): Avoid literal -0.0L.
58599         * tests/test-roundf1.c (zero): New variable.
58600         (main): Avoid literal -0.0f.
58601         * tests/test-round1.c (zero): New variable.
58602         (main): Avoid literal -0.0.
58603         * tests/test-roundl.c (zero): New variable.
58604         (main): Avoid literal -0.0L.
58605         * tests/test-truncf1.c (zero): New variable.
58606         (main): Avoid literal -0.0f.
58607         * tests/test-trunc1.c (zero): New variable.
58608         (main): Avoid literal -0.0.
58609         * tests/test-truncl.c (zero): New variable.
58610         (main): Avoid literal -0.0L.
58611         * tests/test-frexp.c (zero): New variable.
58612         (main): Avoid literal -0.0.
58613         * tests/test-frexpl.c (zero): New variable.
58614         (main): Avoid literal -0.0L.
58615         * tests/test-ldexpl.c (zero): New variable.
58616         (main): Avoid literal -0.0L.
58617         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
58618         (zerod, zerol): New variables.
58619         (test_function): Avoid literals -0.0, -0.0L.
58620         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
58621         (zerod, zerol): New variables.
58622         (test_function): Avoid literals -0.0, -0.0L.
58623         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
58624         (zerod, zerol): New variables.
58625         (test_function): Avoid literals -0.0, -0.0L.
58626         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
58627         (zerod, zerol): New variables.
58628         (test_function): Avoid literals -0.0, -0.0L.
58629         * tests/test-strtod.c (zero): New variable.
58630         (main): Avoid literal -0.0.
58631         Reported by Jonathan C. Patschke <jp@centtech.com>.
58632
58633 2008-07-31  Jim Meyering  <meyering@redhat.com>
58634
58635         sha256.h: correct definition of SHA224_DIGEST_SIZE
58636         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
58637         Reported by Paulie Pena IV <paulie4@gmail.com>.
58638         Define as 224 / 8, rather than as a literal.
58639         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
58640         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
58641         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
58642
58643 2008-07-31  Bruno Haible  <bruno@clisp.org>
58644
58645         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
58646         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
58647         Reported by Jonathan Patschke <jp@centtech.com>.
58648
58649 2008-07-31  Bruno Haible  <bruno@clisp.org>
58650
58651         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
58652         Reported by Paolo Bonzini <bonzini@gnu.org>.
58653
58654 2008-07-30  Eric Blake  <ebb9@byu.net>
58655
58656         test-strtod: allow compilation without -lm
58657         * tests/test-strtod.c (main): Avoid link dependence on fabs.
58658         Reported by Dennis Clarke <blastwave@gmail.com>.
58659
58660 2008-07-28  Jim Meyering  <meyering@redhat.com>
58661
58662         bootstrap: work also when there are no .po files in po/
58663         * build-aux/bootstrap (update_po_files): Complete the change
58664         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
58665
58666 2008-07-27  Jim Meyering  <meyering@redhat.com>
58667
58668         * users.txt: Add zile.
58669
58670 2008-07-26  Ben Pfaff  <blp@gnu.org>
58671
58672         Add missing dependencies on new m4/exponent[fdl].m4 files.
58673         * modules/isnanf-nolibm: Add m4/exponentf.m4.
58674         * modules/isnand-nolibm: Add m4/exponentd.m4.
58675         * modules/isnanl-nolibm: Add m4/exponentl.m4.
58676         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
58677         m4/isnan[fdl].m4, because the macros actually used moved.
58678         Reported by Jim Meyering.
58679
58680 2008-07-14  Ben Pfaff  <blp@gnu.org>
58681
58682         Add isinf module.
58683         * lib/isinf.c: New file.
58684         * lib/math.in.h: Define isinf macro if we have decided to replace
58685         it.
58686         * m4/isinf.m4: New file.
58687         * m4/math_h.m4: Initialize and substitute variables for isinf
58688         module.
58689         * modules/isinf: New file.
58690         * modules/isinf-tests: New file.
58691         * modules/math: Add substitutions for new module.
58692         * tests/test-isinf.c: New file.
58693         * doc/posix-functions/isinf.texi: Mention new module.
58694         * MODULES.html.sh: Mention new module.
58695
58696 2008-07-14  Ben Pfaff  <blp@gnu.org>
58697
58698         Factor out some macros for use by additional modules.
58699         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
58700         exponentf.m4.
58701         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
58702         exponentd.m4.
58703         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
58704         file exponentl.m4.
58705         * m4/exponentf.m4: New file.
58706         * m4/exponentd.m4: New file.
58707         * m4/exponentl.m4: New file.
58708         * modules/isnanf: Use new file m4/exponentf.m4.
58709         * modules/isnand: Use new file m4/exponentd.m4.
58710         * modules/isnanl: Use new file m4/exponentl.m4.
58711
58712 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
58713
58714         mktime.c: normalize tp->tm_isdst value to -1/0/1.
58715         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
58716         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
58717         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
58718
58719         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
58720         readlink on platforms without PATH_MAX.
58721
58722 2008-07-21  Eric Blake  <ebb9@byu.net>
58723
58724         Warn, not fail, on stale version.
58725         * top/GNUmakefile (_curr-ver): Tone down previous patch.
58726
58727         Don't allow installation with stale devel version number.
58728         * top/GNUmakefile (_is-install-target): New macro.
58729         (_curr-ver): Forbid installation with stale version number.
58730
58731 2008-07-20  Bruno Haible  <bruno@clisp.org>
58732
58733         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
58734         TESTS_ENVIRONMENT.
58735         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
58736
58737 2008-07-20  Bruno Haible  <bruno@clisp.org>
58738
58739         * lib/c-stack.h (c_stack_action): Add documentation.
58740         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
58741
58742 2008-07-20  Bruno Haible  <bruno@clisp.org>
58743
58744         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
58745         * modules/readlink (License): Likewise.
58746
58747 2008-07-17  Eric Blake  <ebb9@byu.net>
58748
58749         * modules/c-stack (Link): Fix typo.
58750
58751         Make c-stack use libsigsegv, when available.
58752         * modules/c-stack (Depends-on): Add libsigsegv.
58753         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
58754         needed.
58755         * lib/c-stack.c (SIGSTKSZ): Define fallback.
58756         (segv_handler, overflow_handler, c_stack_action)
58757         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
58758         implementation when libsigsegv is available, but only when using
58759         the library is necessary.
58760         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
58761         comment, explaining why XSI check fails on Linux.
58762         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
58763         * tests/test-c-stack2.sh: Tweak skip message.
58764         * NEWS: Document new link-time requirements.
58765
58766 2008-07-16  Eric Blake  <ebb9@byu.net>
58767
58768         c-stack: Expose false positives when not using libsigsegv.
58769         * modules/c-stack-tests (Files): Expand test.
58770         * tests/test-c-stack.c (main): Add means to conditionally trigger
58771         non-overflow SIGSEGV.
58772         * tests/test-c-stack2.sh: New file.
58773
58774 2008-07-14  Bruno Haible  <bruno@clisp.org>
58775
58776         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
58777         Reported by Eric Blake.
58778
58779 2008-07-14  Sam Steingold  <sds@gnu.org>
58780             Bruno Haible  <bruno@clisp.org>
58781
58782         New module libsigsegv.
58783         * modules/libsigsegv: New file.
58784         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
58785         modifications.
58786         * MODULES.html.sh (Signal handling): New section.
58787
58788 2008-07-14  Bruno Haible  <bruno@clisp.org>
58789
58790         * modules/unictype/ctype-* (Description): Add the word "function".
58791         Improves the resulting doc in MODULES.html.
58792
58793 2008-07-12  Ben Pfaff  <blp@gnu.org>
58794
58795         Add longlong module.
58796         * modules/longlong: New file.
58797
58798 2008-07-12  Bruno Haible  <bruno@clisp.org>
58799
58800         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
58801         to empty.
58802
58803 2008-07-10  Ben Pfaff  <blp@gnu.org>
58804
58805         Add isnan module.
58806         * doc/posix-functions/isnan.texi: Mention new module.
58807         * lib/math.in.h: Define isnan macro if we have decided to replace
58808         it.
58809         * m4/isnan.m4: New file.
58810         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
58811         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
58812         also.
58813         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
58814         redundancy.
58815         * m4/math_h.m4: Initialize and substitute variables for isnan
58816         module.
58817         * modules/isnan: New file.
58818         * modules/isnan-tests: New file.
58819         * modules/math: Add substitutions for new module.
58820         * tests/test-isnan.c: New file.
58821         * MODULES.html.sh: Mention new module.
58822
58823 2008-07-10  Ben Pfaff  <blp@gnu.org>
58824
58825         Add isnanf module.
58826         * lib/isnanf.m4: New file.
58827         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
58828         (gl_HAVE_ISNANF_IN_LIBM): New macro.
58829         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
58830         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
58831         * modules/isnanf: New file.
58832         * modules/isnanf-tests: New file.
58833         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
58834         files.
58835         * tests/test-isnanf-nolibm.c: factored most of its contents into
58836         new file tests/test-isnanf.h.
58837         * tests/test-isnanf.h: New file.
58838         * tests/test-isnanf.c: New file.
58839         * MODULES.html.sh: Mention new module.
58840         * doc/glibc-functions/isnanf.texi: Mention new module.
58841
58842 2008-07-10  Ben Pfaff  <blp@gnu.org>
58843
58844         Add isnand module.
58845         * lib/isnand.h: New file.
58846         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
58847         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
58848         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
58849         functionality also.
58850         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
58851         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
58852         (gl_HAVE_ISNAND_IN_LIBM): New macro.
58853         * modules/isnand: New file.
58854         * modules/isnand-tests: New file.
58855         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
58856         files.
58857         * tests/test-isnand-nolibm.c: factored most of its contents into
58858         new file tests/test-isnand.h.
58859         * tests/test-isnand.h: New file.
58860         * tests/test-isnand.c: New file.
58861         * MODULES.html.sh: Mention new module.
58862
58863 2008-07-10  Ben Pfaff  <blp@gnu.org>
58864
58865         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
58866         * lib/isnand.h: Rename lib/isnand-nolibm.h.
58867         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
58868         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
58869         * modules/isnanf-nolibm: Update references to renamed files.
58870         * modules/isnand-nolibm: Likewise.
58871         * modules/isnanf-nolibm-tests: Likewise.
58872         * modules/isnand-nolibm-tests: Likewise.
58873         * lib/frexp.c: Likewise.
58874         * lib/isfinite.c: Likewise.
58875         * lib/signbitd.c: Likewise.
58876         * lib/signbitf.c: Likewise.
58877         * lib/vasnprintf.c: Likewise.
58878         * tests/test-ceilf1.c: Likewise.
58879         * tests/test-ceilf2.c: Likewise.
58880         * tests/test-floorf1.c: Likewise.
58881         * tests/test-floorf2.c: Likewise.
58882         * tests/test-frexp.c: Likewise.
58883         * tests/test-round1.c: Likewise.
58884         * tests/test-round2.c: Likewise.
58885         * tests/test-roundf1.c: Likewise.
58886         * tests/test-strtod.c: Likewise.
58887         * tests/test-trunc1.c: Likewise.
58888         * tests/test-trunc2.c: Likewise.
58889         * tests/test-truncf1.c: Likewise.
58890         * tests/test-truncf2.c: Likewise.
58891         * NEWS: Mention the renamed header files.
58892
58893 2008-07-11  Jim Meyering  <meyering@redhat.com>
58894
58895         vc-list-files: make the last-resort awk code more portable
58896         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
58897         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
58898         does not support it.
58899
58900 2008-07-10  Eric Blake  <ebb9@byu.net>
58901
58902         Work with tar's bootstrap.
58903         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
58904         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
58905         an m4 comment.
58906
58907 2008-07-09  Jim Meyering  <meyering@redhat.com>
58908
58909         posix-shell.m4: fix typo that made this test malfunction
58910         * m4/posix-shell.m4: Remove capitalization in variable name.
58911
58912 2008-07-08  Bruno Haible  <bruno@clisp.org>
58913
58914         * m4/onceonly.m4: Update comments.
58915         Reported by Ben Pfaff <blp@cs.stanford.edu>.
58916
58917 2008-07-04  Jim Meyering  <meyering@redhat.com>
58918
58919         * users.txt: Add vc-dwim.
58920         (bison, coreutils): Use the gitweb URL.
58921
58922 2008-07-03  Jim Meyering  <meyering@redhat.com>
58923
58924         * users.txt: Add libffcall.  From Sam Steingold.
58925
58926 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
58927
58928         getdate.y: do not ignore TZ with relative day, month or year offset
58929         * lib/getdate.y (get_date): Move the tz-handling block to follow the
58930         relative-date-handling, since otherwise, the latter would clobber the
58931         sole output (an updated Start value) of the tz-handling block.
58932         * tests/test-getdate.c: Tests for the fix
58933
58934 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58935
58936         Recognize 'foo_LIBRARIES += libgnu.a'.
58937         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
58938         makefile snippet has already specified an installation location,
58939         also using '+='.
58940
58941 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
58942
58943         getdate.y: factor out common actions
58944         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
58945         Use them in place of open-coded actions.
58946
58947 2008-07-01  Simon Josefsson  <simon@josefsson.org>
58948
58949         Add self-test for getdate module.
58950         * modules/getdate-tests: New file.
58951         * tests/test-getdate.c: New file.
58952
58953 2008-06-29  Bruno Haible  <bruno@clisp.org>
58954
58955         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
58956         .gitignore.
58957         Reported by Sylvain Beucler <beuc@beuc.net>.
58958
58959 2008-06-29  Bruno Haible  <bruno@clisp.org>
58960
58961         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
58962         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
58963
58964 2008-06-29  Bruno Haible  <bruno@clisp.org>
58965
58966         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
58967         EXTRA_DIST.
58968         Reported by Sylvain Beucler <beuc@beuc.net>.
58969
58970 2008-06-26  Jim Meyering  <meyering@redhat.com>
58971
58972         make several modules depend on the "open" module
58973         This provides slightly increased consistency when opening-for-write
58974         the name of a non-directory spelled with a trailing slash.
58975         * modules/chdir-safer: Likewise.
58976         * modules/chown: Likewise.
58977         * modules/clean-temp: Likewise.
58978         * modules/copy-file: Likewise.
58979         * modules/fchdir: Likewise.
58980         * modules/fcntl-safer: Likewise.
58981         * modules/pipe: Likewise.
58982         * modules/utime: Likewise.
58983         Prompted by Eric Blake and Bruno Haible.
58984
58985 2008-06-24  Andreas Schwab  <schwab@suse.de>
58986
58987         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
58988         literals can be used as initializers for global variables.
58989
58990 2008-06-23  Eric Blake  <ebb9@byu.net>
58991
58992         Make gnulib-cache.m4 easier to diff.
58993         * gnulib-tool (func_import): Allow newlines when reading cached
58994         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
58995
58996 2008-06-23  Bruno Haible  <bruno@clisp.org>
58997
58998         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
58999         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
59000         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
59001         m4/signalblocking.m4.
59002         (gl_PREREQ_SIGACTION): Don't invoke it.
59003         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
59004         gl_PREREQ_SIG_HANDLER_H.
59005         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
59006         Don't check for sigaction here.
59007
59008 2008-06-23  Bruno Haible  <bruno@clisp.org>
59009
59010         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
59011         (install_handlers): Don't set the SA_RESETHAND flag.
59012
59013 2008-06-23  Bruno Haible  <bruno@clisp.org>
59014
59015         * m4/sigaction.m4: Comment fixes.
59016         * lib/signal.in.h: Likewise.
59017
59018 2008-06-23  Eric Blake  <ebb9@byu.net>
59019
59020         Fix typo.
59021         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
59022
59023         Avoid SA_ namespace.
59024         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
59025         Reported by Ralf Wildenhues.
59026
59027         Avoid test failure due to SA_RESTORER.
59028         * tests/test-sigaction.c (SA_MASK): New macro.
59029         (main): Avoid failing due to extension flags being set.
59030         Reported by Jim Meyering.
59031
59032         Revert use of sig-handler.h in sigprocmask.c.
59033         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
59034         it requires the existence of struct sigaction.
59035         * lib/sigprocmask.c (handler_t): Restore typedef.
59036         (rpl_signal, old_handlers): Use local type.
59037
59038 2008-06-22  Bruno Haible  <bruno@clisp.org>
59039
59040         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
59041         conditionally.
59042         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
59043
59044 2008-06-22  Bruno Haible  <bruno@clisp.org>
59045
59046         * doc/posix-functions/siginterrupt.texi: Move note.
59047
59048         * lib/signal.in.h (SA_RESTART): New macro.
59049         * lib/sigaction.c: Update comment.
59050
59051         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
59052
59053         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
59054         (gl_PREREQ_SIGPROCMASK): Invoke it.
59055         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
59056
59057         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
59058
59059         * lib/sigprocmask.c: Update a comment.
59060
59061 2008-06-21  Eric Blake  <ebb9@byu.net>
59062
59063         Use sigaction module rather than signal().
59064         * modules/c-stack (Depends-on): Add sigaction.
59065         * modules/fatal-signal (Depends-on): Likewise.
59066         * modules/nanosleep (Depends-on): Likewise.
59067         * modules/sigprocmask (Files): Add sig-handler.h.
59068         * modules/sigaction (Files): Likewise.
59069         * lib/sig-handler.h (get_handler): New file, suggested by Paul
59070         Eggert.
59071         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
59072         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
59073         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
59074         (init_fatal_signals): Likewise.
59075         * lib/nanosleep.c (rpl_nanosleep): Likewise.
59076         (siginterrupt): Delete fallback.
59077         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
59078         instead.
59079         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
59080         siginterrupt.
59081
59082         New module sigaction, for mingw.
59083         * modules/sigaction: New module...
59084         * modules/sigaction-tests: ...and its test.
59085         * m4/sigaction.m4: New file.
59086         * lib/sigaction.c: Likewise.
59087         * tests/test-sigaction.c: Likewise.
59088         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
59089         * modules/signal (Makefile.am): Likewise.
59090         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
59091         needed.
59092         * doc/posix-headers/signal.texi (signal.h): Mention provided
59093         types.
59094         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
59095         that sigaction is preferable.
59096         * doc/posix-functions/sigaction.texi (sigaction): Mention new
59097         module.
59098         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
59099         sigaction.
59100
59101         Improve robustness of sigprocmask by overriding signal.
59102         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
59103         is in use.
59104         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
59105         (SIGKILL, SIGSTOP): Provide fallbacks.
59106         (rpl_signal): Implement.
59107         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
59108         signal can be called inside handlers.
59109
59110         Fix nanosleep module on mingw.
59111         * modules/nanosleep (Depends-on): Add sys_select.
59112         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
59113
59114         Fix licensing of sigprocmask.
59115         * modules/raise (License): Relicense as LGPL.
59116
59117 2008-06-21  Bruno Haible  <bruno@clisp.org>
59118
59119         * lib/propername.c (proper_name_utf8): Don't use the transliterated
59120         result if it contains question marks.
59121         Reported by Michael Geng <linux@michaelgeng.de>.
59122
59123 2008-06-19  Bruno Haible  <bruno@clisp.org>
59124
59125         Fix CVS-ism.
59126         * doc/gnulib.texi: Include updated-stamp.texi.
59127         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
59128         (updated-stamp.texi): New rule.
59129         (gnulib.info): Depend on it.
59130         * doc/.gitignore: Add updated-stamp.texi.
59131         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
59132
59133 2008-06-19  Bruno Haible  <bruno@clisp.org>
59134
59135         * doc/Makefile (gnulib.info): Update and simplify dependencies.
59136         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
59137
59138 2008-06-19  Eric Blake  <ebb9@byu.net>
59139
59140         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
59141         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
59142         Reported by Stepan Kasal.
59143
59144 2008-06-18  Bruno Haible  <bruno@clisp.org>
59145
59146         * lib/fatal-signal.c (init_fatal_signals): Add comment.
59147         Reported by Eric Blake.
59148
59149 2008-06-18  Eric Blake  <ebb9@byu.net>
59150
59151         Work around cygwin 1.5.25 strsignal bug.
59152         * tests/test-strsignal.c: Allow for const char *.
59153         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
59154
59155 2008-06-18  Simon Josefsson  <simon@josefsson.org>
59156
59157         * users.txt: Update URL to article and add author/date
59158         information.
59159
59160 2008-06-17  Bruno Haible  <bruno@clisp.org>
59161
59162         New macro gl_DISABLE_THREADS.
59163         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
59164         if the user did not pass --enable-threads or --disable-threads option.
59165         (gl_DISABLE_THREADS): New macro.
59166         Reported by Eric Blake <ebb9@byu.net>.
59167
59168 2008-06-17  Bruno Haible  <bruno@clisp.org>
59169
59170         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
59171         when the macro ignores it.
59172         Based on a patch by Eric Blake <ebb9@byu.net>.
59173
59174 2008-06-17  Bruno Haible  <bruno@clisp.org>
59175
59176         * modules/tls (License): Change to LGPLv2+.
59177         Reported by Eric Blake.
59178
59179 2008-06-17  Eric Blake  <ebb9@byu.net>
59180
59181         Simplify c-stack prerequisites.
59182         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
59183         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
59184         no longer requires <ucontext.h> to exist.  Optimize setrlimit
59185         check.
59186         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
59187         <sys/resource.h>.
59188
59189         Move c-stack test into testsuite.
59190         * modules/c-stack-tests: New file.
59191         * lib/c-stack.c [DEBUG]: Move test program...
59192         * tests/test-c-stack.c: ...into this new file.  Skip rather than
59193         fail test if sigaltstack is lacking.
59194         * tests/test-c-stack.sh: New driver file.
59195
59196 2008-06-16  Eric Blake  <ebb9@byu.net>
59197
59198         Use raise module consistently.
59199         * modules/fatal-signal (Depends-on): Add raise.
59200         * modules/sigprocmask (Depends-on): Likewise.
59201         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
59202         * lib/sigprocmask.c (sigprocmask): Likewise.
59203         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
59204         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
59205
59206         Fix compliance bug in sigpending.
59207         * lib/sigprocmask.c (sigpending): Return pending array via
59208         parameter, not return value.
59209
59210 2008-06-14  Eric Blake  <ebb9@byu.net>
59211
59212         Improve obstack-printf test code.
59213         * tests/test-obstack-printf.c (test_function): Fix comment, and
59214         simplify usage of obstack_* in macros.  Add a test for coverage.
59215         Reported by Bruno Haible.
59216
59217 2008-06-14  Bruno Haible  <bruno@clisp.org>
59218
59219         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
59220         array size as a constant, not as a const variable.
59221         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
59222         AC_USE_SYSTEM_EXTENSIONS.
59223         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
59224         Test whether the obstack_printf function actually exists.
59225         * modules/obstack-printf (Depends-on): Add extensions.
59226         (Include): Remove obstack.h.
59227         * modules/obstack-printf-posix (Depends-on): Add extensions.
59228         (Include): Remove obstack.h.
59229
59230 2008-06-13  Eric Blake  <ebb9@byu.net>
59231
59232         Add obstack-printf and obstack-printf-posix modules.
59233         * modules/obstack-printf: New file.
59234         * modules/obstack-printf-posix: Likewise.
59235         * MODULES.html.sh (Misc): Mention them.
59236         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
59237         Likewise.
59238         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
59239         Likewise.
59240         * modules/stdio (Makefile.am): Accomodate new modules.
59241         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
59242         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
59243         Declare.
59244         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
59245         functions.
59246         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
59247         (gl_REPLACE_OBSTACK_PRINTF): New macros
59248         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
59249         * tests/test-obstack-printf.c: New file.
59250         * modules/obstack-printf-tests: Likewise.
59251         * modules/obstack-printf-posix-tests: Likewise.
59252
59253 2008-06-11  Bruno Haible  <bruno@clisp.org>
59254
59255         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
59256         * lib/open.c: Include errno.h.
59257         (open): Fail when attempting to write to a file that has a trailing
59258         slash.
59259         * tests/test-open.c (main): Test against trailing slash bug.
59260         * doc/posix-functions/open.texi: Mention the trailing slash bug.
59261
59262 2008-06-10  Bruno Haible  <bruno@clisp.org>
59263
59264         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
59265         for $? to work inside the trap command, with various /bin/sh-s.
59266         * tests/test-vc-list-files-cvs.sh: Likewise.
59267
59268 2008-06-10  Bruno Haible  <bruno@clisp.org>
59269
59270         * lib/acl-internal.h: Don't include gettext.h here.
59271         * lib/set-mode-acl.c: Include gettext.h here.
59272         * lib/copy-acl.c: Likewise.
59273
59274 2008-06-10  Bruno Haible  <bruno@clisp.org>
59275
59276         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
59277         * lib/wait-process.c (wait_subprocess): Likewise.
59278         * lib/execute.h (execute): Add termsigp argument.
59279         * lib/execute.c (execute): Likewise.
59280         * lib/csharpcomp.c (compile_csharp_using_pnet,
59281         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
59282         * lib/csharpexec.c (execute_csharp_using_pnet,
59283         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
59284         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
59285         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
59286         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
59287         is_jikes_present): Update.
59288         * lib/javaexec.c (execute_java_class): Update.
59289         * lib/javaversion.c (execute_and_read_line): Update.
59290         * NEWS: Document the changes.
59291         Reported by Eric Blake.
59292
59293 2008-06-10  Eric Blake  <ebb9@byu.net>
59294
59295         Add missing include.
59296         * tests/test-strstr.c (includes): Add <signal.h>.
59297         * tests/test-strcasestr.c (includes): Likewise.
59298         * tests/test-memmem.c (includes): Likewise.
59299
59300 2008-06-10  Bruno Haible  <bruno@clisp.org>
59301
59302         * lib/wait-process.c (wait_subprocess): Add an assertion.
59303
59304 2008-06-10  Bruno Haible  <bruno@clisp.org>
59305
59306         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
59307
59308 2008-06-10  Bruno Haible  <bruno@clisp.org>
59309
59310         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
59311         using alarm().
59312         * tests/test-strcasestr.c (main): Likewise.
59313         * tests/test-strstr.c (main): Likewise.
59314
59315 2008-06-09  Bruno Haible  <bruno@clisp.org>
59316
59317         Work around the Solaris 10 ACE ACLs ABI change.
59318         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
59319         declare if ACL_NO_TRIVIAL is present.
59320         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
59321         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
59322         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
59323         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
59324         define if ACL_NO_TRIVIAL is present.
59325         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
59326         and use the current ABI.
59327         (file_has_acl): Use same #if condition as elsewhere.
59328         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
59329         in use, and use the current ABI.
59330         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
59331         Reported by Jim Meyering.
59332
59333 2008-06-09  Eric Blake  <ebb9@byu.net>
59334
59335         Work around environments that (stupidly) ignore SIGALRM.
59336         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
59337         before using alarm().
59338         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59339         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
59340         Reported by Ian Beckwith <ianb@erislabs.net>.
59341
59342         Produce autobuild blurb earlier in log.
59343         * modules/autobuild (configure.ac-early): Move AB_INIT here.
59344
59345 2008-06-09  Jim Meyering  <meyering@redhat.com>
59346         and Ondřej Vašík  <ovasik@redhat.com>
59347
59348         utimens.c: correct kernel bug work-around
59349         Ondřej Vašík found that the invalid return value of 280 indicates
59350         failure, not success, and the kernel bug we're trying to work
59351         around affects not just the utimensat call, but also the fallback
59352         futimens call.
59353         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
59354         not success.
59355         [HAVE_FUTIMENS]: Use the same work-around, here.
59356
59357 2008-06-09  Jim Meyering  <meyering@redhat.com>
59358
59359         add more guards around definition of ACE_-related code
59360         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
59361         ALLOW and ACE_OWNER are also defined.
59362
59363 2008-06-08  Bruno Haible  <bruno@clisp.org>
59364
59365         * lib/acl-internal.h: Add me as co-author.
59366         * lib/file-has-acl.c: Likewise.
59367         * lib/set-mode-acl.c: Likewise.
59368         * lib/copy-acl.c: Likewise.
59369
59370 2008-06-08  Bruno Haible  <bruno@clisp.org>
59371
59372         Add support for AIX ACLs.
59373         * lib/acl-internal.h (acl_nontrivial): New declaration.
59374         * lib/file-has-acl.c (acl_nontrivial): New function.
59375         (file_has_acl): Add implementation using AIX 4 ACL API.
59376         * lib/set-mode-acl.c (qset_acl): Likewise.
59377         * lib/copy-acl.c (qcopy_acl): Likewise.
59378
59379 2008-06-08  Bruno Haible  <bruno@clisp.org>
59380
59381         Add support for HP-UX ACLs.
59382         * lib/acl-internal.h (acl_nontrivial): New declaration.
59383         * lib/file-has-acl.c (acl_nontrivial): New function.
59384         (file_has_acl): Add implementation using HP-UX 11 ACL API.
59385         * lib/set-mode-acl.c (qset_acl): Likewise.
59386         * lib/copy-acl.c (qcopy_acl): Likewise.
59387
59388 2008-06-08  Bruno Haible  <bruno@clisp.org>
59389
59390         Add support for Cygwin ACLs.
59391         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
59392         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
59393         the chmod_or_fchmod call.
59394         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
59395
59396 2008-06-08  Bruno Haible  <bruno@clisp.org>
59397
59398         Fix bug with setuid modes in Solaris 10+ code.
59399         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
59400         succeeded, when the mode contains some special bits.
59401
59402 2008-06-08  Bruno Haible  <bruno@clisp.org>
59403
59404         Add support for Solaris 7..10 ACLs.
59405         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
59406         declarations.
59407         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
59408         functions.
59409         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
59410         * lib/set-mode-acl.c (qset_acl): Likewise.
59411         * lib/copy-acl.c (qcopy_acl): Likewise.
59412
59413 2008-06-08  Bruno Haible  <bruno@clisp.org>
59414
59415         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
59416         declaration.
59417         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
59418         (acl_access_nontrivial): Remove MacOS X case.
59419         (file_has_acl): Use acl_extended_nontrivial.
59420         * lib/copy-acl.c (qcopy_acl): Likewise.
59421
59422 2008-06-08  Bruno Haible  <bruno@clisp.org>
59423
59424         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
59425
59426 2008-06-08  Jim Meyering  <meyering@redhat.com>
59427
59428         * modules/acl (Maintainer): Add Bruno Haible.
59429
59430 2008-06-07  Bruno Haible  <bruno@clisp.org>
59431
59432         Improve support for Tru64 ACLs.
59433         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
59434         ACL on OSF/1.
59435
59436 2008-06-07  Bruno Haible  <bruno@clisp.org>
59437
59438         Add support for MacOS X ACLs.
59439         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
59440         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
59441         * lib/set-mode-acl.c (qset_acl): Likewise.
59442         * lib/copy-acl.c (qcopy_acl): Likewise.
59443
59444 2008-06-07  Bruno Haible  <bruno@clisp.org>
59445
59446         Fix memory leak introduced on 2008-05-22.
59447         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
59448         use.
59449
59450 2008-06-07  Bruno Haible  <bruno@clisp.org>
59451
59452         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
59453         to construct an empty ACL.
59454
59455 2008-06-07  Bruno Haible  <bruno@clisp.org>
59456
59457         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
59458         precisely.
59459         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
59460
59461 2008-06-07  Bruno Haible  <bruno@clisp.org>
59462
59463         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
59464         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
59465
59466 2008-06-07  Bruno Haible  <bruno@clisp.org>
59467
59468         * doc/posix-functions/_setjmp.texi: Explain the use of this function
59469         regardless of POSIX.
59470         * doc/posix-functions/_longjmp.texi: Likewise.
59471         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
59472         SystemV platform in this case.
59473
59474 2008-06-06  Eric Blake  <ebb9@byu.net>
59475
59476         Document abort() bugs.
59477         * doc/posix-functions/abort.texi (abort): Mention anomalies.
59478
59479         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
59480         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
59481         sigsetjmp.
59482         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
59483         siglongjmp, but only as a macro.
59484         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
59485         is obsolete.
59486         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
59487
59488         Tweak documentation to cover cygwin argz bugs.
59489         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
59490         argz bug fix; no code change needed since no cygwin releases
59491         occurred between the last fix and the bug being tested.
59492         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
59493         module and recently fixed cygwin bugs.
59494         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
59495         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
59496         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
59497         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
59498         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
59499         Likewise.
59500         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
59501         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
59502         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
59503         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
59504         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
59505         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
59506         Likewise.
59507
59508         Avoid gcc warning on cygwin.
59509         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
59510         !ACL_NO_TRIVIAL]: Avoid unused variable.
59511
59512 2008-06-05  Eric Blake  <ebb9@byu.net>
59513
59514         Be tolerant of UNKNOWN version in gnulib-tool test dir.
59515         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
59516         git-version-gen fails to come up with a version.
59517         Reported by Simon Josefsson.
59518
59519 2008-06-05  Jim Meyering  <meyering@redhat.com>
59520             Paul Eggert  <eggert@cs.ucla.edu>
59521
59522         utimens.c: work around a probable Linux kernel bug
59523         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
59524         appears to be a kernel bug that causes utimensat to return 280
59525         instead of 0, indicating success.
59526
59527 2008-06-04  Bruno Haible  <bruno@clisp.org>
59528
59529         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
59530         2008-06-01 commit.
59531
59532 2008-06-04  Bruno Haible  <bruno@clisp.org>
59533
59534         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
59535         * lib/file-has-acl.c (acl_access_nontrivial): New function.
59536         (file_has_acl): Use it. Save errno afterwards.
59537         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
59538
59539 2008-06-03  Bruno Haible  <bruno@clisp.org>
59540
59541         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
59542         draft code. Simplify #ifs.
59543         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
59544         Put Solaris code after POSIX-draft code. Fix comments regarding
59545         Solaris 10, HP-UX. Mention Cygwin.
59546         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
59547
59548 2008-06-03  Eric Blake  <ebb9@byu.net>
59549
59550         Provide fallback for older kernels.
59551         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
59552         Provide runtime fallback if kernel lacks support.
59553         Reported by Mike Frysinger.
59554
59555 2008-06-02  Bruno Haible  <bruno@clisp.org>
59556
59557         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
59558         it exists.
59559
59560 2008-06-02  Bruno Haible  <bruno@clisp.org>
59561
59562         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
59563         * lib/copy-acl.c (qcopy_acl): Update comment.
59564
59565 2008-06-02  Bruno Haible  <bruno@clisp.org>
59566
59567         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
59568         like ACL APIs.
59569
59570 2008-06-02  Bruno Haible  <bruno@clisp.org>
59571
59572         * tests/test-file-has-acl.sh: Use different code for Cygwin.
59573         * tests/test-set-mode-acl.sh: Likewise.
59574         * tests/test-copy-acl.sh: Likewise.
59575         * tests/test-copy-file.sh: Likewise.
59576
59577 2008-06-02  Bruno Haible  <bruno@clisp.org>
59578
59579         * tests/test-file-has-acl.sh: Remove unused code.
59580
59581 2008-06-01  Bruno Haible  <bruno@clisp.org>
59582
59583         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
59584         (copy_acl): Just a wrapper around qcopy_acl that emits the error
59585         messages.
59586         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
59587
59588 2008-06-01  Bruno Haible  <bruno@clisp.org>
59589
59590         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
59591         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
59592         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
59593         APIs.
59594         * modules/acl-tests (configure.ac): Remove tests now contained in
59595         m4/acl.m4.
59596
59597 2008-06-02  Jim Meyering  <meyering@redhat.com>
59598
59599         announce-gen: use a better key-server host name
59600         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
59601         it may be more consistently reliable.  Suggested by Werner Koch
59602         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
59603
59604 2008-06-01  Bruno Haible  <bruno@clisp.org>
59605
59606         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
59607         Reported by Voroskoi Andras <voroskoi@gmail.com>.
59608
59609 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
59610
59611         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
59612
59613 2008-06-01  Bruno Haible  <bruno@clisp.org>
59614
59615         New ACL tests.
59616         * tests/test-file-has-acl.sh: New file.
59617         * tests/test-file-has-acl.c: New file.
59618         * tests/test-set-mode-acl.sh: New file.
59619         * tests/test-set-mode-acl.c: New file.
59620         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
59621         * tests/test-copy-acl.c: New file.
59622         * modules/acl-tests: New file, based on modules/copy-file-tests.
59623         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
59624         (Depends-on): Add acl-tests.
59625         (configure.ac): Remove checks.
59626         (Makefile.am): Don't create test-sameacls program here any more.
59627
59628 2008-06-01  Bruno Haible  <bruno@clisp.org>
59629
59630         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
59631         * tests/test-sameacls.c: Include progname.h.
59632         (main): Invoke set_program_name. Portability fixes for MacOS X,
59633         Solaris, HP-UX.
59634
59635 2008-06-01  Bruno Haible  <bruno@clisp.org>
59636
59637         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
59638         function.
59639         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
59640
59641 2008-06-01  Bruno Haible  <bruno@clisp.org>
59642
59643         * modules/rpmatch (Depends-on): Add strdup.
59644
59645 2008-06-01  Bruno Haible  <bruno@clisp.org>
59646
59647         * lib/pipe.c: Include unistd-safer.h.
59648         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
59649         * modules/pipe (Depends-on): Add unistd-safer.
59650
59651 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59652
59653         * modules/autobuild (configure.ac): Call AB_INIT.
59654
59655 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59656
59657         * tests/test-getaddrinfo.c: Don't print debug messages by default.
59658         Suggested by Bruno Haible <bruno@clisp.org>.
59659
59660 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59661
59662         * tests/test-base64.c: Cast size_t to unsigned long when invoking
59663         printf.  Use %lu instead of %d.  Reported by Bruno Haible
59664         <bruno@clisp.org>.
59665
59666 2008-05-29  Eric Blake  <ebb9@byu.net>
59667
59668         Prefer new POSIX 200x interfaces over futimesat.
59669         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
59670         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
59671         when available.
59672         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
59673
59674 2008-05-28  Bruno Haible  <bruno@clisp.org>
59675
59676         * modules/stpcpy (License): Change to LGPLv2+.
59677         Requested by David Lutterkort <dlutter@redhat.com>.
59678
59679 2008-05-27  Bruno Haible  <bruno@clisp.org>
59680
59681         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
59682         current mingw.
59683         Reported by Jose E. Marchesi <jemarch@gnu.org>.
59684
59685 2008-05-27  Bruno Haible  <bruno@clisp.org>
59686
59687         * modules/iconv_open (Link): New section, from module 'iconv'.
59688         * modules/striconv (Link): Likewise.
59689         * modules/striconveh (Link): Likewise.
59690         * modules/xstriconv (Link): Likewise.
59691         * modules/unicodeio (Link): Likewise.
59692         * modules/propername (Link): Likewise.
59693         Reported by Jim Meyering.
59694
59695 2008-05-26  Jim Meyering  <meyering@redhat.com>
59696
59697         sha256: do not artificially restrict buffer length to be < 2^32
59698         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
59699         uint32_t to size_t.
59700         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
59701         to match.
59702
59703         avoid unaligned access errors, e.g., on sparc
59704         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
59705         direct access through a possibly-unaligned uint64* pointer.
59706         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
59707         direct access through a possibly-unaligned uint32* pointer.
59708         Prompted by this patch from Tom "spot" Callaway:
59709         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
59710
59711         sha512.c: fix typo in comment
59712         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
59713
59714 2008-05-25  Bruno Haible  <bruno@clisp.org>
59715
59716         * lib/set-mode-acl.c: Renamed from lib/acl.c.
59717         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
59718         (Makefile.am): Update lib_SOURCES.
59719
59720 2008-05-25  Bruno Haible  <bruno@clisp.org>
59721
59722         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
59723
59724 2008-05-25  Jim Meyering  <meyering@redhat.com>
59725
59726         useless-if-before-free: freed expr may have white-space differences
59727         * build-aux/useless-if-before-free: Recognize cases in which the
59728         freed expression differs from the tested one in embedded white
59729         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
59730         $1 was used, so we can't make any regexp shy.  Improved tests now
59731         detect this.
59732
59733         useless-if-before-free: accept white space in the expression.
59734         * build-aux/useless-if-before-free: For now, any white space
59735         in the expression must be identical in the free argument.
59736
59737         useless-if-before-free: efficiency tweak
59738         * build-aux/useless-if-before-free: Make the expression-matching
59739         regexp "shy".
59740         Make the *outer* regexp shy, not the expr-matching one.
59741
59742         update code-in-comment to accept cast of free arg
59743         * build-aux/useless-if-before-free: Update regexp.
59744
59745 2008-05-25  Bruno Haible  <bruno@clisp.org>
59746
59747         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
59748         * modules/copy-file-tests (Files, Makefile.am): Update.
59749         * tests/test-copy-file.c (func_test_copy): Update.
59750
59751 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
59752
59753         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
59754
59755 2008-05-23  Bruno Haible  <bruno@clisp.org>
59756
59757         Improve support for ACLs on OSF/1.
59758         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
59759         Remove fallback for unknown flavors of ACLs.
59760
59761 2008-05-22  Bruno Haible  <bruno@clisp.org>
59762
59763         Add support for ACLs on OSF/1.
59764         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
59765         replacements.
59766         (acl_free_text): New macro fallback.
59767         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
59768         acl_free.
59769         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
59770         acl_free_text function. Require AC_C_INLINE.
59771
59772 2008-05-22  Bruno Haible  <bruno@clisp.org>
59773
59774         Make copy_acl work on MacOS X 10.5.
59775         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
59776         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
59777         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
59778         If MODE_INSIDE_ACL, don't assume that every system has the same text
59779         representation for ACLs as FreeBSD.
59780         * lib/copy-acl.c (copy_acl): Add support for platforms with
59781         !MODE_INSIDE_ACL.
59782         * lib/file-has-acl.c (file_has_acl): Likewise.
59783         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
59784         FreeBSD, MacOS X, or IRIX, respectively.
59785
59786 2008-05-22  Bruno Haible  <bruno@clisp.org>
59787
59788         * lib/acl.h: Don't include <sys/acl.h>.
59789         (GETACLCNT): Move fallback to lib/acl-internal.h.
59790         * lib/acl-internal.h: Include <sys/acl.h> here.
59791         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
59792
59793 2008-05-22  Bruno Haible  <bruno@clisp.org>
59794
59795         Split off copy_acl function to separate file.
59796         * lib/copy-acl.c: New file, extracted from lib/acl.c.
59797         * lib/acl.c (copy_acl): Moved function to separate file.
59798         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
59799         * modules/acl (Files): Add lib/copy-acl.c.
59800         (Makefiles.am): Augment lib_SOURCES.
59801
59802 2008-05-22  Bruno Haible  <bruno@clisp.org>
59803
59804         * modules/copy-file-tests: New file.
59805         * tests/test-copy-file.sh: New file.
59806         * tests/test-copy-file.c: New file.
59807         * tests/test-copy-file-sameacls.c: New file.
59808
59809 2008-05-22  Eric Blake  <ebb9@byu.net>
59810
59811         Avoid gcc warning.
59812         * tests/test-memcmp.c (main): Pass NULL indirectly.
59813
59814 2008-05-21  Bruno Haible  <bruno@clisp.org>
59815
59816         Add reference doc about ACLs.
59817         * doc/acl-resources.txt: New file.
59818         * doc/acl-cygwin.txt: New file.
59819
59820 2008-05-21  Bruno Haible  <bruno@clisp.org>
59821
59822         Avoid one more warning from gcc.
59823         * lib/vasnprintf.c (IF_LINT): Update comments.
59824         (VASNPRINTF): Use it also for the 'prefix' array initializer.
59825
59826 2008-05-21  Jim Meyering  <meyering@redhat.com>
59827
59828         avoid a warning from gcc
59829         * lib/vasnprintf.c (IF_LINT): Define.
59830         (scale10_round_decimal_long_double):
59831         Use it to avoid a "may be used uninitialized" warning.
59832         (scale10_round_decimal_double): Likewise.
59833
59834 2008-05-21  Simon Josefsson  <simon@josefsson.org>
59835
59836         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
59837         declared.
59838
59839 2008-05-20  Bruno Haible  <bruno@clisp.org>
59840
59841         * tests/test-memcmp.c (main): Test also the sign of the result. Test
59842         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
59843
59844 2008-05-20  Simon Josefsson  <simon@josefsson.org>
59845
59846         * modules/memcmp-tests: New file.
59847         * tests/test-memcmp.c: New file.
59848
59849 2008-05-19  Bruno Haible  <bruno@clisp.org>
59850
59851         * modules/propername (Notice, configure.ac): Put quoted "..." into
59852         --keyword option.
59853         * lib/propername.h: Update comments accordingly.
59854         Reported by Eric Blake.
59855
59856 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
59857
59858         * modules/getpass-gnu (Depends-on): Add fseeko.
59859
59860 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59861
59862         * modules/base64-tests: New file.
59863
59864 2008-05-19  Bo Borgerson <gigabo@gmail.com>
59865
59866         * lib/base64.c (base64_decode_ctx): If a decode context structure
59867         was passed in use it to ignore newlines.  If a context structure
59868         was _not_ passed in, continue to treat newlines as garbage (this
59869         is the historical behavior).  Formerly base64_decode.
59870         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59871         takes a decode context structure.
59872         * lib/base64.h (base64_decode): Macro for four-argument calls.
59873         (base64_decode_alloc): Likewise.
59874         * lib/base64.c (base64_decode_ctx): If a decode context structure
59875         was passed in use it to ignore newlines.  If a context structure
59876         was _not_ passed in, continue to treat newlines as garbage (this
59877         is the historical behavior).  Formerly base64_decode.
59878         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59879         takes a decode context structure.
59880         * lib/base64.h (base64_decode): Macro for four-argument calls.
59881         (base64_decode_alloc): Likewise.
59882
59883 2008-05-19  Jim Meyering  <meyering@redhat.com>
59884
59885         avoid a warning from gcc
59886         * lib/trim.c (IF_LINT): Define.
59887         (trim2): Use it to avoid a "may be used uninitialized" warning.
59888
59889         Fix doc typo.
59890         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
59891
59892 2008-05-19  Bruno Haible  <bruno@clisp.org>
59893
59894         * doc/glibc-functions/getpass.texi: Document limits of other
59895         implementations.
59896
59897 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59898             Bruno Haible <bruno@clisp.org>
59899
59900         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
59901
59902 2008-05-18  Bruno Haible  <bruno@clisp.org>
59903
59904         * modules/propername: New file, from GNU gettext.
59905         * lib/propername.h: New file, from GNU gettext.
59906         * lib/propername.c: New file, from GNU gettext.
59907         * MODULES.html.sh (Internationalization functions): Add propername.
59908
59909 2008-05-16  Jim Meyering  <meyering@redhat.com>
59910             Bruno Haible  <bruno@clisp.org>
59911
59912         Avoid some warnings from "gcc -Wshadow".
59913         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
59914
59915 2008-05-15  Eric Blake  <ebb9@byu.net>
59916
59917         Extend previous patch to cygwin 1.7.0.
59918         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
59919         fast implementation in cygwin >= 1.7.0.
59920         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59921         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59922
59923 2008-05-15  Bruno Haible  <bruno@clisp.org>
59924
59925         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
59926         implementation in glibc >= 2.9.
59927         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59928         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59929
59930 2008-05-15  Bruno Haible  <bruno@clisp.org>
59931
59932         * MODULES.html.sh (Internationalization functions): Remove linebreak.
59933         (Unicode string functions): Add unilbrk/*.
59934         Reported by Karl Berry.
59935
59936 2008-05-15  Eric Blake  <ebb9@byu.net>
59937
59938         Fix violation of <stdbool.h> replacement in regex.
59939         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
59940         * lib/regexec.c (re_search_internal): Likewise.
59941         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
59942
59943 2008-05-15  Jim Meyering  <meyering@redhat.com>
59944
59945         avoid distracting test output when git or cvs is not found
59946         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
59947         * tests/test-vc-list-files-git.sh: Likewise.
59948
59949 2008-05-15  Eric Blake  <ebb9@byu.net>
59950
59951         Glibc finally accepted the memmem speedup code, bugzilla #5514.
59952         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
59953         glibc version.
59954         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
59955         * doc/posix-functions/strstr.texi (strstr): Likewise.
59956         * lib/str-two-way.h (MAX): Sychronize with glibc.
59957
59958 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
59959
59960         * lib/regcomp.c (optimize_utf8): Add a note on why we test
59961         opr.ctx_type.
59962         (calc_first): Initialize constraint field.
59963         (duplicate_node_closure): Use it instead of special casing ANCHORS.
59964         Fix grammar.
59965         (duplicate_node): Merge constraint field for all node types.
59966         (calc_eclosure_iter): Look at constraint field for all node types.
59967         * lib/regex_internal.c (create_cd_newstate): Don't look at
59968         opr.ctx_type.
59969
59970 2008-05-14  Bruno Haible  <bruno@clisp.org>
59971
59972         Help GCC to do better code generation.
59973         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
59974         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
59975         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
59976         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
59977         Declare with attribute 'malloc' if supported.
59978
59979 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
59980
59981         use "echo STR|wc -c" rather than unportable "expr length STR"
59982         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
59983         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
59984
59985 2008-05-14  Jim Meyering  <meyering@redhat.com>
59986
59987         use dd ibs=$n count=1 ... rather than less-portable head -c$n
59988         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
59989         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
59990         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
59991         via Collin Lasse.
59992
59993 2008-05-14  Eric Blake  <ebb9@byu.net>
59994
59995         Avoid quadratic growth in gl_LIBSOURCES.
59996         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
59997         Suggested by Bruno Haible.
59998
59999         Test xmemdup0.
60000         * modules/xmemdup0-tests: New file.
60001         * tests/test-xmemdup0.c: Likewise.
60002
60003 2008-05-13  Eric Blake  <ebb9@byu.net>
60004
60005         Split xmemdup0 into its own module.
60006         * modules/xmemdup0: New file.
60007         * lib/xmemdup0.h: Likewise.
60008         * lib/xmemdup0.c: Likewise.
60009         * MODULES.html.sh (Memory management functions): Add xmemdup0.
60010         * lib/xalloc.h (xmemdup0): Remove.
60011         * lib/xmalloc.c (xmemdup0): Likewise.
60012
60013 2008-05-13  Eric Blake  <ebb9@byu.net>
60014             Bruno Haible  <bruno@clisp.org>
60015
60016         Reduce number of forks required during autoconf.
60017         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
60018         and gl_LIBSOURCES_DIR.
60019         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
60020         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
60021         m4_syscmd per file.
60022         <m4_foreach_w>: Move...
60023         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
60024
60025 2008-05-13  Eric Blake  <ebb9@byu.net>
60026
60027         * gnulib-tool: Fix various comment typos.
60028
60029 2008-05-12  Bruno Haible  <bruno@clisp.org>
60030
60031         Tailor the linebreaking algorithm.
60032         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
60033
60034 2008-05-12  Bruno Haible  <bruno@clisp.org>
60035
60036         Update to Unicode 5.0.0.
60037         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
60038         LBP_JV, LBP_JT. Redistribute values.
60039         (unilbrk_table): Change size.
60040         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
60041         Unicode TR#14 rev. 22.
60042         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
60043         LBP_JV, LBP_JT. Redistribute values.
60044         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
60045         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
60046         Update.
60047         * lib/unilbrk/lbrkprop1.h: Regenerated.
60048         * lib/unilbrk/lbrkprop2.h: Regenerated.
60049         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
60050         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
60051         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
60052         Likewise.
60053         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
60054         Likewise.
60055         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
60056         result.
60057         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
60058         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
60059         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
60060         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
60061         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
60062         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
60063
60064 2008-05-11  Bruno Haible  <bruno@clisp.org>
60065
60066         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
60067
60068 2008-05-11  Bruno Haible  <bruno@clisp.org>
60069
60070         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
60071         * modules/unilbrk/gen-lbrk: New file.
60072
60073 2008-05-11  Bruno Haible  <bruno@clisp.org>
60074
60075         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
60076         * m4/sha512.m4 (gl_SHA512): Likewise.
60077
60078 2008-05-11  Jim Meyering  <meyering@redhat.com>
60079
60080         New modules: crypto/sha256, crypto/sha512 (from coreutils)
60081         * modules/crypto/sha256: New file.
60082         * modules/crypto/sha512: Likewise.
60083         * lib/sha256.c: Likewise.
60084         * lib/sha256.h: Likewise.
60085         * lib/sha512.c: Likewise.
60086         * lib/sha512.h: Likewise.
60087         * lib/u64.h: Likewise.
60088         * m4/sha256.m4: Likewise.
60089         * m4/sha512.m4: Likewise.
60090         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
60091
60092 2008-05-10  Bruno Haible  <bruno@clisp.org>
60093
60094         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
60095         (Input/Output <stdio.h>): Add xprintf.
60096         (Signal handling <signal.h>): Add strsignal.
60097         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
60098         (Core language properties): Add func.
60099         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
60100         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
60101         strings.
60102         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
60103         (Input/output): New section.
60104         (File system functions): Add openat-die, stat-macros.
60105         (Networking functions): Add sockets.
60106         (Unicode string functions): Add unictype/*.
60107         (Support for building libraries and executables): Add gperf.
60108         (Support for building documentation): Add agpl-3.0.
60109         (Misc): Add nocrash.
60110
60111 2008-05-10  Bruno Haible  <bruno@clisp.org>
60112
60113         * modules/unictype/gen-ctype: New file.
60114
60115 2008-05-10  Jim Meyering  <meyering@redhat.com>
60116
60117         Make chdir-safer.c more efficient on a system with no symlinks.
60118         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
60119         also if ELOOP is zero.  Suggested by Bruno Haible.
60120
60121         Make chdir-safer.c slightly safer.
60122         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
60123         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
60124
60125         Avoid compile failure on systems without ELOOP (like mingw).
60126         * lib/chdir-safer.c (ELOOP): Define if not already defined.
60127         Reported by Bruno Haible.
60128
60129 2008-05-10  Bruno Haible  <bruno@clisp.org>
60130
60131         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
60132         (is_utf8_encoding): Use a case-insensitive comparison.
60133         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
60134         streq.
60135
60136 2008-05-10  Bruno Haible  <bruno@clisp.org>
60137
60138         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
60139         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
60140         * lib/unilbrk/ulc-common.h (iconv_string_length,
60141         iconv_string_keeping_offsets): Remove declarations.
60142         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
60143         Don't include <iconv.h>, streq.h, xsize.h.
60144         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
60145         conversion.
60146         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
60147         <iconv.h>, streq.h, xsize.h.
60148         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
60149         conversion.
60150         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
60151         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
60152         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
60153         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
60154
60155 2008-05-10  Bruno Haible  <bruno@clisp.org>
60156
60157         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
60158         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
60159
60160         * modules/unilbrk/u32-width-linebreaks-tests: New file.
60161         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
60162
60163         * modules/unilbrk/u16-width-linebreaks-tests: New file.
60164         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
60165
60166         * modules/unilbrk/u8-width-linebreaks-tests: New file.
60167         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
60168
60169         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
60170         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
60171
60172         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
60173         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
60174
60175         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
60176         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
60177
60178         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
60179         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
60180
60181 2008-05-10  Bruno Haible  <bruno@clisp.org>
60182
60183         Split up 'linebreak' module.
60184         * lib/unilbrk.h: New file, based on lib/linebreak.h.
60185         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
60186         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
60187         modifications.
60188         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
60189         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
60190         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
60191         lib/linebreak.c.
60192         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
60193         lib/linebreak.c.
60194         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
60195         lib/linebreak.c.
60196         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
60197         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
60198         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
60199         lib/linebreak.c.
60200         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
60201         lib/linebreak.c.
60202         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
60203         lib/linebreak.c.
60204         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
60205         lib/linebreak.c.
60206         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
60207         lib/linebreak.c.
60208         * modules/unilbrk/base: New file.
60209         * modules/unilbrk/tables: New file.
60210         * modules/unilbrk/u8-possible-linebreaks: New file.
60211         * modules/unilbrk/u16-possible-linebreaks: New file.
60212         * modules/unilbrk/u32-possible-linebreaks: New file.
60213         * modules/unilbrk/ulc-common: New file.
60214         * modules/unilbrk/ulc-possible-linebreaks: New file.
60215         * modules/unilbrk/u8-width-linebreaks: New file.
60216         * modules/unilbrk/u16-width-linebreaks: New file.
60217         * modules/unilbrk/u32-width-linebreaks: New file.
60218         * modules/unilbrk/ulc-width-linebreaks: New file.
60219         * lib/linebreak.h: Remove file.
60220         * lib/linebreak.c: Remove file.
60221         * m4/linebreak.m4: Remove file.
60222         * modules/linebreak: Remove file.
60223         * NEWS: Mention the changes.
60224
60225 2008-05-09  Eric Blake  <ebb9@byu.net>
60226
60227         Add xmemdup0.
60228         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
60229         implementation.
60230         * lib/xmalloc.c (xmemdup0): New C implementation.
60231
60232 2008-05-08  Bruno Haible  <bruno@clisp.org>
60233
60234         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
60235
60236 2008-05-07  Eric Blake  <ebb9@byu.net>
60237
60238         Support cross-compilation of <wctype.h>.
60239         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
60240         AC_CACHE_CHECK.
60241
60242 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
60243
60244         * build-aux/vc-list-files: Add support for bzr.
60245
60246 2008-05-03  Jim Meyering  <meyering@redhat.com>
60247
60248         avoid failed assertion with tight malloc
60249         * tests/test-getndelim2.c: Correct an off-by-one assertion.
60250
60251 2008-05-03  Simon Josefsson  <simon@josefsson.org>
60252
60253         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
60254         are needed from arpa/inet.h.
60255         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
60256         Reported by Bruno Haible.
60257
60258 2008-05-02  Jim Meyering  <meyering@redhat.com>
60259
60260         avoid compilation error on FreeBSD 6
60261         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
60262
60263 2008-05-01  Jim Meyering  <meyering@redhat.com>
60264
60265         useless-if-before-free: correct --help's exit status description
60266         * build-aux/useless-if-before-free (usage): Like grep, exit 0
60267         for one or more matches, etc.  Reported by Bruno Haible.
60268
60269         vc-list-files: make the stand-alone gnulib test work
60270         * modules/vc-list-files-tests (configure.ac):
60271         Define and AC_SUBST abs_aux_dir.
60272         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
60273         $(abs_top_srcdir) to each script and having each of them
60274         duplicate the work of setting PATH, set PATH here, using
60275         the new variable, abs_aux_dir instead.
60276         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
60277         * tests/test-vc-list-files-git.sh: Likewise.
60278         Reported by Bruno Haible.
60279
60280 2008-05-01  Bruno Haible  <bruno@clisp.org>
60281
60282         * lib/getndelim2.c (getndelim2): Fix newsize computation during
60283         reallocation. Rename 'done' to 'found_delimiter'.
60284
60285 2008-05-01  Jim Meyering  <meyering@redhat.com>
60286
60287         vc-list-files: accommodate /bin/sh like the one from Solaris 10
60288         * build-aux/vc-list-files: Use `...`, not $(...).
60289
60290 2008-04-30  Jim Meyering  <meyering@redhat.com>
60291
60292         add tests for vc-list-files
60293         * modules/vc-list-files-tests: New module.
60294         * tests/test-vc-list-files-cvs.sh: New file.
60295         * tests/test-vc-list-files-git.sh: New file.
60296
60297         avoid a warning from gcc
60298         * lib/getndelim2.c (IF_LINT): Define.
60299         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
60300
60301         vc-list-files: work properly with build-aux/cvsu, too
60302         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
60303         to all cvs-based clauses.
60304
60305         vc-list-files: work properly in the CVS+awk case, too
60306         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
60307
60308         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
60309         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
60310         take more than one file argument, so .  Add quotes, just in case $dir
60311         ever contains a shell meta-character.  Prompted by Soren Hansen in
60312         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
60313
60314 2008-04-29  Eric Blake  <ebb9@byu.net>
60315
60316         Optimize getndelim2 to use block operations when possible.
60317         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
60318         freadseek, and memchr2.
60319         * lib/getndelim2.c (getndelim2): Use them for block reads.
60320
60321 2008-04-29  Bruno Haible  <bruno@clisp.org>
60322
60323         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
60324         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
60325         * modules/inet_ntop (Depends-on): Add extensions.
60326         * modules/inet_pton (Depends-on): Likewise.
60327         Reported by Simon Josefsson.
60328
60329 2008-04-29  Jim Meyering  <meyering@redhat.com>
60330
60331         When the is more than one match in a block, match all of them.
60332         * build-aux/useless-if-before-free: Iterate through each block
60333         until there are no more matches.
60334
60335         Fix broken useless-if-before-free script.
60336         * build-aux/useless-if-before-free: Fix typo: missing "?" after
60337         the expression to match cast of argument to free-like function.
60338
60339 2008-04-29  Eric Blake  <ebb9@byu.net>
60340
60341         Use new header.
60342         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
60343
60344 2008-04-29  Jim Meyering  <meyering@redhat.com>
60345
60346         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
60347         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
60348         by gnulib to exist and to declare e.g., inet_ntop.
60349         Don't include "inet_ntop.h", now removed.
60350
60351         * m4/arpa_inet_h.m4: Remove trailing blanks.
60352
60353 2008-04-29  Eric Blake  <ebb9@byu.net>
60354
60355         Silence valgrind on safe reads beyond potential array bounds.
60356         * lib/rawmemchr.valgrind: New file.
60357         * lib/strchrnul.valgrind: Likewise.
60358         * modules/rawmemchr (Files): Distribute new file.
60359         * modules/strchrnul (Files): Likewise.
60360         Suggested by Bruno Haible.
60361
60362 2008-04-29  Bruno Haible  <bruno@clisp.org>
60363
60364         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
60365         (inet_ntop, inet_pton): Change portability warning's wording.
60366         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
60367         Invoke gl_CHECK_NEXT_HEADERS.
60368         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
60369         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
60370         set ARPA_INET_H.
60371         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
60372         * modules/arpa_inet (Description): No longer only for systems that
60373         lack it.
60374         (Depends-on): Add include_next.
60375         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
60376         HAVE_ARPA_INET_H.
60377
60378 2008-04-29  Jim Meyering  <meyering@redhat.com>
60379
60380         * modules/mkdir (License): Re-license as LGPLv2+.
60381
60382 2008-04-29  Bruno Haible  <bruno@clisp.org>
60383
60384         * modules/rawmemchr (Maintainer): Set to Eric.
60385         * modules/strchrnul (Maintainer): Likewise.
60386
60387 2008-04-29  Simon Josefsson  <simon@josefsson.org>
60388
60389         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
60390         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
60391
60392         * modules/arpa_inet (arpa/inet.h): Use them.
60393
60394 2008-04-28  Eric Blake  <ebb9@byu.net>
60395
60396         Test getndelim2.
60397         * modules/getndelim2-tests: New file.
60398         * tests/test-getndelim2.c: Likewise.
60399         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
60400         stream.
60401         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
60402
60403         * MODULES.html.sh: Document new module.
60404
60405 2008-04-20  Bruno Haible  <bruno@clisp.org>
60406
60407         * lib/c-stack.c (die): Use raise.
60408         * modules/c-stack (Depends-on): Add raise.
60409
60410 2008-04-28  Bruno Haible  <bruno@clisp.org>
60411
60412         Expect rpmatch to be declared.
60413         * lib/yesno.c (rpmatch): Remove declaration.
60414
60415         Declare rpmatch.
60416         * lib/stdlib.in.h (rpmatch): New declaration.
60417         * lib/rpmatch.c: Include <stdlib.h> first.
60418         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
60419         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
60420         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
60421         HAVE_RPMATCH.
60422         * modules/rpmatch (Depends-on): Add stdlib, extensions.
60423         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
60424         (Include): Set to <stdlib.h>.
60425         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
60426         HAVE_RPMATCH.
60427         * NEWS: Document the change.
60428
60429 2008-04-28  Bruno Haible  <bruno@clisp.org>
60430
60431         Change rpmatch to use nl_langinfo when appropriate.
60432         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
60433         (N_): New macro.
60434         (localized_pattern): New function/macro.
60435         (try): Remove match, nomatch arguments. Copy the pattern into safe
60436         memory before caching it.
60437         (rpmatch): Use localized_pattern. Add translator comments.
60438         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
60439         Suggested by Eric Blake.
60440         * modules/rpmatch (Depends-on): Add stdbool.
60441
60442 2008-04-28  Eric Blake  <ebb9@byu.net>
60443
60444         Add rawmemchr module, matching glibc.
60445         * modules/string (Makefile.am): New indicator.
60446         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
60447         * lib/string.in.h (rawmemchr): Declare when appropriate.
60448         * modules/rawmemchr: New file.
60449         * m4/rawmemchr.m4: Likewise.
60450         * lib/rawmemchr.c: Likewise.
60451         * modules/rawmemchr-tests: Likewise.
60452         * tests/test-rawmemchr.c: Likewise.
60453         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
60454         module.
60455         * modules/strchrnul (Depends-on): Add rawmemchr.
60456         * lib/strchrnul.c (strchrnul): Optimize a corner case.
60457
60458         Whitespace cleanup.
60459         * tests/test-strchrnul.c: Reindent.
60460         * lib/strchrnul.c: Likewise.
60461
60462         Optimize and test strchrnul.
60463         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
60464         * modules/strchrnul-tests: New file.
60465         * tests/test-strchrnul.c: Likewise.
60466
60467         Remove intprops dependency.
60468         * modules/memchr (Depends-on): Remove intprops.
60469         * modules/memrchr (Depends-on): Likewise.
60470         * modules/memchr2 (Depends-on): Likewise.
60471         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
60472         * lib/memrchr.c (__memrchr): Likewise.
60473         * lib/memrchr2.c (memchr2): Likewise.
60474         Reported by Simon Josefsson.
60475
60476 2008-04-28  Simon Josefsson  <simon@josefsson.org>
60477
60478         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
60479         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60480
60481 2008-04-28  Simon Josefsson  <simon@josefsson.org>
60482
60483         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
60484
60485         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
60486
60487         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
60488
60489         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
60490         declarations.
60491         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
60492
60493         * m4/inet_pton.m4: Don't check for header files.
60494
60495         * m4/inet_ntop.m4: Don't check for header files.
60496
60497 2008-04-28  Simon Josefsson  <simon@josefsson.org>
60498
60499         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
60500         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
60501         trigger for cygwin).
60502         Reported by Bruno Haible  <bruno@clisp.org>.
60503
60504 2008-04-28  Bruno Haible  <bruno@clisp.org>
60505
60506         * doc/posix-functions/strdup.texi: Mention mingw problem.
60507
60508 2008-04-27  Bruno Haible  <bruno@clisp.org>
60509
60510         * modules/stat-time-tests (Depends-on): Add sleep.
60511         * tests/test-stat-time.c (force_unlink): New function.
60512         (cleanup): Use it.
60513         (test_mtime): Remove the ctime related tests.
60514         (test_ctime): New function, containing the ctime related tests.
60515         (main): Call test_ctime, except on native Windows platforms.
60516
60517 2008-04-27  Bruno Haible  <bruno@clisp.org>
60518
60519         * lib/rpmatch.c (rpmatch): Add some comments.
60520         Reported by James Youngman <jay@gnu.org>.
60521
60522 2008-04-27  Bruno Haible  <bruno@clisp.org>
60523
60524         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
60525         quiet NaNs.
60526
60527 2008-04-27  Bruno Haible  <bruno@clisp.org>
60528
60529         Make test-yesno.sh work on mingw.
60530         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
60531         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
60532         (main): Set stdin to binary mode.
60533         * modules/yesno-tests (Depends-on): Add binary-io.
60534
60535 2008-04-27  Bruno Haible  <bruno@clisp.org>
60536
60537         Fix 'isfinite' on x86, x86_64, ia64 platforms.
60538         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
60539         argument that lie outside the IEEE 854 domain.
60540         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
60541         (gl_ISFINITE): Use it.
60542         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
60543
60544 2008-04-27  Bruno Haible  <bruno@clisp.org>
60545
60546         Allow local renaming in config.h.
60547         * lib/memrchr.c (memrchr): Don't undefine outside libc.
60548
60549 2008-04-27  Bruno Haible  <bruno@clisp.org>
60550
60551         * lib/memchr.c (__memchr): Change type of 'i'.
60552         * lib/memchr2.c (memchr2): Likewise.
60553
60554 2008-04-26  Eric Blake  <ebb9@byu.net>
60555         and Bruno Haible  <bruno@clisp.org>
60556
60557         Optimize and test memrchr.
60558         * modules/memrchr (Depends-on): Add intprops.
60559         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
60560         * modules/memrchr-tests: New file.
60561         * tests/test-memrchr.c: New file.
60562
60563 2008-04-26  Bruno Haible  <bruno@clisp.org>
60564
60565         Add tentative support for DragonFly BSD.
60566         * lib/stdio-impl.h: Add macros for DragonFly BSD.
60567         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
60568         fp.
60569         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
60570         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
60571         * lib/fpurge.c (fpurge): Likewise.
60572         * lib/freadable.c (freaadable): Likewise.
60573         * lib/freadahead.c (freadahead): Likewise.
60574         * lib/freading.c (freading): Likewise.
60575         * lib/freadptr.c (freadptr): Likewise.
60576         * lib/freadseek.c (freadptrinc): Likewise.
60577         * lib/fseeko.c (fseeko): Likewise.
60578         * lib/fseterr.c (fseterr): Likewise.
60579         * lib/fwritable.c (fwritable): Likewise.
60580         * lib/fwriting.c (fwriting): Likewise.
60581
60582 2008-04-26  Bruno Haible  <bruno@clisp.org>
60583
60584         * lib/stdio-impl.h: New file.
60585         * lib/fbufmode.c: Include stdio-impl.h.
60586         (fbufmode): Use fp_, remove redundant #defines.
60587         * lib/fflush.c: Include stdio-impl.h.
60588         (clear_ungetc_buffer): Remove redundant #defines.
60589         * lib/fpurge.c: Include stdio-impl.h.
60590         (fpurge): Remove redundant #defines.
60591         * lib/freadable.c: Include stdio-impl.h.
60592         (freadable): Remove redundant #defines.
60593         * lib/freadahead.c: Include stdio-impl.h.
60594         (freadahead): Remove redundant #defines.
60595         * lib/freading.c: Include stdio-impl.h.
60596         (freading): Remove redundant #defines.
60597         * lib/freadptr.c: Include stdio-impl.h.
60598         (freadptr): Remove redundant #defines.
60599         * lib/freadseek.c: Include stdio-impl.h.
60600         (freadptrinc): Remove redundant #defines.
60601         * lib/fseeko.c: Include stdio-impl.h.
60602         (rpl_fseeko): Remove redundant #defines.
60603         * lib/fseterr.c: Include stdio-impl.h.
60604         (fseterr): Remove redundant #defines.
60605         * lib/fwritable.c: Include stdio-impl.h.
60606         (fwritable: Remove redundant #defines.
60607         * lib/fwriting.c: Include stdio-impl.h.
60608         (fwriting): Remove redundant #defines.
60609         * modules/fbufmode (Files): Add lib/stdio-impl.h.
60610         * modules/fflush (Files): Likewise.
60611         * modules/fpurge (Files): Likewise.
60612         * modules/freadable (Files): Likewise.
60613         * modules/freadahead (Files): Likewise.
60614         * modules/freading (Files): Likewise.
60615         * modules/freadptr (Files): Likewise.
60616         * modules/freadseek (Files): Likewise.
60617         * modules/fseeko (Files): Likewise.
60618         * modules/fseterr (Files): Likewise.
60619         * modules/fwritable (Files): Likewise.
60620         * modules/fwriting (Files): Likewise.
60621
60622 2008-04-26  Bruno Haible  <bruno@clisp.org>
60623
60624         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
60625         restore_seek_optimization, update_fpos_cache): New functions, extracted
60626         from rpl_fflush.
60627         (rpl_fflush): Use them.
60628         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
60629         (gl_REPLACE_FFLUSH): Use it.
60630
60631 2008-04-26  Bruno Haible  <bruno@clisp.org>
60632
60633         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
60634         on Solaris.
60635         * tests/test-xstrtoimax.sh: Likewise.
60636         * tests/test-xstrtoumax.sh: Likewise.
60637         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60638
60639 2008-04-26  Bruno Haible  <bruno@clisp.org>
60640
60641         * modules/memchr-tests: New file.
60642         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
60643
60644 2008-04-26  Eric Blake  <ebb9@byu.net>
60645             Bruno Haible  <bruno@clisp.org>
60646
60647         * lib/memchr.c: Include intprops.h.
60648         (__memchr): Optimize parallel detection of matching bytes. Rename local
60649         variables. Add explanatory comments.
60650
60651 2008-04-26  Bruno Haible  <bruno@clisp.org>
60652
60653         Fix module 'memchr', broken since 2000-10-28.
60654         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
60655
60656 2008-04-26  Bruno Haible  <bruno@clisp.org>
60657
60658         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
60659         comments.
60660
60661 2008-04-25  Eric Blake  <ebb9@byu.net>
60662
60663         Use native fstatat on cygwin 1.7.0.
60664         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
60665         first.
60666
60667 2008-04-23  Eric Blake  <ebb9@byu.net>
60668
60669         Improve memchr2 performance.
60670         * lib/memchr2.c (memchr2): Further optimize parallel detection of
60671         NUL bytes.
60672         * modules/memchr2 (Depends-on): Use intprops.h.
60673
60674 2008-04-23  Simon Josefsson  <simon@josefsson.org>
60675
60676         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
60677         an inline function instead of a CPP macro.  Patch by Ben Pfaff
60678         <blp@cs.stanford.edu>.
60679
60680 2008-04-23  Simon Josefsson  <simon@josefsson.org>
60681
60682         * lib/arpa_inet.in.h: New file.
60683
60684         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
60685         (Makefile.am): Sed in substitute header file.
60686
60687         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
60688         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
60689
60690         * modules/inet_ntop (configure.ac): Use
60691         gl_ARPA_INET_MODULE_INDICATOR.
60692
60693         * modules/inet_pton (configure.ac): Use
60694         gl_ARPA_INET_MODULE_INDICATOR.
60695
60696 2008-04-22  Jim Meyering  <meyering@redhat.com>
60697
60698         * modules/verify (License): Re-license as LGPLv2+.
60699
60700 2008-04-22  Simon Josefsson  <simon@josefsson.org>
60701
60702         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
60703         parameter to void* as per POSIX standard (MinGW uses char*).
60704
60705 2008-04-21  Bruno Haible  <bruno@clisp.org>
60706
60707         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
60708         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
60709         Define to replacements if REPLACE_ISWCNTRL is 1.
60710         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
60711         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
60712         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
60713         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
60714         what it fixes.
60715         * doc/posix-functions/iswalpha.texi: Likewise.
60716         * doc/posix-functions/iswblank.texi: Likewise.
60717         * doc/posix-functions/iswcntrl.texi: Likewise.
60718         * doc/posix-functions/iswdigit.texi: Likewise.
60719         * doc/posix-functions/iswgraph.texi: Likewise.
60720         * doc/posix-functions/iswlower.texi: Likewise.
60721         * doc/posix-functions/iswprint.texi: Likewise.
60722         * doc/posix-functions/iswpunct.texi: Likewise.
60723         * doc/posix-functions/iswspace.texi: Likewise.
60724         * doc/posix-functions/iswupper.texi: Likewise.
60725         * doc/posix-functions/iswxdigit.texi: Likewise.
60726         Reported by Alain Guibert.
60727
60728 2008-04-21  Bruno Haible  <bruno@clisp.org>
60729
60730         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
60731         Patch by Alain Guibert.
60732
60733 2008-04-21  Bruno Haible  <bruno@clisp.org>
60734
60735         Fix test failures on mingw.
60736         * tests/test-xstrtol.c (print_no_progname): New function.
60737         (main): Install it in error_print_progname hook.
60738         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
60739         * tests/test-xstrtoimax.sh: Likewise.
60740         * tests/test-xstrtoumax.sh: Likewise.
60741
60742 2008-04-21  Bruno Haible  <bruno@clisp.org>
60743
60744         Fix test failure on mingw.
60745         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
60746
60747 2008-04-21  Bruno Haible  <bruno@clisp.org>
60748
60749         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
60750         Actually assign a value.
60751
60752 2008-04-20  Bruno Haible  <bruno@clisp.org>
60753
60754         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
60755         take 2.
60756         * lib/canonicalize.c (canonicalize_file_name): Elide if the
60757         'canonicalize-lgpl' module is also used.
60758         * lib/canonicalize-lgpl.c: Undo last change.
60759         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
60760
60761 2008-04-20  Bruno Haible  <bruno@clisp.org>
60762
60763         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
60764         config.h. Provide _mkdir based fallback for mingw.
60765         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
60766         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
60767         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
60768         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
60769         rather than defining mkdir in config.h.
60770         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
60771         (gl_SYS_STAT_H_DEFAULTS): New macro.
60772         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
60773         HAVE_IO_H any more.
60774         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
60775         HAVE_DECL_MKDIR and HAVE_IO_H.
60776
60777 2008-04-20  Bruno Haible  <bruno@clisp.org>
60778
60779         * lib/isapipe.c: Port to native Windows platforms.
60780
60781 2008-04-20  Bruno Haible  <bruno@clisp.org>
60782
60783         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
60784
60785 2008-04-21  Eric Blake  <ebb9@byu.net>
60786
60787         Work around preprocessors that don't handle UINTMAX_MAX.
60788         * lib/memchr2.c (memchr2): Avoid embedded #if.
60789         Reported by Alain Guibert, fix suggested by Bruno Haible.
60790
60791 2008-04-21  Simon Josefsson  <simon@josefsson.org>
60792
60793         * doc/posix-functions/strftime.texi (strftime): Explain better
60794         Windows incompatibility.  Suggested by Micah Cowan
60795         <micah@cowan.name>.
60796
60797 2008-04-20  Bruno Haible  <bruno@clisp.org>
60798
60799         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
60800         unistr/u8-mblen.
60801
60802 2008-04-20  Bruno Haible  <bruno@clisp.org>
60803
60804         Fix test failure on platforms with non-GNU iconv.
60805         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
60806         (U_TO_U8): Use it, rather than u16_to_u8.
60807         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
60808         units at the end of the input string.
60809         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
60810
60811 2008-04-20  Bruno Haible  <bruno@clisp.org>
60812
60813         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
60814         when the resulting length is 0.
60815         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
60816
60817 2008-04-20  Bruno Haible  <bruno@clisp.org>
60818
60819         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
60820         works.
60821         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
60822
60823 2008-04-20  Bruno Haible  <bruno@clisp.org>
60824
60825         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
60826         * modules/tsearch-tests (configure.ac): Test for initstate function.
60827
60828 2008-04-20  Bruno Haible  <bruno@clisp.org>
60829
60830         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
60831         for nlink_t if missing.
60832         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
60833
60834 2008-04-19  Bruno Haible  <bruno@clisp.org>
60835
60836         Work around snprintf bug on Linux libc5.
60837         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
60838         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60839         gl_SNPRINTF_SIZE1.
60840         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60841         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
60842         that test failed.
60843         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
60844         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
60845         * modules/snprintf (Files): Add m4/printf.m4.
60846         * modules/vsnprintf (Files): Likewise.
60847         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
60848         * doc/posix-functions/vsnprintf.texi: Likewise.
60849
60850 2008-04-19  Bruno Haible  <bruno@clisp.org>
60851
60852         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
60853         from 0.0058 to less than 10^-7.
60854
60855 2008-04-19  Bruno Haible  <bruno@clisp.org>
60856
60857         Fix rounding when a precision is given.
60858         * lib/vasnprintf.c (is_borderline): New function.
60859         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
60860         9...9x.
60861         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
60862         %e, %g.
60863         * tests/test-vasprintf-posix.c (test_function): Likewise.
60864         * tests/test-snprintf-posix.h (test_function): Likewise.
60865         * tests/test-sprintf-posix.h (test_function): Likewise.
60866         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
60867         * tests/test-printf-posix.h (test_function): Likewise.
60868         * tests/test-printf-posix.output: Update.
60869         Reported by John Darrington <john@darrington.wattle.id.au> via
60870         Ben Pfaff <blp@cs.stanford.edu>.
60871
60872 2008-04-18  Simon Josefsson  <simon@josefsson.org>
60873
60874         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
60875         Suggested by Bruno Haible <bruno@clisp.org>.
60876
60877 2008-04-17  Bruno Haible  <bruno@clisp.org>
60878
60879         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
60880         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
60881         implementation.
60882         Patch by Bruce Merry <bmerry@gmail.com>.
60883
60884 2008-04-17  Simon Josefsson  <simon@josefsson.org>
60885
60886         * doc/posix-functions/strftime.texi (strftime): Mention that %e
60887         doesn't work under Windows.
60888
60889 2008-04-16  Bruno Haible  <bruno@clisp.org>
60890
60891         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
60892         New macros.
60893         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
60894         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
60895         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
60896         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
60897         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
60898         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
60899         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
60900         macros.
60901         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
60902         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
60903         Northern Sotho, Uighur.
60904
60905 2008-04-16  Bruno Haible  <bruno@clisp.org>
60906
60907         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
60908         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
60909         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
60910         Reported by Daniel Bergström <daniel@octocode.com>.
60911
60912 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
60913             Bruno Haible  <bruno@clisp.org>
60914
60915         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
60916         function.
60917         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
60918         New functions, mostly extracted from gl_locale_name_default.
60919         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
60920
60921 2008-04-16  Eric Blake  <ebb9@byu.net>
60922
60923         Adjust strtod detection to catch glibc 2.7 bug.
60924         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
60925         Reported by John Gatewood Ham.
60926
60927 2008-04-16  Bruno Haible  <bruno@clisp.org>
60928
60929         Add tentative support for Linux libc5.
60930         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
60931         * lib/fpurge.c (fpurge): Likewise.
60932         * lib/freadable.c (freadable): Likewise.
60933         * lib/freadahead.c (freadahead): Likewise.
60934         * lib/freading.c (freading): Likewise.
60935         * lib/freadptr.c (freadptr): Likewise.
60936         * lib/freadseek.c (freadptrinc): Likewise.
60937         * lib/fseeko.c (rpl_fseeko): Likewise.
60938         * lib/fseterr.c (fseterr): Likewise.
60939         * lib/fwritable.c (fwritable): Likewise.
60940         * lib/fwriting.c (fwriting): Likewise.
60941         Reported by Alain Guibert <alguibert+bts@free.fr>.
60942
60943 2008-04-15  Bruno Haible  <bruno@clisp.org>
60944
60945         * modules/mathl (configure.ac): Define module indicator.
60946
60947 2008-04-15  Bruno Haible  <bruno@clisp.org>
60948
60949         * lib/logl.c (logl): Remove unused variables.
60950
60951 2008-04-15  Bruno Haible  <bruno@clisp.org>
60952
60953         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
60954         fails.
60955
60956 2008-04-15  Bruno Haible  <bruno@clisp.org>
60957
60958         * lib/trim.c (trim2): Fix argument of isspace() macro.
60959
60960 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
60961
60962         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
60963         to 0.
60964         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
60965
60966 2008-04-14  Bruno Haible  <bruno@clisp.org>
60967
60968         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
60969         AC_LANG_PROGRAM argument.
60970         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
60971         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
60972         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
60973         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
60974         * m4/math_h.m4 (gl_MATH_H): Likewise.
60975         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
60976         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
60977         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
60978         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
60979         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
60980         * m4/regex.m4 (gl_REGEX): Likewise.
60981         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
60982         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
60983         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
60984         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
60985         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
60986         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
60987         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60988         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
60989
60990 2008-04-14  Jim Meyering  <meyering@redhat.com>
60991
60992         test-strtod: fix typos: s/abs/fabs/
60993         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
60994
60995 2008-04-13  Bruno Haible  <bruno@clisp.org>
60996
60997         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
60998         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
60999         module is also used and while not building the reloc-wrapper.
61000
61001 2008-04-13  Bruno Haible  <bruno@clisp.org>
61002
61003         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
61004
61005 2008-04-13  Bruno Haible  <bruno@clisp.org>
61006
61007         Fix AIX compilation failure introduced on 2008-04-02.
61008         * tests/test-frexp.c (exp): Undefine before redefining.
61009         * tests/test-frexpl.c (exp): Likewise.
61010
61011 2008-04-13  Bruno Haible  <bruno@clisp.org>
61012
61013         Work around a HP-UX stdio bug.
61014         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
61015         * tests/test-ftello.c (main): Likewise.
61016         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
61017         * doc/posix-functions/ftello.texi: Likewise.
61018
61019 2008-04-13  Bruno Haible  <bruno@clisp.org>
61020
61021         Make test-signbit pass on HP-UX/hppa.
61022         * tests/test-signbit.c (minus_zerol): New variable.
61023         (test_signbitl): Use it.
61024
61025 2008-04-13  Bruno Haible  <bruno@clisp.org>
61026
61027         Make truncl work on OSF/1 4.0.
61028         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
61029         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
61030         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
61031         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
61032         HAVE_DECL_TRUNCL.
61033         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
61034         HAVE_DECL_TRUNCL.
61035         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
61036
61037 2008-04-13  Bruno Haible  <bruno@clisp.org>
61038
61039         * lib/unictype.h: Remove trailing comma from enumeration definitions.
61040
61041 2008-04-13  Bruno Haible  <bruno@clisp.org>
61042
61043         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
61044         expression, so as to avoid HP-UX 11 cc compiler bug.
61045
61046 2008-04-13  Bruno Haible  <bruno@clisp.org>
61047
61048         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
61049
61050 2008-04-13  Bruno Haible  <bruno@clisp.org>
61051
61052         * lib/git-merge-changelog.c: Remove empty declaration outside of
61053         functions.
61054
61055 2008-04-13  Bruno Haible  <bruno@clisp.org>
61056
61057         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
61058
61059 2008-04-13  Bruno Haible  <bruno@clisp.org>
61060
61061         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
61062         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
61063         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
61064         also if it exists but lacks definitions of the SHUT_* macros.
61065         * modules/sys_socket (Description): Update.
61066         Reported by Elbert Pol <e.pol@chello.nl>.
61067
61068 2008-04-13  Bruno Haible  <bruno@clisp.org>
61069
61070         * lib/localcharset.c (OS2): Don't redefine if already defined.
61071         Reported by Elbert Pol <e.pol@chello.nl>.
61072
61073 2008-04-13  Bruno Haible  <bruno@clisp.org>
61074
61075         * lib/binary-io.h [__EMX__]: Include <io.h>.
61076         Reported by Elbert Pol <e.pol@chello.nl>.
61077
61078 2008-04-12  Bruno Haible  <bruno@clisp.org>
61079
61080         * lib/fpucw.h: Enable the definitions also for x86_64.
61081         Needed for NetBSD/x86_64.
61082         Reported by Thomas Klausner <tk@giga.or.at>.
61083
61084 2008-04-12  Bruno Haible  <bruno@clisp.org>
61085
61086         * tests/test-strtod.c: Include isnand.h.
61087         (main): Use isnand instead of isnan.
61088         Reported by Jim Meyering.
61089
61090 2008-04-12  Bruno Haible  <bruno@clisp.org>
61091
61092         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
61093         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
61094
61095 2008-04-12  Jim Meyering  <meyering@redhat.com>
61096
61097         * m4/math_h.m4 (gl_MATH_H): Fix typos.
61098
61099 2008-04-12  Bruno Haible  <bruno@clisp.org>
61100
61101         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
61102         Reported by Elbert Pol <e.pol@chello.nl>.
61103
61104 2008-04-12  Eric Blake  <ebb9@byu.net>
61105
61106         Work around Solaris 10 math.h bug.
61107         * m4/math_h.m4 (gl_MATH_H): Check for bug.
61108         (gl_MATH_H_DEFAULTS): Set up default.
61109         * modules/math (Makefile.am): Replace new indicators.
61110         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
61111         * tests/test-math.c (main): Test this.
61112         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
61113         * doc/posix-headers/math.texi (math.h): Mention bug.
61114         Reported by Nelson H. F. Beebe and Jim Meyering.
61115
61116 2008-04-11  Bruno Haible  <bruno@clisp.org>
61117
61118         Adapt to future versions of Apple GCC.
61119         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
61120         Reported by Peter O'Gorman <peter@pogma.com>.
61121
61122 2008-04-11  Bruno Haible  <bruno@clisp.org>
61123
61124         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
61125
61126 2008-04-11  Bruno Haible  <bruno@clisp.org>
61127
61128         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
61129
61130         * modules/getaddrinfo-tests (Makefile.am): Define
61131         test_getaddrinfo_LDADD.
61132
61133 2008-04-11  Bruno Haible  <bruno@clisp.org>
61134
61135         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
61136         (init): Fix syntax error.
61137         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
61138         is declared.
61139
61140 2008-04-11  Bruno Haible  <bruno@clisp.org>
61141
61142         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
61143         * modules/glob (Depends-on): Add stdbool.
61144
61145 2008-04-11  Bruno Haible  <bruno@clisp.org>
61146
61147         * lib/trim.c: Include <string.h>.
61148
61149 2008-04-11  Eric Blake  <ebb9@byu.net>
61150
61151         Avoid compile failure on OS/2.
61152         * lib/regex_internal.h (internal_function): Disable optimization
61153         on OS/2 (__EMX__), where it caused compiler error.
61154         Reported by Elbert Pol.
61155
61156 2008-04-11  Bruno Haible  <bruno@clisp.org>
61157
61158         Flush the standard error stream before aborting. Needed on mingw.
61159         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
61160         * tests/test-array_list.c (ASSERT): Likewise.
61161         * tests/test-array_oset.c (ASSERT): Likewise.
61162         * tests/test-avltree_list.c (ASSERT): Likewise.
61163         * tests/test-avltree_oset.c (ASSERT): Likewise.
61164         * tests/test-avltreehash_list.c (ASSERT): Likewise.
61165         * tests/test-binary-io.c (ASSERT): Likewise.
61166         * tests/test-byteswap.c (ASSERT): Likewise.
61167         * tests/test-c-ctype.c (ASSERT): Likewise.
61168         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
61169         * tests/test-c-strcasestr.c (ASSERT): Likewise.
61170         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
61171         * tests/test-c-strstr.c (ASSERT): Likewise.
61172         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
61173         * tests/test-canonicalize.c (ASSERT): Likewise.
61174         * tests/test-carray_list.c (ASSERT): Likewise.
61175         * tests/test-ceilf1.c (ASSERT): Likewise.
61176         * tests/test-ceilf2.c (ASSERT): Likewise.
61177         * tests/test-ceill.c (ASSERT): Likewise.
61178         * tests/test-count-one-bits.c (ASSERT): Likewise.
61179         * tests/test-fbufmode.c (ASSERT): Likewise.
61180         * tests/test-fflush2.c (ASSERT): Likewise.
61181         * tests/test-floorf1.c (ASSERT): Likewise.
61182         * tests/test-floorf2.c (ASSERT): Likewise.
61183         * tests/test-floorl.c (ASSERT): Likewise.
61184         * tests/test-fopen.c (ASSERT): Likewise.
61185         * tests/test-fpending.c (ASSERT): Likewise.
61186         * tests/test-fprintf-posix.c (ASSERT): Likewise.
61187         * tests/test-fpurge.c (ASSERT): Likewise.
61188         * tests/test-freadable.c (ASSERT): Likewise.
61189         * tests/test-freadahead.c (ASSERT): Likewise.
61190         * tests/test-freading.c (ASSERT): Likewise.
61191         * tests/test-freadptr.c (ASSERT): Likewise.
61192         * tests/test-freadptr2.c (ASSERT): Likewise.
61193         * tests/test-freadseek.c (ASSERT): Likewise.
61194         * tests/test-freopen.c (ASSERT): Likewise.
61195         * tests/test-frexp.c (ASSERT): Likewise.
61196         * tests/test-frexpl.c (ASSERT): Likewise.
61197         * tests/test-fseek.c (ASSERT): Likewise.
61198         * tests/test-fseeko.c (ASSERT): Likewise.
61199         * tests/test-fstrcmp.c (ASSERT): Likewise.
61200         * tests/test-ftell.c (ASSERT): Likewise.
61201         * tests/test-ftello.c (ASSERT): Likewise.
61202         * tests/test-func.c (ASSERT): Likewise.
61203         * tests/test-fwritable.c (ASSERT): Likewise.
61204         * tests/test-fwriting.c (ASSERT): Likewise.
61205         * tests/test-getdelim.c (ASSERT): Likewise.
61206         * tests/test-getline.c (ASSERT): Likewise.
61207         * tests/test-i-ring.c (ASSERT): Likewise.
61208         * tests/test-iconv-utf.c (ASSERT): Likewise.
61209         * tests/test-iconv.c (ASSERT): Likewise.
61210         * tests/test-isfinite.c (ASSERT): Likewise.
61211         * tests/test-isnand.c (ASSERT): Likewise.
61212         * tests/test-isnanf.c (ASSERT): Likewise.
61213         * tests/test-isnanl.h (ASSERT): Likewise.
61214         * tests/test-ldexpl.c (ASSERT): Likewise.
61215         * tests/test-linked_list.c (ASSERT): Likewise.
61216         * tests/test-linkedhash_list.c (ASSERT): Likewise.
61217         * tests/test-localename.c (ASSERT): Likewise.
61218         * tests/test-lseek.c (ASSERT): Likewise.
61219         * tests/test-mbscasecmp.c (ASSERT): Likewise.
61220         * tests/test-mbscasestr1.c (ASSERT): Likewise.
61221         * tests/test-mbscasestr2.c (ASSERT): Likewise.
61222         * tests/test-mbscasestr3.c (ASSERT): Likewise.
61223         * tests/test-mbscasestr4.c (ASSERT): Likewise.
61224         * tests/test-mbschr.c (ASSERT): Likewise.
61225         * tests/test-mbscspn.c (ASSERT): Likewise.
61226         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
61227         * tests/test-mbspbrk.c (ASSERT): Likewise.
61228         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
61229         * tests/test-mbsrchr.c (ASSERT): Likewise.
61230         * tests/test-mbsspn.c (ASSERT): Likewise.
61231         * tests/test-mbsstr1.c (ASSERT): Likewise.
61232         * tests/test-mbsstr2.c (ASSERT): Likewise.
61233         * tests/test-mbsstr3.c (ASSERT): Likewise.
61234         * tests/test-memchr2.c (ASSERT): Likewise.
61235         * tests/test-memmem.c (ASSERT): Likewise.
61236         * tests/test-open.c (ASSERT): Likewise.
61237         * tests/test-printf-frexp.c (ASSERT): Likewise.
61238         * tests/test-printf-frexpl.c (ASSERT): Likewise.
61239         * tests/test-printf-posix.c (ASSERT): Likewise.
61240         * tests/test-quotearg.c (ASSERT): Likewise.
61241         * tests/test-rbtree_list.c (ASSERT): Likewise.
61242         * tests/test-rbtree_oset.c (ASSERT): Likewise.
61243         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
61244         * tests/test-round1.c (ASSERT): Likewise.
61245         * tests/test-roundf1.c (ASSERT): Likewise.
61246         * tests/test-roundl.c (ASSERT): Likewise.
61247         * tests/test-signbit.c (ASSERT): Likewise.
61248         * tests/test-sleep.c (ASSERT): Likewise.
61249         * tests/test-snprintf-posix.c (ASSERT): Likewise.
61250         * tests/test-snprintf.c (ASSERT): Likewise.
61251         * tests/test-sprintf-posix.c (ASSERT): Likewise.
61252         * tests/test-stat-time.c (ASSERT): Likewise.
61253         * tests/test-strcasestr.c (ASSERT): Likewise.
61254         * tests/test-strerror.c (ASSERT): Likewise.
61255         * tests/test-striconv.c (ASSERT): Likewise.
61256         * tests/test-striconveh.c (ASSERT): Likewise.
61257         * tests/test-striconveha.c (ASSERT): Likewise.
61258         * tests/test-strsignal.c (ASSERT): Likewise.
61259         * tests/test-strstr.c (ASSERT): Likewise.
61260         * tests/test-strtod.c (ASSERT): Likewise.
61261         * tests/test-trunc1.c (ASSERT): Likewise.
61262         * tests/test-trunc2.c (ASSERT): Likewise.
61263         * tests/test-truncf1.c (ASSERT): Likewise.
61264         * tests/test-truncf2.c (ASSERT): Likewise.
61265         * tests/test-truncl.c (ASSERT): Likewise.
61266         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
61267         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
61268         * tests/test-vasnprintf.c (ASSERT): Likewise.
61269         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
61270         * tests/test-vasprintf.c (ASSERT): Likewise.
61271         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
61272         * tests/test-vprintf-posix.c (ASSERT): Likewise.
61273         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
61274         * tests/test-vsnprintf.c (ASSERT): Likewise.
61275         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
61276         * tests/test-wcwidth.c (ASSERT): Likewise.
61277         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
61278         * tests/test-xprintf-posix.c (ASSERT): Likewise.
61279         * tests/test-xvasprintf.c (ASSERT): Likewise.
61280         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
61281         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
61282         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
61283         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
61284         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
61285         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
61286         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
61287         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
61288         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
61289         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
61290         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
61291         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
61292         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
61293         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
61294         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
61295         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
61296         * tests/unictype/test-block_list.c (ASSERT): Likewise.
61297         * tests/unictype/test-block_of.c (ASSERT): Likewise.
61298         * tests/unictype/test-block_test.c (ASSERT): Likewise.
61299         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
61300         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
61301         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
61302         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
61303         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
61304         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
61305         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
61306         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
61307         * tests/unictype/test-combining.c (ASSERT): Likewise.
61308         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
61309         * tests/unictype/test-digit.c (ASSERT): Likewise.
61310         * tests/unictype/test-mirror.c (ASSERT): Likewise.
61311         * tests/unictype/test-numeric.c (ASSERT): Likewise.
61312         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
61313         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
61314         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
61315         * tests/unictype/test-scripts.c (ASSERT): Likewise.
61316         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
61317         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
61318         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
61319         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
61320         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
61321         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
61322         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
61323         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
61324         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
61325         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
61326         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
61327         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
61328         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
61329         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
61330         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
61331         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
61332         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
61333         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
61334         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
61335         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
61336         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
61337         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
61338         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
61339         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
61340         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
61341         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
61342         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
61343         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
61344         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
61345         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
61346         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
61347         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
61348         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
61349         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
61350         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
61351         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
61352         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
61353         Reported by Eric Blake.
61354
61355 2008-04-11  Bruno Haible  <bruno@clisp.org>
61356
61357         * lib/wchar.in.h: Tweak comment.
61358
61359 2008-04-11  Bruno Haible  <bruno@clisp.org>
61360
61361         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
61362         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
61363         gl_COMMON.
61364         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
61365
61366 2008-04-11  Bruno Haible  <bruno@clisp.org>
61367
61368         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
61369
61370 2008-04-11  Simon Josefsson  <simon@josefsson.org>
61371
61372         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
61373         of attempting to use non-existing /dev/*random.  Based on patch
61374         from Adam Strzelecki <ono@java.pl> in
61375         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
61376
61377 2008-04-08  Bruno Haible  <bruno@clisp.org>
61378
61379         Add tentative support for emx+gcc.
61380         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
61381         * lib/fpurge.c (fpurge): Likewise.
61382         * lib/freadable.c (freadable): Likewise.
61383         * lib/freadahead.c (freadahead): Likewise.
61384         * lib/freading.c (freading): Likewise.
61385         * lib/freadptr.c (freadptr): Likewise.
61386         * lib/freadseek.c (freadptrinc): Likewise.
61387         * lib/fseeko.c (rpl_fseeko): Likewise.
61388         * lib/fseterr.c (fseterr): Likewise.
61389         * lib/fwritable.c (fwritable): Likewise.
61390         * lib/fwriting.c (fwriting): Likewise.
61391         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
61392
61393 2008-04-09  Eric Blake  <ebb9@byu.net>
61394
61395         Avoid some autoconf warnings.
61396         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
61397         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
61398         * m4/afs.m4 (gl_AFS): Likewise.
61399         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
61400         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
61401         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
61402         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
61403         (gl_INTEGER_TYPE_SUFFIX): Likewise.
61404         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
61405         (AC_CHECK_DECLS_ONCE): Likewise.
61406         Rename file...
61407         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
61408         gnulib-tool requires autoconf 2.59 or better.
61409         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
61410
61411 2008-04-08  Eric Blake  <ebb9@byu.net>
61412
61413         Use 'git describe --match' if present (added in git 1.5.5).
61414         * build-aux/git-version-gen: Limit result to tags that match 'v*'
61415         if possible.
61416
61417 2008-04-08  Bruno Haible  <bruno@clisp.org>
61418
61419         Add tentative support for OpenServer.
61420         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
61421         _ptr, _cnt.
61422         * lib/fpurge.c (fpurge): Likewise.
61423         * lib/freadable.c (freadable): Likewise.
61424         * lib/freadahead.c (freadahead): Likewise.
61425         * lib/freading.c (freading): Likewise.
61426         * lib/freadptr.c (freadptr): Likewise.
61427         * lib/freadseek.c (freadptrinc): Likewise.
61428         * lib/fseeko.c (rpl_fseeko): Likewise.
61429         * lib/fseterr.c (fseterr): Likewise.
61430         * lib/fwritable.c (fwritable): Likewise.
61431         * lib/fwriting.c (fwriting): Likewise.
61432         Reported by Roger Cornelius <rac@tenzing.org> and
61433         Brian K. White <brian@aljex.com>.
61434
61435 2008-04-06  Jim Meyering  <meyering@redhat.com>
61436
61437         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
61438
61439 2008-04-06  Bruno Haible  <bruno@clisp.org>
61440
61441         Avoid possible error with non-ASCII bytes in UTF-8 locales.
61442         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
61443         * tests/test-printf-posix.sh: Likewise.
61444         * tests/test-vfprintf-posix.sh: Likewise.
61445         * tests/test-vprintf-posix.sh: Likewise.
61446         * tests/test-xprintf-posix.sh: Likewise.
61447
61448 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61449
61450         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
61451         hide error from 'ls', needed on OS/2.
61452         Report by Elbert Pol <elbert.pol@gmail.com>.
61453
61454 2008-04-04  Eric Blake  <ebb9@byu.net>
61455
61456         Make test-fseeko.c failures meaningful.
61457         * tests/test-fseeko.c: Print line number on failure.
61458         * tests/test-fseek.c: Likewise.
61459         Reported by Nelson H. F. Beebe.
61460
61461         Improve strtod bug detection check.
61462         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
61463         required for Solaris 10.
61464         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
61465
61466 2008-04-04  Bruno Haible  <bruno@clisp.org>
61467
61468         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
61469         by m4/setenv.m4.
61470
61471 2008-04-03  Eric Blake  <ebb9@byu.net>
61472
61473         Ensure sane .version contents.
61474         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
61475         version string.
61476         * build-aux/git-version-gen: Improve documentation.
61477
61478         Make GNU make output nicer.
61479         * top/GNUmakefile [!_have-Makefile]: Add dependency on
61480         MAKECMDGOALS to enforce message for all command line targets.  Set
61481         srcdir for use in maint.mk.
61482
61483         Another maintainer tweak.
61484         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
61485         a target that regenerates version.
61486
61487 2008-04-03  Jim Meyering  <meyering@redhat.com>
61488
61489         vc-list-files: don't cause coreutils "make po-check" failure
61490         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
61491
61492 2008-04-03  Eric Blake  <ebb9@byu.net>
61493
61494         Allow VPATH usage of vc-list-files.
61495         * build-aux/vc-list-files (scriptversion): Add timestamp.
61496         (options): Add --help, --version, -C.
61497         (CVS): Support installed cvsu.
61498
61499 2008-04-02  Bruno Haible  <bruno@clisp.org>
61500
61501         Avoid some "statement with no effect" warnings from gcc.
61502         * tests/test-wctype.c (main): Explicitly ignore unused values.
61503         Reported by Jim Meyering.
61504
61505 2008-04-02  Jim Meyering  <meyering@redhat.com>
61506
61507         Avoid some warnings from "gcc -Wshadow".
61508         * tests/test-frexp.c (exp): Define to a different identifier.
61509         * tests/test-frexpl.c (exp): Likewise.
61510
61511 2008-04-03  Jim Meyering  <meyering@redhat.com>
61512
61513         bootstrap: remove dangling *.[ch] symlinks from lib
61514         * build-aux/bootstrap [dangling symlink removal]: Move find's
61515         -depth option to precede all others, to avoid a warning.
61516         Remove *.[ch] files too, and from "$source_base" (usually lib/).
61517
61518 2008-04-02  Bruno Haible  <bruno@clisp.org>
61519
61520         Avoid some warnings from "gcc -Wshadow".
61521         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
61522         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
61523         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
61524         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
61525         Reported by Jim Meyering.
61526
61527 2008-04-01  Bruno Haible  <bruno@clisp.org>
61528
61529         Fix test to work on IRIX 6.5 with cc.
61530         * tests/test-math.c (numeric_equal): New function.
61531         (main): Use it.
61532
61533 2008-04-01  Bruno Haible  <bruno@clisp.org>
61534
61535         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
61536
61537 2008-04-01  Bruno Haible  <bruno@clisp.org>
61538
61539         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
61540         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61541         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
61542         (Depends-on): Remove math.
61543
61544         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
61545         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61546         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
61547         (Depends-on): Remove math.
61548
61549         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
61550         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61551         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
61552         (Depends-on): Remove math.
61553         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
61554         (Depends-on): Remove math.
61555
61556         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
61557         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61558         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
61559         (Depends-on): Remove math.
61560         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
61561         (Depends-on): Remove math.
61562
61563         * tests/test-round1.c: Include nan.h.
61564         (main): Use NaNd instead of NAN.
61565         * modules/round-tests (Files): Add tests/nan.h.
61566
61567         * tests/test-trunc1.c: Include nan.h.
61568         (main): Use NaNd instead of NAN.
61569         * modules/trunc-tests (Files): Add tests/nan.h.
61570
61571         * tests/test-roundf1.c: Include nan.h.
61572         (main): Use NaNf instead of NAN.
61573         * modules/roundf-tests (Files): Add tests/nan.h.
61574
61575         * tests/test-truncf1.c: Include nan.h.
61576         (main): Use NaNf instead of NAN.
61577         * modules/truncf-tests (Files): Add tests/nan.h.
61578
61579         * tests/test-ceilf1.c: Include nan.h.
61580         (main): Use NaNf instead of NAN.
61581         * modules/ceilf-tests (Files): Add tests/nan.h.
61582
61583         * tests/test-floorf1.c: Include nan.h.
61584         (main): Use NaNf instead of NAN.
61585         * modules/floorf-tests (Files): Add tests/nan.h.
61586
61587         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
61588         (main): Use NaNf instead of NAN.
61589         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
61590
61591         * tests/test-isnand.c: Include nan.h instead of <math.h>.
61592         (main): Use NaNd instead of NAN.
61593         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
61594
61595         * tests/test-frexp.c: Include nan.h.
61596         (main): Use NaNd instead of NAN.
61597         * modules/frexp-tests (Files): Add tests/nan.h.
61598
61599         * lib/isnan.c: Don't include <math.h>.
61600         (FUNC): Don't use NAN macro.
61601         * modules/isnand-nolibm (Depends-on): Remove math.
61602         * modules/isnanf-nolibm (Depends-on): Remove math.
61603         * modules/isnanl (Depends-on): Remove math.
61604         * modules/isnanl-nolibm (Depends-on): Remove math.
61605
61606         * tests/nan.h: New file.
61607
61608 2008-04-01  Eric Blake  <ebb9@byu.net>
61609
61610         Fix typos.
61611         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
61612         values to be the right type.
61613
61614         For now, cater to gnulib strtod inaccuracies.
61615         * tests/test-strtod.c (main): Allow 1-ulp error on expected
61616         fractional results.  While not as nice from a QoI perspective, it
61617         is a quicker patch than correctly implementing decimal to binary
61618         rounding.
61619
61620 2008-03-31  Eric Blake  <ebb9@byu.net>
61621
61622         Guarantee a definition of NAN.
61623         * lib/math.in.h (NAN): Define if missing.
61624         * tests/test-math.c (main): Test it.
61625         * doc/posix-headers/math.texi (math.h): Document this.
61626         * lib/isnan.c (rpl_isnand): Use it.
61627         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
61628         * tests/test-floorf1.c (NaN): Likewise.
61629         * tests/test-frexp.c (NaN): Likewise.
61630         * tests/test-isnand.c (NaN): Likewise.
61631         * tests/test-isnanf.c (NaN): Likewise.
61632         * tests/test-round1.c (NaN): Likewise.
61633         * tests/test-roundf1.c (NaN): Likewise.
61634         * tests/test-snprintf-posix.h (NaN): Likewise.
61635         * tests/test-sprintf-posix.h (NaN): Likewise.
61636         * tests/test-trunc1.c (NaN): Likewise.
61637         * tests/test-truncf1.c (NaN): Likewise.
61638         * tests/test-vasnprintf-posix.c (NaN): Likewise.
61639         * tests/test-vasprintf-posix.c (NaN): Likewise.
61640         * modules/isnand-nolibm (Depends-on): Add math.
61641         * modules/isnanf-nolibm (Depends-on): Likewise.
61642         * modules/isnanl (Depends-on): Likewise.
61643         * modules/isnanl-nolibm (Depends-on): Likewise.
61644         * modules/snprintf-posix-tests (Depends-on): Likewise.
61645         * modules/sprintf-posix-tests (Depends-on): Likewise.
61646         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
61647         * modules/vsprintf-posix-tests (Depends-on): Likewise.
61648         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
61649         * modules/vasprintf-posix-tests (Depends-on): Likewise.
61650
61651 2008-03-31  Bruno Haible  <bruno@clisp.org>
61652
61653         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
61654         * doc/posix-functions/strtod.texi: Likewise.
61655
61656 2008-03-31  Bruno Haible  <bruno@clisp.org>
61657
61658         * tests/test-strtod.c (main): Don't use C99 syntax.
61659
61660 2008-03-31  Bruno Haible  <bruno@clisp.org>
61661
61662         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
61663         Reported by Eric Blake.
61664
61665 2008-03-31  Jim Meyering  <meyering@redhat.com>
61666
61667         Don't compare actual signbit return values.
61668         * tests/test-strtod.c (main): Rather, compare only their
61669         zero/non-zero nature.
61670
61671 2008-03-31  Eric Blake  <ebb9@byu.net>
61672
61673         More strtod documentation.
61674         * doc/posix-functions/strtod.texi (strtod): Interpret more test
61675         failures as distinct bugs.
61676
61677 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
61678
61679         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
61680         Problem reported by Erik Benada in
61681         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
61682
61683 2008-03-30  Bruno Haible  <bruno@clisp.org>
61684
61685         * tests/test-strtod.c: Add comments about which assertion fails on which
61686         platform.
61687         * doc/posix-functions/strtod.texi: Add info about many more platforms.
61688
61689 2008-03-30  Eric Blake  <ebb9@byu.net>
61690
61691         Test signbit behavior on zeros.
61692         * tests/test-signbit.c (test_signbitf): Add tests for zero.
61693         (test_signbitd, test_signbitl): Likewise.
61694
61695         More strtod touchups.
61696         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
61697         sign of negative underflow, for now.  Use .5, not .1.
61698         * doc/posix-functions/strtod.texi (strtod): Mention these
61699         limitations.
61700         Reported by Jim Meyering.
61701
61702 2008-03-30  Bruno Haible  <bruno@clisp.org>
61703
61704         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
61705         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
61706
61707 2008-03-30  Bruno Haible  <bruno@clisp.org>
61708
61709         Avoid failure when attempting to return empty iconv results on some
61710         platforms.
61711         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
61712         allocation, don't report ENOMEM when the resulting string is empty.
61713
61714 2008-03-30  Bruno Haible  <bruno@clisp.org>
61715
61716         Fix buffer overrun.
61717         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
61718         Don't consider the width for tmp_length. Check count against tmp_length
61719         before doing the padding. Ensure enough allocation during padding.
61720
61721 2008-03-30  Eric Blake  <ebb9@byu.net>
61722
61723         strtod touchups.
61724         * lib/strtod.c (strtod): Avoid compiler warnings.
61725         Reported by Jim Meyering.
61726
61727 2008-03-30  Bruno Haible  <bruno@clisp.org>
61728
61729         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
61730         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
61731         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
61732         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
61733         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
61734         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
61735         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
61736         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
61737
61738         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
61739         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
61740         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
61741         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
61742         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
61743         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
61744         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
61745         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
61746
61747         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
61748         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
61749         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
61750         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
61751         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
61752         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
61753         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
61754         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
61755
61756         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
61757         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
61758
61759         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
61760         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
61761
61762         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
61763         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
61764
61765         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
61766         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
61767         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
61768
61769         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
61770         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
61771         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
61772
61773         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
61774         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
61775         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
61776
61777         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
61778         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
61779         * modules/vasprintf (Depends-on): Add EOVERFLOW.
61780
61781         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
61782         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
61783         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
61784         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
61785         (Depends-on): Add EOVERFLOW.
61786         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
61787         (Depends-on): Add EOVERFLOW.
61788         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61789         (Depends-on): Add EOVERFLOW.
61790         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61791         (Depends-on): Add EOVERFLOW.
61792         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61793         (Depends-on): Add EOVERFLOW.
61794         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61795         (Depends-on): Add EOVERFLOW.
61796         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61797         (Depends-on): Add EOVERFLOW.
61798         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61799         (Depends-on): Add EOVERFLOW.
61800
61801         * lib/sprintf.c (EOVERFLOW): Remove fallback.
61802         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
61803         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
61804
61805         * lib/snprintf.c (EOVERFLOW): Remove fallback.
61806         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
61807         * modules/snprintf (Depends-on): Add EOVERFLOW.
61808
61809         * lib/poll.c (EOVERFLOW): Remove fallback.
61810         * modules/poll (Depends-on): Add EOVERFLOW.
61811
61812         * lib/getugroups.c (EOVERFLOW): Remove fallback.
61813         * modules/getugroups (Depends-on): Add EOVERFLOW.
61814
61815         * lib/getdelim.c (EOVERFLOW): Remove fallback.
61816         * modules/getdelim (Depends-on): Add EOVERFLOW.
61817
61818         * lib/ftell.c (EOVERFLOW): Remove fallback.
61819         * modules/ftell (Depends-on): Add EOVERFLOW.
61820
61821         * lib/fprintf.c (EOVERFLOW): Remove fallback.
61822         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
61823         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
61824
61825         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
61826
61827         * modules/EOVERFLOW-tests: New file.
61828         * tests/test-EOVERFLOW.c: New file.
61829
61830         * modules/EOVERFLOW: New file.
61831         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
61832
61833 2008-03-30  Bruno Haible  <bruno@clisp.org>
61834
61835         Fix bug introduced on 2007-06-10.
61836         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
61837         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
61838
61839 2008-03-30  Bruno Haible  <bruno@clisp.org>
61840
61841         Improve freadseek's efficiency after ungetc.
61842         * lib/freadseek.c: Include freadahead.h.
61843         (freadptrinc): New function, extracted from freadseek.
61844         (freadseek): Use it in a loop. Use freadahead to determine the number
61845         of loop iterations.
61846         * modules/freadseek (Depends-on): Add freadahead.
61847         (configure.ac): Require AC_C_INLINE.
61848
61849 2008-03-30  Bruno Haible  <bruno@clisp.org>
61850
61851         * lib/freadseek.c (freadseek): Don't ignore the return value of
61852         freadptr.
61853
61854 2008-03-29  Eric Blake  <ebb9@byu.net>
61855
61856         Add hex float support.
61857         * modules/strtod (Depends-on): Add c-ctype.
61858         (Link): Mention POW_LIB.
61859         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
61860         whitespace between 'e' and exponent.
61861         * tests/test-strtod.c (main): Enable hex float tests.
61862         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
61863         now provides.
61864
61865         Document various strtod bugs, with some fixes.
61866         * doc/posix-functions/strtod.texi (strtod): Document bugs with
61867         "-0x", "inf", "nan", and hex constants.
61868         * doc/posix-functions/atof.texi (atof): Likewise.
61869         * modules/stdlib (Makefile.am): Support strtod.
61870         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
61871         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
61872         detect additional strtod bugs.
61873         * lib/stdlib.in.h (rpl_strtod): Add declarations.
61874         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
61875         bool where appropriate.  Parse 'inf' and 'nan'.
61876         * tests/test-strtod.c: New file.
61877         * modules/strtod (Depends-on): Add stdbool, stdlib.
61878         (configure.ac): Turn on module indicator.
61879         * modules/strtod-tests: New module.
61880
61881 2008-03-29  Eric Blake  <ebb9@byu.net>
61882
61883         Fix ftell on mingw.
61884         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
61885         * modules/ftell-tests (Depends-on): Add binary-io.
61886         * modules/ftello-tests (Depends-on): Likewise.
61887         * tests/test-ftell.c (main): Enhance test to cover behavior after
61888         ungetc.  Enforce binary mode.
61889         * tests/test-ftello.c (main): Likewise.
61890
61891         Pass test-freadseek on cygwin.
61892         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
61893         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
61894         ungetc buffer.
61895
61896         * tests/test-fflush2.c (main): Fix typo.
61897
61898 2008-03-29  Bruno Haible  <bruno@clisp.org>
61899
61900         * tests/test-fflush2.c (main): Temporarily disable the contents of
61901         this test.
61902         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
61903         Reported by Eric Blake.
61904
61905 2008-03-28  Simon Josefsson  <simon@josefsson.org>
61906
61907         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
61908         (GC_SHA224_DIGEST_SIZE): Add.
61909
61910         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
61911         (gc_hash_digest_length): Likewise.
61912         (gc_hash_buffer): Likewise.
61913
61914 2008-03-25  Bruno Haible  <bruno@clisp.org>
61915
61916         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
61917         detail which gettext release to use.
61918         Reported by Simon Josefsson.
61919
61920 2008-03-26  Jim Meyering  <meyering@redhat.com>
61921
61922         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
61923         * modules/gnumakefile (clean-GNUmakefile): Also, use
61924         test ... && ... || : syntax rather than if-then ... fi.
61925
61926         gnumakefile: Don't double-quote-expand $(VPATH) value.
61927         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
61928
61929 2008-03-24  Eric Blake  <ebb9@byu.net>
61930
61931         Alter GNUmakefile to install into top directory.
61932         * modules/maintainer-makefile: Split, and add dependency...
61933         * modules/gnumakefile: to this new module.
61934         * build-aux/GNUmakefile: Move...
61935         * top/GNUmakefile: ...here.
61936         * build-aux/maint.mk: Move...
61937         * top/maint.mk: ...here.
61938         * MODULES.html.sh (Support for maintaining...): Document new
61939         module.
61940
61941 2008-03-23  Bruno Haible  <bruno@clisp.org>
61942
61943         * gnulib-tool: New options --vc-files, --no-vc-files.
61944         (func_usage): Document them.
61945         (vc_files): New variable.
61946         (func_import): Consider vc_files.
61947         (func_create_testdir): Set vc_files to empty.
61948         Suggested by Jim Meyering and Karl Berry.
61949
61950 2008-03-23  Bruno Haible  <bruno@clisp.org>
61951
61952         Fix regex compilation error on HP-UX 11.
61953         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
61954         * modules/regex (Files): Add m4/mbstate_t.m4.
61955         Reported by Ton Voon <ton.voon@altinity.com>.
61956
61957 2008-03-23  Bruno Haible  <bruno@clisp.org>
61958
61959         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
61960
61961 2008-03-23  Eric Blake  <ebb9@byu.net>
61962             Bruno Haible  <bruno@clisp.org>
61963
61964         Install files from top/ in the destination directory.
61965         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
61966         augmentation also for the files from top/.
61967         (func_import, func_create_testdir): Rewrite file names:
61968         top/filename -> filename.
61969
61970 2008-03-23  Bruno Haible  <bruno@clisp.org>
61971
61972         Tweak "gnulib --version" output.
61973         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
61974
61975 2008-03-23  Bruno Haible  <bruno@clisp.org>
61976
61977         Tweak "gnulib --version" output.
61978         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
61979         rather than contents of ChangeLog, when possible.
61980
61981 2008-03-21  Eric Blake  <ebb9@byu.net>
61982
61983         More --version tweaks.
61984         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
61985         date of last ChangeLog entry.
61986
61987 2008-03-21  Jim Meyering  <meyering@redhat.com>
61988
61989         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
61990
61991 2008-03-20  Eric Blake  <ebb9@byu.net>
61992
61993         VPATH fix.
61994         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
61995
61996 2008-03-20  Simon Josefsson  <simon@josefsson.org>
61997
61998         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
61999         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
62000
62001 2008-03-20  Eric Blake  <ebb9@byu.net>
62002
62003         Sync GNUmakefile with coreutils.
62004         * build-aux/GNUmakefile (have-Makefile): Rename...
62005         (_have-Makefile): ...to this, for namespace consideration.
62006         (GNUmakefile.cfg): Include, if present.
62007         (_autoreconf): Define a default.
62008         (_is-dist-target): New rule for rebuilds to pick up intra-release
62009         version.
62010         (maint-cfg.mk): Rename...
62011         (cfg.mk): ...to this.
62012
62013 2008-03-18  Jim Meyering  <meyering@redhat.com>
62014
62015         New script and module: mktempd
62016         * MODULES.html.sh (maint+release support): Add mktempd.
62017         * build-aux/mktempd: New file.
62018         * modules/mktempd: New file.
62019
62020 2008-03-15  Jim Meyering  <meyering@redhat.com>
62021
62022         Undo last change.
62023         * lib/sha1.c, lib/md5.c: 63 != ~63.
62024         Reported by Andreas Schwab.
62025
62026         sha1.c, md5.c: Hoist a redundant expression.
62027         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
62028         "ctx->buflen" only once, before calling *_process_block.
62029         * lib/md5.c (md5_process_bytes): Likewise.
62030
62031 2008-03-14  Eric Blake  <ebb9@byu.net>
62032
62033         Bump copyright year in files generated by gnulib-tool.
62034         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
62035         gnulib-tool, rather than hard-coding it.
62036
62037         Fix 'gnulib-tool --version' output to work with git.
62038         * gnulib-tool (func_gnulib_dir): New function, extracted from...
62039         (startup): ...here.
62040         (func_version): Use it to invoke git-version-gen, rather than
62041         relying on CVS keyword expansion.  Modernize wording.
62042         (cvsdatestamp, last_checkin_date, version): Kill unused
62043         variables.
62044
62045 2008-03-12  Jim Meyering  <meyering@redhat.com>
62046
62047         Recognize optional cast of the argument to free.
62048         * build-aux/useless-if-before-free: Update regexps.
62049
62050         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
62051
62052 2008-03-11  Bruno Haible  <bruno@clisp.org>
62053
62054         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
62055         by a single package.
62056         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
62057         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
62058         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
62059         Reported by Sam Steingold <sds@gnu.org>.
62060
62061 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
62062
62063         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
62064         repositories.
62065
62066 2008-03-11  Bruno Haible  <bruno@clisp.org>
62067
62068         Avoid conflicts between local macro definitions.
62069         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
62070         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
62071
62072 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
62073             Bruno Haible  <bruno@clisp.org>
62074
62075         Make va_copy work with some version of xlc on AIX 5.1.
62076         * lib/stdarg.in.h: New file.
62077         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
62078         On AIX, use a <stdarg.h> file substitute.
62079         * modules/stdarg (Files): Add lib/stdarg.in.h.
62080         (Depends-on): Add include_next.
62081         (Makefile.am): Build a stdarg.h substitute if requested.
62082         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
62083
62084 2008-03-10  Bruno Haible  <bruno@clisp.org>
62085
62086         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
62087         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
62088         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
62089
62090 2008-03-10  Bruno Haible  <bruno@clisp.org>
62091
62092         * modules/stdlib (Depends-on): Add include_next, remove
62093         absolute-header.
62094
62095 2008-03-09  Bruno Haible  <bruno@clisp.org>
62096
62097         * lib/freadahead.h (freadahead): Document more precisely.
62098         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
62099         the sum of both buffer sizes.
62100         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
62101         * NEWS: Document the change.
62102
62103 2008-03-09  Bruno Haible  <bruno@clisp.org>
62104
62105         Extend freadptr to return also the buffer size.
62106         * lib/freadptr.h (freadptr): Add sizep argument.
62107         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
62108         (freadptr): Add sizep argument. Determine buffer size like freadahead
62109         does.
62110         * tests/test-freadptr.c: Don't include freadahead.h.
62111         (main): Adapt for new calling convention of freadptr.
62112         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
62113         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
62114         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
62115         tests/test-freadptr2.sh.
62116         (Depends): Remove freadahead.
62117         (TESTS): Add test-freadptr2.sh.
62118         (check_PROGRAMS): Add test-freadptr2.
62119
62120 2008-03-09  Bruno Haible  <bruno@clisp.org>
62121
62122         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
62123         Report and solution by Simon Josefsson.
62124
62125 2008-03-06  Bruno Haible  <bruno@clisp.org>
62126
62127         Make fflush after ungetc work on BSD platforms.
62128         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
62129         * tests/test-fflush2.c: New file.
62130         * tests/test-fflush2.sh: New file.
62131         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
62132         tests/test-fflush2.c.
62133         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
62134         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
62135
62136 2008-03-06  Eric Blake  <ebb9@byu.net>
62137
62138         Likewise for ftello.
62139         * modules/ftello (Dependencies): Add extensions.
62140         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
62141
62142 2008-03-06  Bruno Haible  <bruno@clisp.org>
62143
62144         * modules/fseeko (Dependencies): Add extensions.
62145         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
62146         Needed on glibc systems.
62147
62148 2008-03-06  Bruno Haible  <bruno@clisp.org>
62149
62150         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
62151         email address.
62152         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
62153
62154 2008-03-06  Bruno Haible  <bruno@clisp.org>
62155
62156         * users.txt: Add libgnupdf.
62157
62158 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
62159
62160         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
62161         (Header File Substitutes, Function Substitutes,
62162         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
62163         (Build robot for gnulib): Fix typo.
62164
62165 2008-03-06  Bruno Haible  <bruno@clisp.org>
62166
62167         * doc/gnulib-tool.texi (VCS Issues): Small updates.
62168         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
62169
62170 2008-03-06  Bruno Haible  <bruno@clisp.org>
62171
62172         * doc/func.texi: New file, extracted from doc/gnulib.texi.
62173         * doc/gnulib.texi: Include it.
62174
62175 2008-03-06  Simon Josefsson  <simon@josefsson.org>
62176
62177         * modules/func (License): Change license to unlimited; there was
62178         no LGPL parts in the module anyway.
62179
62180 2008-03-06  Simon Josefsson  <simon@josefsson.org>
62181
62182         * modules/__func__: Renamed to modules/func.
62183         * modules/__func__-tests: Renamed to modules/func-tests.
62184         * tests/test-__func__.c: Renamed to tests/test-func.c.
62185         * m4/__func__.m4: Renamed to m4/func.m4.
62186         * doc/gnulib.texi (__func__): Section renamed to func.
62187         Suggested by Eric Blake <ebb9@byu.net>.
62188
62189 2008-03-06  Simon Josefsson  <simon@josefsson.org>
62190
62191         * doc/gnulib.texi (__func__): Use C99 terminology when talking
62192         about __func__.  Make example self-contained.  Suggested by Eric
62193         Blake <ebb9@byu.net>.
62194
62195         * tests/test-__func__.c (main): Avoid extraneous () around __func.
62196         Suggested by Eric Blake <ebb9@byu.net>.
62197
62198 2008-03-06  Simon Josefsson  <simon@josefsson.org>
62199
62200         * modules/__func__: New file.
62201         * modules/__func__-tests: New file.
62202         * tests/test-__func__.c: New file.
62203         * m4/__func__.m4: New file.
62204         * doc/gnulib.texi (__func__): Document __func__ module.
62205
62206 2008-03-05  Simon Josefsson  <simon@josefsson.org>
62207
62208         * modules/byteswap (License): Re-license as LGPLv2+.
62209
62210 2008-03-05  Simon Josefsson  <simon@josefsson.org>
62211
62212         * doc/Makefile: Add pdf target.
62213
62214 2008-03-05  Simon Josefsson  <simon@josefsson.org>
62215
62216         * modules/inline (License): Use 'unlimited', since there are only
62217         *.m4 files in this module.
62218
62219 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
62220             Bruno Haible  <bruno@clisp.org>
62221
62222         Add support for HP C 7.1 on OpenVMS 8.3.
62223         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
62224
62225 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
62226
62227         Update VMS specifics.
62228         * lib/getopt.c [VMS]: Remove include of unixlib.h.
62229
62230 2008-03-02  Jim Meyering  <meyering@redhat.com>
62231
62232         Remove the last dependency on the "free" module.
62233         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
62234         Reported by Bob Proulx.
62235
62236         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
62237
62238         Remove useless "if" tests before free.  Deprecate "free" module.
62239         * doc/posix-functions/free.texi: Mention that this
62240         module is no longer useful.
62241         * modules/free (Notice): Say this module is obsolete.
62242         * modules/readutmp (Depends-on): Remove free.
62243         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
62244         * lib/putenv.c (putenv): Likewise.
62245         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
62246         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
62247         * tests/test-c-strcasestr.c (main): Likewise.
62248         * tests/test-c-strstr.c (main): Likewise.
62249         * tests/test-mbscasestr1.c (main): Likewise.
62250         * tests/test-mbscasestr2.c (main): Likewise.
62251         * tests/test-mbsstr1.c (main): Likewise.
62252         * tests/test-mbsstr2.c (main): Likewise.
62253         * tests/test-memmem.c (main): Likewise.
62254         * tests/test-strcasestr.c (main): Likewise.
62255         * tests/test-striconv.c (main): Likewise.
62256         * tests/test-striconveh.c (main): Likewise.
62257         * tests/test-striconveha.c (main): Likewise.
62258         * tests/test-strstr.c (main): Likewise.
62259
62260         * build-aux/git-version-gen: Adjust a comment and the Usage string.
62261
62262         bootstrap: sync from coreutils again
62263         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
62264
62265 2008-03-01  Jim Meyering  <meyering@redhat.com>
62266
62267         bootstrap: sync from coreutils
62268         * build-aux/bootstrap (update_po_files): Copy a .po file into place
62269         also when the target doesn't exist.
62270
62271 2008-03-01  Eric Blake  <ebb9@byu.net>
62272
62273         Fix bugs in last patch.
62274         * lib/memchr2.c (memchr2): Fix typo.
62275         * tests/test-memchr2.c: Test previous bug, and don't use GNU
62276         extension.
62277         Reported by Bruce Korb.
62278
62279         New module 'memchr2'.
62280         * modules/memchr2: New file.
62281         * modules/memchr2-tests: Likewise.
62282         * lib/memchr2.h: Likewise.
62283         * lib/memchr2.c: Likewise, based on memchr.c.
62284         * tests/test-memchr2.c: New test.
62285         * MODULES.html.sh (String handling): Add memchr2.
62286
62287 2008-02-29  Bruno Haible  <bruno@clisp.org>
62288
62289         * modules/freadseek-tests: New file.
62290         * tests/test-freadseek.sh: New file.
62291         * tests/test-freadseek.c: New file.
62292
62293         New module 'freadseek'.
62294         * modules/freadseek: New file.
62295         * lib/freadseek.h: New file.
62296         * lib/freadseek.c: New file.
62297         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
62298
62299 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
62300
62301         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
62302         wydawca.
62303
62304         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
62305         program_invocation_name and program_invocation_short_name are
62306         present.
62307
62308 2008-02-28  Bruno Haible  <bruno@clisp.org>
62309
62310         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
62311         * tests/test-freadptr.sh: Also test non-seekable stdin.
62312
62313 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
62314
62315         * build-aux/bootstrap (source_base, m4_base)
62316         (doc_base, tests_base): New variables.
62317         (gnulib_tool_options): Do not hardcode base directories, use
62318         the above variables instead.
62319
62320 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
62321
62322         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
62323
62324 2008-02-28  Bruno Haible  <bruno@clisp.org>
62325
62326         * modules/freadptr-tests: New file.
62327         * tests/test-freadptr.sh: New file.
62328         * tests/test-freadptr.c: New file.
62329
62330         New module 'freadptr'.
62331         * modules/freadptr: New file.
62332         * lib/freadptr.h: New file.
62333         * lib/freadptr.c: New file.
62334         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
62335
62336 2008-02-26  Karl Berry  <karl@freefriends.org>
62337
62338         Sync from Libtool:
62339         * libltdl/argz.c (argz_add, argz_count): New functions.
62340         * libltdl/argz.in.h: Declare them.
62341         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
62342
62343 2008-02-22  Bruno Haible  <bruno@clisp.org>
62344
62345         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
62346         is a pointer type.  Needed for HP-UX 10.
62347         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
62348         * doc/posix-functions/gmtime_r.texi: Likewise.
62349         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
62350
62351 2008-02-24  Bruno Haible  <bruno@clisp.org>
62352
62353         * modules/environ-tests: New file.
62354         * tests/test-environ.c: New file.
62355
62356         New module 'environ'.
62357         * modules/environ: New file.
62358         * lib/unistd.in.h (environ): New declaration.
62359         * m4/environ.m4: New file.
62360         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
62361         after use.
62362         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
62363         HAVE_DECL_ENVIRON.
62364         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
62365         HAVE_DECL_ENVIRON.
62366         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
62367         wrong claim that 'environ' is missing on some systems.
62368         * modules/execute (Depends-on): Add environ.
62369         * lib/execute.c (environ): Remove fallback declaration.
62370         * modules/pipe (Depends-on): Add environ.
62371         * lib/pipe.c (environ): Remove fallback declaration.
62372         * modules/setenv (Depends-on): Add environ.
62373         * lib/setenv.c (environ): Remove fallback declaration.
62374         * modules/unsetenv (Depends-on): Add environ.
62375         * lib/unsetenv.c (environ): Remove fallback declaration.
62376         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
62377         m4/environ.m4.
62378         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
62379         (gl_PREREQ_UNSETENV): Likewise.
62380
62381 2008-02-24  Bruno Haible  <bruno@clisp.org>
62382
62383         * doc/posix-functions/environ.texi: Document the MacOS X problem.
62384
62385 2008-02-20  Bob Proulx  <bob@proulx.com>
62386
62387         Enable use of older two part flavor 'git describe'.
62388         * build-aux/git-version-gen: If using the older two part flavor of
62389         git version then recreate the third part now present in the
62390         newer three part flavor of git describe.
62391
62392 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
62393
62394         * lib/fts.c (fts_build): Typo correction to comment.
62395
62396 2008-02-17  Bruno Haible  <bruno@clisp.org>
62397
62398         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
62399         generating no-op conflicts.
62400
62401 2008-02-17  Bruno Haible  <bruno@clisp.org>
62402
62403         Speed up by 10%.
62404         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
62405         result_entries, rather than an index-based loop.
62406
62407 2008-02-17  Bruno Haible  <bruno@clisp.org>
62408
62409         Speed up by 25%.
62410         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
62411         'hashcode_cached'.
62412         (entry_create): New function.
62413         (entry_hashcode): Use the cached hashcode if possible.
62414         (read_changelog_file, try_split_merged_entry): Use entry_create.
62415
62416 2008-02-17  Bruno Haible  <bruno@clisp.org>
62417
62418         Speed up from O(n^2) to O(n) for long ChangeLog files.
62419         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
62420         (read_changelog_file): Change implementation of entries_reversed list
62421         to rbtreehash.
62422         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
62423
62424 2008-02-17  Bruno Haible  <bruno@clisp.org>
62425
62426         New option --split-merged-entry.
62427         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
62428         (find_paragraph_end, try_split_merged_entry): New functions.
62429         (long_options): Add option --split-merged-entry.
62430         (usage): Document option --split-merged-entry.
62431         (main): Implement option --split-merged-entry.
62432         Reported by Eric Blake.
62433
62434 2008-02-17  Bruno Haible  <bruno@clisp.org>
62435
62436         * lib/git-merge-changelog.c: Include c-strstr.h.
62437         (main): Support the "git pull --rebase" situation.
62438         * modules/git-merge-changelog (Depends-on): Add c-strstr.
62439         Reported by Eric Blake.
62440
62441 2008-02-16  Eric Blake  <ebb9@byu.net>
62442
62443         Avoid doubling \ in common case of "c-maybe" quoting style.
62444         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
62445         eliding outer quotes.
62446         * lib/quotearg.h: Document this.
62447         * tests/test-quotearg.c (result_strings, inputs, results_g)
62448         (flag_results, locale_results): Test it by adding a new string to
62449         each test group.
62450         (compare_strings): Test new string.
62451
62452 2008-02-13  Eric Blake  <ebb9@byu.net>
62453
62454         Avoid trigraph quoting in default output.
62455         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
62456         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
62457         unless explicitly requested.
62458         * tests/test-quotearg.c (flag_results, main): Add additional tests.
62459
62460 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
62461
62462         Don't rely on signed integer overflowing to negative value.
62463         * lib/getugroups.c (getugroups): Include <limits.h>.
62464         Instead, compare against INT_MAX, and increment only if the test passes.
62465
62466 2008-02-13  Jim Meyering  <meyering@redhat.com>
62467         and Eric Blake  <ebb9@byu.net>
62468
62469         Avoid shadowing warning and compile errors on Linux.
62470         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
62471         forwarding macros on Linux.
62472         (dcgettext): Define a stub, for Linux.
62473         (results_g, main): Avoid warnings.
62474
62475 2008-02-12  Eric Blake  <ebb9@byu.net>
62476
62477         Silence warning in last patch.
62478         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
62479
62480         Quotearg part 4: add tests, fix c-maybe colon quoting.
62481         * lib/quotearg.h: Improve documentation.
62482         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
62483         escapes when adding outer quotes.  When quoting trigraphs, use
62484         valid C notation.  When quoting NUL, omit extra characters if next
62485         character is not digit.  Alter prototype.
62486         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
62487         callers.
62488         * modules/quotearg-tests: New module.
62489         * tests/test-quotearg.c: New test.
62490
62491 2008-02-07  Eric Blake  <ebb9@byu.net>
62492
62493         Quotearg part 3: add flag to control outer quote elision.
62494         * lib/quotearg.h (c_maybe_quoting_style): New style.
62495         (enum quoting_flags): Better documentation of flags.
62496         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
62497         c-maybe style.
62498         (quotearg_buffer_restyled): Handle new flag to elide outer
62499         quotes.
62500
62501         Quotearg part 2: add flag that can control NUL elision.
62502         * lib/quotearg.h (set_quoting_flags): New prototype.
62503         * lib/quotearg.c (struct quoting_options): Add flag field.
62504         (set_quoting_flags): New function.
62505         (quotearg_buffer_restyled): Add flags parameter.
62506         (quotearg_alloc_mem): Set the flag if length cannot be returned.
62507         (quotearg_n_options): Set the flag, since length cannot be
62508         returned.
62509         (quoting_options_from_style): Default flags correctly.
62510
62511         Quotearg part 1: more wrappers, restore quotearg_char state.
62512         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
62513         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
62514         (quotearg_colon_mem): New wrappers.
62515         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
62516         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
62517         functions.
62518         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
62519         (quotearg_colon_mem): New functions.
62520
62521 2008-02-11  Bruno Haible  <bruno@clisp.org>
62522
62523         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
62524         library in the current directory: it does not work with parallel make.
62525         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62526
62527 2008-02-11  Bruno Haible  <bruno@clisp.org>
62528
62529         * .gitattributes: New file.
62530
62531 2008-02-11  Jim Meyering  <meyering@redhat.com>
62532
62533         useless-if-before-free: Fix reversed exit values.
62534         * build-aux/useless-if-before-free: Use correct values
62535         for EXIT_MATCH and EXIT_NO_MATCH.
62536
62537         * build-aux/useless-if-before-free: Close stdout carefully.
62538
62539 2008-02-10  Bruno Haible  <bruno@clisp.org>
62540
62541         New module 'git-merge-changelog'.
62542         * modules/git-merge-changelog: New file.
62543         * lib/git-merge-changelog.c: New file.
62544
62545 2008-02-10  Jim Meyering  <meyering@redhat.com>
62546
62547         useless-if-before-free: New option: --list (-l).
62548
62549         useless-if-before-free: Don't exit immediately upon open failure.
62550         * build-aux/useless-if-before-free: Exit 2 for errors.
62551         Upon failure to open a file, don't exit immediately.
62552         Rather, just warn and continue with any remaining files.
62553
62554 2008-02-10  Bruno Haible  <bruno@clisp.org>
62555
62556         New abstract list operation 'node_set_value'.
62557         * lib/gl_list.h (gl_list_node_set_value): New function.
62558         (struct gl_list_implementation): New field node_set_value.
62559         * lib/gl_list.c (gl_list_node_set_value): New function.
62560         * lib/gl_array_list.c (gl_array_node_set_value): New function.
62561         (gl_array_list_implementation): Update.
62562         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
62563         (gl_carray_list_implementation): Update.
62564         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
62565         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
62566         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
62567         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
62568         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
62569         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
62570         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
62571         Update.
62572         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
62573         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
62574         (gl_sublist_list_implementation): Update.
62575
62576 2008-02-10  Bruno Haible  <bruno@clisp.org>
62577
62578         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
62579         Needed when ELEMENT is #defined to 'some_type *'.
62580
62581 2008-02-10  Jim Meyering  <meyering@redhat.com>
62582
62583         New script and module: useless-if-before-free
62584         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
62585         * build-aux/useless-if-before-free: New file.
62586         * modules/useless-if-before-free: New file.
62587
62588         * build-aux/gitlog-to-changelog: Use committer date, not author date.
62589
62590         xstrtol_error: Fix typo.
62591         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
62592         s/exit_failure/exit_status/.
62593
62594 2008-02-09  Jim Meyering  <meyering@redhat.com>
62595
62596         New script and module: gitlog-to-changelog
62597         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
62598         * modules/gitlog-to-changelog: New file.
62599         * build-aux/gitlog-to-changelog: New file.
62600
62601 2008-02-08  Jim Meyering  <meyering@redhat.com>
62602
62603         Avoid two "parameter unused" warnings.
62604         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
62605         Mark "st" as used.
62606
62607         Use "git COMMAND", not "git-COMMAND".
62608         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
62609         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
62610         * build-aux/git-version-gen: Use "git status", not "git-status".
62611
62612 2008-02-07  Bruno Haible  <bruno@clisp.org>
62613
62614         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
62615         Avoids a crash on Windows Vista.
62616         Reported by Adam Strzelecki <ono@java.pl> via
62617         Simon Josefsson <simon@josefsson.org>.
62618
62619 2008-02-06  Bruno Haible  <bruno@clisp.org>
62620
62621         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
62622         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
62623         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
62624         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
62625         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
62626         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62627         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
62628         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
62629         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62630         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62631         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62632         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62633         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62634         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62635         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62636         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
62637         left-adjust flag.
62638         * tests/test-snprintf-posix.h (test_function): Likewise.
62639         * tests/test-sprintf-posix.h (test_function): Likewise.
62640         * tests/test-vasprintf-posix.c (test_function): Likewise.
62641         * doc/posix-functions/fprintf.texi: Update.
62642         * doc/posix-functions/printf.texi: Update.
62643         * doc/posix-functions/snprintf.texi: Update.
62644         * doc/posix-functions/sprintf.texi: Update.
62645         * doc/posix-functions/vfprintf.texi: Update.
62646         * doc/posix-functions/vprintf.texi: Update.
62647         * doc/posix-functions/vsnprintf.texi: Update.
62648         * doc/posix-functions/vsprintf.texi: Update.
62649         Reported by Peter Fales <psfales@alcatel-lucent.com>.
62650
62651 2008-02-06  Bruno Haible  <bruno@clisp.org>
62652
62653         Fix bug introduced on 2008-01-26.
62654         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
62655
62656 2008-02-06  Bruno Haible  <bruno@clisp.org>
62657
62658         Fix bug introduced on 2007-06-10.
62659         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
62660         !NEED_PRINTF_FLAG_ZERO.
62661
62662 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
62663
62664         getloadavg: use libperfstat on AIX5
62665         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
62666
62667 2008-02-03  Bruno Haible  <bruno@clisp.org>
62668
62669         * lib/diffseq.h: Add comments about required #includes.
62670         Reported by Michael Biggs <gnulib@doubleplum.net>.
62671
62672 2008-02-01  Bruno Haible  <bruno@clisp.org>
62673
62674         * users.txt: Add gnuit.
62675
62676 2008-01-31  Bruno Haible  <bruno@clisp.org>
62677
62678         * lib/md4.c (set_uint32): Mark as inline.
62679         * lib/md5.c (set_uint32): Likewise.
62680         * lib/sha1.c (set_uint32): Likewise.
62681         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
62682         * m4/md5.m4 (gl_MD5): Likewise.
62683         * m4/sha1.m4 (gl_SHA1): Likewise.
62684
62685 2008-01-31  Jim Meyering  <meyering@redhat.com>
62686
62687         Use "sizeof VAR", rather than a literal "4".
62688         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
62689         * lib/md4.c (md4_read_ctx): Likewise.
62690         * lib/sha1.c (sha1_read_ctx): Likewise.
62691
62692 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62693
62694         * tests/test-sha1.c: New file, based on test-md5.c.
62695
62696         * modules/crypto/sha1-tests: New file.
62697
62698 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62699
62700         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
62701
62702 2008-01-31  Jim Meyering  <meyering@redhat.com>
62703
62704         Prefer "sizeof v" over the equivalent "4".
62705         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
62706         * lib/md5.c (set_uint32): Likewise.
62707         * lib/sha1.c (set_uint32): Likewise.
62708
62709 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62710
62711         * lib/sha1.c (set_uint32): Mark function as static.
62712
62713 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62714
62715         md2: clarify comments to say that alignment is not required.
62716         * lib/md2.h: Remove warning about alignment in comment.
62717         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
62718         never been required.
62719
62720 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62721
62722         md4: adapt alignment constraint fix from sha1.
62723         * lib/md4.c (set_uint32): New function, from sha1.c
62724         (md4_read_ctx): Use it.
62725         (md4_finish_ctx): Doc fix.
62726         * lib/md4.h: Doc fix.
62727
62728 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62729
62730         md5: adapt alignment constraint fix from sha1.
62731         * lib/md5.c (set_uint32): New function, from sha1.c
62732         (md5_read_ctx): Use it.
62733         (md5_finish_ctx): Doc fix.
62734         * lib/md5.h: Doc fix.
62735
62736 2008-01-30  Peter Palfrader  <weasel@debian.org>
62737
62738         sha1: remove the result buffer alignment constraint
62739         * lib/sha1.c (set_uint32): New function.
62740         (sha1_read_ctx): Rewrite to remove the result buffer alignment
62741         constraint.
62742         (sha1_finish_ctx): Remove comment warning about alignment constraint.
62743         * lib/sha1.h: Likewise.
62744
62745 2008-01-30  Andreas Schwab  <schwab@suse.de>
62746             Bruno Haible  <bruno@clisp.org>
62747
62748         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
62749         correct definition of LDBL_MIN_EXP.
62750
62751 2008-01-30  Karl Berry  <karl@gnu.org>
62752
62753         * config/srclist-update: try to preserve x bit on updates.
62754         * config/srclistvars.sh: update for karl.
62755
62756 2008-01-29  Jim Meyering  <meyering@redhat.com>
62757
62758         vasnprintf.c: Avoid warning about unused label
62759         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
62760         "overflow" label definition and associated code with the
62761         same cpp condition that guards the sole use of that label.
62762
62763 2008-01-26  Bruno Haible  <bruno@clisp.org>
62764
62765         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
62766         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
62767         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
62768         * lib/isnanl-nolibm.h (isnanl): Likewise.
62769         Reported by Paul Eggert <eggert@cs.ucla.edu>.
62770
62771 2008-01-26  Bruno Haible  <bruno@clisp.org>
62772
62773         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
62774         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
62775
62776 2008-01-26  Bruno Haible  <bruno@clisp.org>
62777
62778         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
62779         GCC >= 4.0 built-in.
62780         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
62781
62782 2008-01-26  Bruno Haible  <bruno@clisp.org>
62783
62784         Rename isnan, applicable to 'double' only, to isnand.
62785         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
62786         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
62787         (configure.ac): Update.
62788         (Include): Replace "isnan.h" with "isnand.h".
62789         * m4/isnand.m4: Renamed from m4/isnan.m4.
62790         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
62791         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
62792         instead of isnan.c.
62793         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
62794         instead of HAVE_ISNAN_IN_LIBC.
62795         (isnand): Renamed from isnan.
62796         * lib/isnand.c: New file.
62797         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
62798         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
62799         (Makefile.am): Update.
62800         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
62801         Include isnand.h instead of isnan.h.
62802         (main): Test isnand instead of isnan.
62803         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
62804         isnan-nolibm.
62805         * modules/frexp (Depends-on): Likewise.
62806         * modules/frexp-tests (Depends-on): Likewise.
62807         * modules/frexp-nolibm (Depends-on): Likewise.
62808         * modules/frexp-nolibm-tests (Depends-on): Likewise.
62809         * modules/isfinite (Depends-on): Likewise.
62810         * modules/round-tests (Depends-on): Likewise.
62811         * modules/signbit (Depends-on): Likewise.
62812         * modules/signbit-tests (Depends-on): Likewise.
62813         * modules/snprintf-posix (Depends-on): Likewise.
62814         * modules/sprintf-posix (Depends-on): Likewise.
62815         * modules/trunc-tests (Depends-on): Likewise.
62816         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
62817         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
62818         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
62819         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
62820         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
62821         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
62822         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
62823         * modules/vasnprintf-posix (Depends-on): Likewise.
62824         * modules/vasprintf-posix (Depends-on): Likewise.
62825         * modules/vfprintf-posix (Depends-on): Likewise.
62826         * modules/vsnprintf-posix (Depends-on): Likewise.
62827         * modules/vsprintf-posix (Depends-on): Likewise.
62828         * lib/frexp.c: Include isnand.h instead of isnan.h.
62829         (ISNAN): Set to isnand instead of isnan.
62830         * lib/isfinite.c: Include isnand.h instead of isnan.h.
62831         (gl_isfinited): Use isnand instead of isnan.
62832         * lib/signbitd.c: Include isnand.h instead of isnan.h.
62833         (gl_signbitd): Use isnand instead of isnan.
62834         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
62835         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
62836         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
62837         (main): Use isnand instead of isnan.
62838         * tests/test-round1.c: Include isnand.h.
62839         (main): Use isnand instead of isnan.
62840         * tests/test-round2.c: Include isnand.h instead of isnan.h.
62841         (ISNAN): Set to isnand instead of isnan.
62842         * tests/test-trunc1.c: Include isnand.h.
62843         (main): Use isnand instead of isnan.
62844         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
62845         (equal): Use isnand instead of isnan.
62846         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
62847         isnand-nolibm.
62848         * NEWS: Mention the change.
62849
62850 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
62851             Bruno Haible  <bruno@clisp.org>
62852
62853         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
62854         the GCC builtins for signbits are present and set
62855         REPLACE_SIGNBIT_USING_GCC if so.
62856         * lib/math.in.h (signbit): Define using GCC builtins if
62857         REPLACE_SIGNBIT_USING_GCC is set.
62858         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
62859         REPLACE_SIGNBIT_USING_GCC.
62860         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
62861
62862 2008-01-25  Jim Meyering  <meyering@redhat.com>
62863
62864         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
62865         * lib/poll.c: Include <config.h>, not "config.h".
62866         * tests/test-getaddrinfo.c: Likewise.
62867
62868 2008-01-25  Simon Josefsson  <simon@josefsson.org>
62869
62870         * modules/sockets-tests: New file.
62871
62872 2008-01-24  Simon Josefsson  <simon@josefsson.org>
62873
62874         * modules/sockets: New module, can be used to call WSA_Startup and
62875         WSA_Cleanup when needed.
62876
62877         * lib/sockets.h, lib/sockets.c: New files.
62878
62879         * m4/sockets.m4: New file.
62880
62881         * tests/test-sockets.c: New file.
62882
62883 2008-01-19  Bruno Haible  <bruno@clisp.org>
62884
62885         * doc/posix-headers: Renamed from doc/headers.
62886         * doc/posix-functions: Renamed from doc/functions.
62887         * doc/gnulib.texi: Update.
62888
62889 2008-01-19  Bruno Haible  <bruno@clisp.org>
62890
62891         * doc/glibc-functions/strcasestr.texi: Include contents of
62892         doc/functions/strcasestr.texi, fixing the list of platforms.
62893         * doc/functions/strcasestr.texi: Remove file.
62894
62895 2008-01-19  Bruno Haible  <bruno@clisp.org>
62896
62897         * doc/glibc-functions/memmem.texi: Include contents of
62898         doc/functions/memmem.texi.
62899         * doc/functions/memmem.texi: Remove file.
62900
62901 2008-01-18  Bruno Haible  <bruno@clisp.org>
62902
62903         * doc/glibc-functions/*.texi: New files.
62904         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
62905         to use the new files.
62906
62907 2008-01-17  Bruno Haible  <bruno@clisp.org>
62908
62909         * tests/test-gethostname.c (main): Fix printf statement.
62910
62911 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62912
62913         * modules/gethostname-tests: New file.
62914
62915         * tests/test-gethostname.c: New file.
62916
62917 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62918
62919         * lib/gethostname.c: Include string.h unconditionally, strncpy is
62920         used by the UNAME case.  Reported by Bruno Haible
62921         <bruno@clisp.org>.
62922
62923 2008-01-17  Eric Blake  <ebb9@byu.net>
62924
62925         Convert c-strcasestr to be more efficient.
62926         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
62927         (Depends-on): Add c-strcase, remove malloca, strnlen.
62928         * tests/test-c-strcasestr.c (main): Enhance test.
62929         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
62930
62931 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
62932
62933         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
62934         Use it in creating po/Makevars.
62935
62936 2008-01-15  Simon Josefsson  <simon@josefsson.org>
62937
62938         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
62939         Applications that requires it should initialize libgcrypt
62940         manually.
62941
62942 2008-01-16  Simon Josefsson  <simon@josefsson.org>
62943
62944         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
62945
62946 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
62947
62948         Fix problem with getdate on mingw32 reported by Simon Josefsson
62949         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
62950         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
62951         tzname", when deciding whether to declare tzname.
62952         * lib/strftime.c (tzname): Likewise.
62953
62954 2008-01-15  Bruno Haible  <bruno@clisp.org>
62955
62956         Work around a MacOS X 10.5 bug in frexpl().
62957         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
62958         * doc/functions/frexpl.texi: Document the bug.
62959         Reported by Elias Pipping <pipping@gentoo.org>.
62960
62961 2008-01-14  Eric Blake  <ebb9@byu.net>
62962
62963         Touch up previous patch.
62964         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
62965         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
62966
62967         Convert strcasestr module to use Two-Way algorithm.
62968         * modules/strcasestr-simple: New module, based on the old
62969         strcasestr, but with Two-Way rather than KMP.
62970         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
62971         * lib/string.in.h (rpl_strcasestr): Declare.
62972         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
62973         performance.
62974         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
62975         * modules/string (Makefile.am): Support strcasestr.
62976         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
62977         * modules/strcasestr-tests (Depends-on): Check for alarm.
62978         * tests/test-strcasestr.c: Augment test.
62979         * lib/str-two-way.h: Clean up stray macro.
62980         * NEWS: Document new module.
62981         * MODULES.html.sh (string handling): Likewise.
62982         * doc/functions/strcasestr.texi: New file.
62983         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
62984         here, since it is not a POSIX function.
62985
62986 2008-01-14  Colin Watson  <cjwatson@debian.org>
62987             Bruno Haible  <bruno@clisp.org>
62988
62989         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
62990         works fine; if not, set REPLACE_STRSIGNAL.
62991         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
62992         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62993         REPLACE_STRSIGNAL.
62994         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
62995         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
62996         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
62997
62998 2008-01-14  Bruno Haible  <bruno@clisp.org>
62999
63000         * modules/strsignal (Include): Change to <string.h>.
63001
63002 2008-01-14  Colin Watson  <cjwatson@debian.org>
63003
63004         * modules/argp (Notice): Add a notice recommending to change
63005         XGETTEXT_OPTIONS.
63006         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
63007
63008 2008-01-13  Colin Watson  <cjwatson@debian.org>
63009
63010         * modules/strsignal-tests: New file.
63011         * tests/test-strsignal.c: New file.
63012
63013         * lib/strsignal.c: New file, from glibc with modifications.
63014         * lib/siglist.h: New file, from glibc with modifications.
63015         * lib/string.in.h (strsignal): New declaration.
63016         * m4/strsignal.m4: New file.
63017         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63018         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
63019         * modules/strsignal: New file.
63020         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
63021         HAVE_DECL_STRSIGNAL.
63022
63023 2008-01-13  Bruno Haible  <bruno@clisp.org>
63024
63025         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
63026         locale encoding is not ASCII. Needed for OpenBSD 4.0.
63027         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
63028         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
63029
63030 2008-01-13  Bruno Haible  <bruno@clisp.org>
63031
63032         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
63033         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
63034         * lib/argp.h (__attribute__): Likewise.
63035         * lib/c-stack.c (__attribute__): Likewise.
63036         * lib/error.h (__attribute__): Likewise.
63037         * lib/fts.c (__attribute__): Likewise.
63038         * lib/openat.h (__attribute__): Likewise.
63039         * lib/stdio.in.h (__attribute__): Likewise.
63040         * lib/string.in.h (__attribute__): Likewise.
63041         * lib/utimens.c (__attribute__): Likewise.
63042         * lib/vasnprintf.h (__attribute__): Likewise.
63043         * lib/xalloc.h (__attribute__): Likewise.
63044         * lib/xprintf.h (__attribute__): Likewise.
63045         * lib/xstrtol.h (__attribute__): Likewise.
63046         * lib/xvasprintf.h (__attribute__): Likewise.
63047
63048 2008-01-12  Bruno Haible  <bruno@clisp.org>
63049
63050         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
63051         * doc/glibc-headers/a.out.texi: New file.
63052         * doc/glibc-headers/aliases.texi: New file.
63053         * doc/glibc-headers/alloca.texi: New file.
63054         * doc/glibc-headers/ar.texi: New file.
63055         * doc/glibc-headers/argp.texi: New file.
63056         * doc/glibc-headers/argz.texi: New file.
63057         * doc/glibc-headers/byteswap.texi: New file.
63058         * doc/glibc-headers/crypt.texi: New file.
63059         * doc/glibc-headers/endian.texi: New file.
63060         * doc/glibc-headers/envz.texi: New file.
63061         * doc/glibc-headers/err.texi: New file.
63062         * doc/glibc-headers/error.texi: New file.
63063         * doc/glibc-headers/execinfo.texi: New file.
63064         * doc/glibc-headers/fpu_control.texi: New file.
63065         * doc/glibc-headers/fstab.texi: New file.
63066         * doc/glibc-headers/fts.texi: New file.
63067         * doc/glibc-headers/getopt.texi: New file.
63068         * doc/glibc-headers/ieee754.texi: New file.
63069         * doc/glibc-headers/ifaddrs.texi: New file.
63070         * doc/glibc-headers/libintl.texi: New file.
63071         * doc/glibc-headers/mcheck.texi: New file.
63072         * doc/glibc-headers/mntent.texi: New file.
63073         * doc/glibc-headers/obstack.texi: New file.
63074         * doc/glibc-headers/paths.texi: New file.
63075         * doc/glibc-headers/printf.texi: New file.
63076         * doc/glibc-headers/pty.texi: New file.
63077         * doc/glibc-headers/resolv.texi: New file.
63078         * doc/glibc-headers/shadow.texi: New file.
63079         * doc/glibc-headers/sysexits.texi: New file.
63080         * doc/glibc-headers/ttyent.texi: New file.
63081
63082 2008-01-12  Jim Meyering  <meyering@redhat.com>
63083
63084         announce-gen: emit Gnulib's git-based version string.
63085         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
63086         New option --gnulib-version=V, where V is expected to be
63087         the output of running git describe in the gnulib directory.
63088         (get_tool_versions): Request feedback on xdelta.  I suspect it's
63089         not useful, and plan to stop publishing an xdelta file with each
63090         coreutils release.
63091
63092         * build-aux/announce-gen: Also check for lzma-compressed files.
63093
63094 2008-01-11  Bruno Haible  <bruno@clisp.org>
63095
63096         * tests/test-memmem.c (main): Increase maximum allowed time.
63097         * tests/test-strstr.c (main): Likewise.
63098
63099 2008-01-11  Bruno Haible  <bruno@clisp.org>
63100
63101         * doc/functions/memmem.texi: Add more precisions about platforms.
63102         * doc/functions/strstr.texi: Likewise.
63103
63104 2008-01-10  Eric Blake  <ebb9@byu.net>
63105
63106         * m4/strstr.m4: Delete cruft from copy-n-paste.
63107         Reported by Bruno Haible.
63108
63109 2008-01-10  Bruno Haible  <bruno@clisp.org>
63110
63111         Make c-strstr rely on strstr.
63112         * lib/c-strstr.c: Don't include str-kmp.h.
63113         (c_strstr): Define in terms of strstr.
63114         * modules/c-strstr (Files): Remove lib/str-kmp.h.
63115         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
63116
63117 2008-01-10  Bruno Haible  <bruno@clisp.org>
63118
63119         * doc/gnulib.texi (String Functions in C Locale): New section.
63120         * doc/c-ctype.texi: New file.
63121         * doc/c-strcase.texi: New file.
63122         * doc/c-strcaseeq.texi: New file.
63123         * doc/c-strcasestr.texi: New file.
63124         * doc/c-strstr.texi: New file.
63125         * doc/c-strtod.texi: New file.
63126         * doc/c-strtold.texi: New file.
63127
63128 2008-01-10  Eric Blake  <ebb9@byu.net>
63129
63130         * lib/relocatable.h: Fix a comment.
63131
63132 2008-01-10  Eric Blake  <ebb9@byu.net>
63133
63134         Share two-way algorithm.
63135         * lib/str-two-way.h: New file, merged from...
63136         * lib/memmem.c: ...here...
63137         * lib/strstr.c: ...and here.
63138         * modules/memmem (Files): Use it.
63139         * modules/strstr (Files): Likewise.
63140
63141         Avoid quadratic strstr implementations.
63142         * lib/strstr.c: New file.
63143         * m4/strstr.m4: Likewise.
63144         * modules/strstr: Likewise.
63145         * modules/strstr-tests: Likewise.
63146         * tests/test-strstr.c: Likewise.
63147         * lib/string.in.h (rpl_strstr): Declare.
63148         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
63149         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
63150         * modules/string (Makefile.am): Likewise.
63151         * MODULES.html.sh (string handling): Mention new module.
63152         * doc/functions/strstr.texi (strstr): Document the bug.
63153
63154 2008-01-10  Bruno Haible  <bruno@clisp.org>
63155
63156         * lib/relocatable.h (relocate): State whether result is freshly
63157         allocated or not.
63158         * lib/relocatable.c (relocate): Return a freshly allocated string
63159         instead of a pointer to a privately held string.
63160         Reported by Sylvain Beucler <beuc@gnu.org>.
63161
63162 2008-01-10  Colin Watson  <cjwatson@debian.org>
63163
63164         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
63165         s/S_ISNLK/S_ISLNK/.
63166
63167 2008-01-09  Bruno Haible  <bruno@clisp.org>
63168
63169         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
63170         and other files.
63171         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
63172         if it's only a guess.
63173         * modules/memmem: Simplify by depending on memmem-simple.
63174
63175 2008-01-09  Bruno Haible  <bruno@clisp.org>
63176
63177         Work around OpenBSD 4.0 tdelete() bug.
63178         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
63179         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
63180         macros and don't redefine the enum values.
63181         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
63182         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
63183         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
63184
63185 2008-01-09  Bruno Haible  <bruno@clisp.org>
63186
63187         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
63188         (main): Don't perform the tests if setlocale did not install a UTF-8
63189         locale. Needed on OpenBSD 4.0.
63190         * modules/wcwidth-tests (Depends-on): Add localcharset.
63191
63192 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63193
63194         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
63195         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
63196         * NEWS: announce this.
63197         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
63198
63199 2008-01-09  Simon Josefsson  <simon@josefsson.org>
63200         and Eric Blake  <ebb9@byu.net>
63201
63202         Add memmem-simple module.
63203         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
63204         (gl_FUNC_MEMMEM): Separate performance from presence checks.
63205         * modules/memmem-simple: New file.
63206         * modules/memmem (Description): Tweak.
63207         * MODULES.html.sh (string handling): Mention new module.
63208         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
63209         addressed by memmem-simple.
63210         * NEWS: Document the difference.
63211
63212 2008-01-09  Eric Blake  <ebb9@byu.net>
63213
63214         Give gcc some memmem optimization hints.
63215         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
63216         (strcasestr): Declare as pure.
63217         * modules/memmem (Maintainer): Claim my implementation.
63218
63219 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63220
63221         Support AIX 6.1 and higher.
63222         * build-aux/config.libpath: Likewise.
63223         * build-aux/config.rpath: Likewise.
63224
63225 2008-01-08  Jim Meyering  <meyering@redhat.com>
63226             Bruno Haible  <bruno@clisp.org>
63227
63228         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
63229         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
63230         Reported by Peter Fales in
63231         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
63232
63233 2008-01-08  Bruno Haible  <bruno@clisp.org>
63234
63235         * modules/unictype/category-of (Depends-on): Add
63236         unictype/category-none.
63237         * modules/unictype/category-and-tests (Depends-on): Add
63238         unictype/category-{L,N,Lu,Nd}.
63239         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
63240         * modules/unictype/category-or-tests (Depends-on): Add
63241         unictype/category-{L,N}.
63242         * modules/unictype/category-name-tests (Depends-on): Add
63243         unictype/category-{Z,Nl}.
63244         Reported by Simon Josefsson.
63245
63246 2008-01-08  Bruno Haible  <bruno@clisp.org>
63247
63248         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
63249         convention better.
63250         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
63251         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
63252         Reported by Peter Miller <millerp@canb.auug.org.au>.
63253
63254 2008-01-08  Eric Blake  <ebb9@byu.net>
63255
63256         Rewrite memmem to guarantee linear complexity without malloc.
63257         * lib/memmem.c (memmem): Use Two-Way rather than
63258         Knuth-Morris-Pratt, to allow O(1) space usage.
63259         (critical_factorization, two_way_short_needle)
63260         (two_way_long_needle): New functions.
63261         (knuth_morris_pratt): Delete.
63262         * modules/memmem (Depends-on): No longer need malloca or stdbool.
63263         Add stdint.
63264         * tests/test-memmem.c (main): Add tests for periodic needle and
63265         sublinear performance.
63266         * doc/functions/memmem.texi (memmem): Document other deficiencies
63267         in cygwin and older glibc.
63268
63269 2008-01-08  Bruno Haible  <bruno@clisp.org>
63270
63271         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
63272         augmentation.
63273
63274 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
63275
63276         Add a configure time option: --disable-acl.
63277         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
63278         AC_ARG_ENABLE(acl).
63279
63280 2008-01-06  Simon Josefsson  <simon@josefsson.org>
63281
63282         * tests/test-localename.c: Don't include obsolete "setenv.h".
63283
63284         * modules/localename-tests (Depends-on): Need unsetenv.
63285
63286 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63287
63288         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
63289
63290 2008-01-06  Colin Watson  <cjwatson@debian.org>
63291
63292         * users.txt: Add man-db.
63293
63294 2008-01-07  Bruno Haible  <bruno@clisp.org>
63295
63296         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
63297         previous section name.
63298
63299 2008-01-07  Bruno Haible  <bruno@clisp.org>
63300
63301         * lib/progname.c (set_program_name): Don't strip off a leading
63302         "lt-" prefix outside a .libs directory.
63303         Suggested by Paul Eggert.
63304
63305 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
63306             Bruno Haible  <bruno@clisp.org>
63307
63308         Improve memory cleanup in 'relocatable' module.
63309         * lib/relocatable.h (compute_curr_prefix): Change return type to
63310         'char *'.
63311         * lib/relocatable.c (compute_curr_prefix): Change return type to
63312         'char *'. Free curr_installdir after use.
63313         (relocate): Free curr_prefix_better after use.
63314         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
63315
63316 2008-01-01  Bruno Haible  <bruno@clisp.org>
63317
63318         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
63319         failure on older glibc systems.
63320         Reported by Peter Fales <psfales@alcatel-lucent.com>.
63321
63322 2008-01-05  Eric Blake  <ebb9@byu.net>
63323
63324         Avoid quadratic system memmem.
63325         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
63326         Reported by Ralf Wildenhues.
63327
63328         Fix memmem test for mingw.
63329         * modules/memmem-tests (configure.ac): Check for alarm.
63330         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
63331         it.
63332         * doc/functions/memmem.texi: New file.
63333         * doc/gnulib.texi (Function Substitutes): Add memmem.
63334         Reported by Bruno Haible.
63335
63336 2008-01-04  Bruno Haible  <bruno@clisp.org>
63337
63338         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
63339         Require gl_HEADER_STRINGS_H_DEFAULTS, not
63340         gl_HEADER_STRING_H_DEFAULTS.
63341
63342 2008-01-04  Eric Blake  <ebb9@byu.net>
63343
63344         Shorten duration of memmem test.
63345         * tests/test-memmem.c (main): Use alarm to declare failure if test
63346         is taking too long.
63347         Reported by Ralf Wildenhues.
63348
63349 2007-12-21  Simon Josefsson  <simon@josefsson.org>
63350
63351         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
63352         string, needed by strerror.
63353
63354 2008-01-03  Colin Watson  <cjwatson@debian.org>
63355             Bruno Haible  <bruno@clisp.org>
63356
63357         * doc/gnulib-tool.texi (Localization): New section.
63358
63359 2008-01-02  Bruno Haible  <bruno@clisp.org>
63360
63361         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
63362         variables to 'unsigned char *' type.
63363         Reported by Paul Eggert.
63364
63365 2008-01-02  Jim Meyering  <jim@meyering.net>
63366
63367         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
63368
63369 2007-12-31  Jim Meyering  <jim@meyering.net>
63370
63371         Avoid use of private FTS type name.
63372         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
63373
63374 2007-12-30  Karl Berry  <karl@gnu.org>
63375
63376         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
63377         work around defect in Texinfo and/or the standalone Info browser.
63378
63379 2007-12-30  Bruno Haible  <bruno@clisp.org>
63380
63381         Unify 5 copies of the KMP code.
63382         * lib/str-kmp.h: New file.
63383         * lib/c-strcasestr.c: Include str-kmp.h.
63384         (knuth_morris_pratt): Remove function.
63385         (c_strcasestr): Update.
63386         * lib/c-strstr.c: Include str-kmp.h.
63387         (knuth_morris_pratt): Remove function.
63388         (c_strcasestr): Update.
63389         * lib/mbscasestr.c: Include str-kmp.h.
63390         (knuth_morris_pratt_unibyte): Remove function.
63391         * lib/mbsstr.c: Include str-kmp.h.
63392         (knuth_morris_pratt_unibyte): Remove function.
63393         * lib/strcasestr.c: Include str-kmp.h.
63394         (knuth_morris_pratt): Remove function.
63395         (strcasestr): Update.
63396         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
63397         * modules/c-strstr (Files): Likewise.
63398         * modules/mbscasestr (Files): Likewise.
63399         * modules/mbsstr (Files): Likewise.
63400         * modules/strcasestr (Files): Likewise.
63401         Suggested by Paul Eggert.
63402
63403 2007-12-30  Bruno Haible  <bruno@clisp.org>
63404
63405         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
63406         defined.
63407
63408 2007-12-30  Bruno Haible  <bruno@clisp.org>
63409
63410         * lib/xmalloca.h: Include xalloc.h.
63411         (xnmalloca): New macro.
63412
63413 2007-12-30  Bruno Haible  <bruno@clisp.org>
63414
63415         * lib/malloca.h (nmalloca): New macro.
63416         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
63417         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
63418         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
63419         knuth_morris_pratt_multibyte): Likewise.
63420         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
63421         knuth_morris_pratt_multibyte): Likewise.
63422         * lib/memmem.c (knuth_morris_pratt): Likewise.
63423         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
63424
63425 2007-12-25  Bruno Haible  <bruno@clisp.org>
63426
63427         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
63428         * lib/glob.c: Don't include openat.h.
63429         (link_exists2_p): Add back the code that deals with the
63430         !GLOB_ALTDIRFUNC case.
63431         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
63432         let it do the filename concatenation.
63433         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
63434         * modules/glob (Depends-on): Remove openat.
63435
63436 2007-12-31  Bruno Haible  <bruno@clisp.org>
63437
63438         * modules/dirfd (License): Change to LGPLv2+.
63439         Approved by Jim Meyering.
63440
63441 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
63442
63443         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
63444         when multiplying M by sizeof (size_t).
63445
63446 2007-12-10  Martin Lambers  <marlam@marlam.de>
63447
63448         Override getpagesize on mingw.
63449         * lib/getpagesize.c: New file.
63450         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
63451         * modules/getpagesize (Files): Add lib/getpagesize.c.
63452         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
63453         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63454         REPLACE_GETPAGESIZE.
63455         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
63456
63457 2007-12-25  Bruno Haible  <bruno@clisp.org>
63458
63459         * modules/localcharset (Notice): New field.
63460         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
63461         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
63462
63463 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
63464             Bruno Haible  <bruno@clisp.org>
63465
63466         Avoid using the syntax symbol() in formatted documentation.
63467         * MODULES.html.sh (func_module): When replacing symbol() with a
63468         hyperlink, remove the parentheses. Show an error if some remain.
63469         Recognize and render the '...' syntax.
63470         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
63471         Rework. Add paragraph about GCC's inlining.
63472         * doc/alloca.texi: Likewise.
63473         * doc/error.texi: Remove parentheses from symbol reference.
63474         * doc/gnulib-intro.texi: Likewise.
63475         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
63476         * modules/fnmatch (Description): Reword to say "the ... function".
63477         * modules/full-read (Description): Likewise.
63478         * modules/full-write (Description): Likewise.
63479         * modules/safe-read (Description): Likewise.
63480         * modules/safe-write (Description): Likewise.
63481         * modules/strchrnul (Description): Likewise.
63482         * modules/trim (Description): Likewise.
63483         * modules/error (Description): Remove parentheses from symbol
63484         references.
63485         * modules/verror (Description): Likewise.
63486         Reported by Karl Berry.
63487
63488 2007-12-25  Bruno Haible  <bruno@clisp.org>
63489
63490         Fixup after 2007-10-16 commit.
63491         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
63492
63493 2007-12-24  Bruno Haible  <bruno@clisp.org>
63494
63495         Make --enable-relocatable work with DESTDIR.
63496         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
63497         to compute installdir from destprog.
63498         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
63499         also set the RELOC_DESTDIR variable.
63500         Reported by Левашев Иван <octagram@bluebottle.com>.
63501
63502 2007-12-24  Bruno Haible  <bruno@clisp.org>
63503
63504         Fix link error due to xalloc_die().
63505         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
63506         of xreadlink.
63507         * lib/relocwrapper.c: Update comments.
63508         * build-aux/install-reloc: Remove xreadlink.c from file list.
63509         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
63510         xreadlink.c.
63511         Reported by Левашев Иван <octagram@bluebottle.com>.
63512
63513 2007-12-24  Bruno Haible  <bruno@clisp.org>
63514
63515         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
63516         * lib/setenv.h: Remove file.
63517         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
63518         lib/setenv.h.
63519         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
63520         (Depends-on): Add stdlib.
63521         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
63522         gl_FUNC_UNSETENV.
63523         (Include): Replace setenv.h with <stdlib.h>.
63524         * modules/unsetenv: New file.
63525         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
63526         * lib/unsetenv.c: Include <stdlib.h> first.
63527         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
63528         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
63529         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
63530         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
63531         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
63532         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
63533         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
63534         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
63535         * doc/functions/unsetenv.texi: Update.
63536         * modules/xsetenv (Depends-on): Add unsetenv.
63537         * modules/getdate (Depends-on): Likewise.
63538         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
63539         * lib/xsetenv.c: Don't include setenv.h.
63540         * lib/getdate.y: Likewise.
63541         * lib/relocwrapper.c: Likewise.
63542         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
63543         (Depends-on): Add stdlib.
63544         * NEWS: Mention the changes.
63545         Reported by Левашев Иван <octagram@bluebottle.com>.
63546
63547 2007-12-23  Bruno Haible  <bruno@clisp.org>
63548
63549         * lib/memmem.c (memmem): Use lowercase variable names. Tab
63550         indentation.
63551
63552 2007-12-23  Bruno Haible  <bruno@clisp.org>
63553
63554         * lib/c-strcasestr.c: Add more comments.
63555         * lib/c-strstr.c: Likewise.
63556         * lib/mbscasestr.c: Likewise.
63557         * lib/mbsstr.c: Likewise.
63558         * lib/strcasestr.c: Likewise.
63559         * lib/memmem.c: Likewise.
63560
63561 2007-12-23  Bruno Haible  <bruno@clisp.org>
63562
63563         * tests/test-memmem.c: Include <string.h> first.
63564
63565 2007-12-22  Bruno Haible  <bruno@clisp.org>
63566
63567         * gnulib-tool (func_create_testdir): Change $auxdir while generating
63568         the contents of $testsbase.
63569         Reported by Ralf Wildenhues.
63570
63571 2007-12-22  Bruno Haible  <bruno@clisp.org>
63572
63573         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
63574         two variables local_ldadd_before, local_ldadd_last.
63575
63576 2007-12-20  Eric Blake  <ebb9@byu.net>
63577
63578         Work around circular library issue when cross-compiling.
63579         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
63580         that progname.o does not need to pull in rpl_memcmp.
63581
63582 2007-12-19  Eric Blake  <ebb9@byu.net>
63583
63584         Fix memmem to avoid O(n^2) worst-case complexity.
63585         * lib/memmem.c (knuth_morris_pratt): New function.
63586         (memmem): Use it if first few naive iterations fail.
63587         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
63588         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
63589         * modules/memchr (License): Likewise.
63590         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
63591         malloca.
63592         * tests/test-memmem.c: Rewrite, borrowing ideas from
63593         test-mbsstr1.c; the old version wouldn't even compile!
63594         * modules/memmem-tests: New file.
63595         * lib/string.in.h (rpl_memmem): Add declaration.
63596         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
63597         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
63598         REPLACE_MEMMEM.
63599
63600 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
63601
63602         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
63603         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
63604         before any system include files, and undef after them all.  This
63605         should fix a problem on VMS reported by John E. Malmberg in
63606         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
63607
63608 2007-12-17  Eric Blake  <ebb9@byu.net>
63609
63610         Revert addition of verify, for BSD/OS.
63611         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
63612         can't handle large files, for the sake of obsolete platforms.
63613         * modules/fseeko (Depends-on): Remove verify.
63614         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
63615         * doc/functions/ftello.texi (ftello): Likewise.
63616         * doc/functions/fgetpos.texi (fgetpos): Likewise.
63617         Reported by Larry Jones.
63618
63619 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
63620
63621         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
63622         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
63623
63624 2007-12-17  Jim Meyering  <meyering@redhat.com>
63625
63626         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
63627         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
63628         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
63629         * modules/getcwd (Depends-on): Add openat.
63630         Reported by Petr Salinger.
63631
63632 2007-12-17  Bruno Haible  <bruno@clisp.org>
63633
63634         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
63635         avoid a segmentation fault of the configure test on x86_64 systems.
63636
63637 2007-12-15  Jim Meyering  <meyering@redhat.com>
63638
63639         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
63640
63641 2007-12-13  Eric Blake  <ebb9@byu.net>
63642
63643         Another fseek test.
63644         * tests/test-fseek.c (main): Also test ungetc handling.
63645         * tests/test-fseeko.c (main): Likewise.
63646         * modules/fseeko (Depends-on): Add verify.
63647         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
63648         large.
63649         Reported by Larry Jones.
63650
63651         Fix fseeko on mingw.
63652         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
63653         seek.
63654
63655         Beef up fseek tests.
63656         * tests/test-fseek.c (main): Also test eof handling.
63657         * tests/test-fseeko.c (main): Likewise.
63658         Reported by Larry Jones.
63659
63660 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
63661
63662         Fix fseeko on BSD-based platforms.
63663         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
63664         successful seek.
63665
63666 2007-12-12  Eric Blake  <ebb9@byu.net>
63667
63668         Allow circular dependency of separate libtests.a
63669         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
63670         when use_libtests.
63671
63672 2007-12-11  Eric Blake  <ebb9@byu.net>
63673
63674         Fix bug with -0.0L in previous patch.
63675         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
63676         * tests/test-isnan.c (main): Also test on zeroes.
63677         * tests/test-isnanf.c (main): Likewise.
63678         * tests/test-isnanl.h (main): Likewise.
63679
63680         Detect pseudo-denormals on x86 even when cross-compiling.
63681         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
63682         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
63683         invalid bit patterns that happen to satisfy ==.
63684
63685         Avoid link failures with separate libtests.a.
63686         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
63687         last, to satisfy circular dependencies.
63688
63689 2007-12-11  Eric Blake  <ebb9@byu.net>
63690         and Bruno Haible  <bruno@clisp.org>
63691
63692         Fix OpenBSD 4.0 <float.h> handling of long double.
63693         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
63694         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
63695         * doc/headers/float.texi (float.h): Document OpenBSD bug.
63696
63697 2007-12-11  Jim Meyering  <meyering@redhat.com>
63698
63699         * users.txt: Add libvirt.
63700
63701         Support versions of autoconf prior to 2.59c.
63702         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
63703         if it is not already defined.
63704
63705 2007-12-09  Bruno Haible  <bruno@clisp.org>
63706
63707         Let 'gnulib-tool --import' collect sources needed for the tests in
63708         tests/ rather than in lib/.
63709         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
63710         argument. If true, add rules to generate libtests.a, and put libtests.a
63711         into $(LDADD). Consider source files in subdirectories and set
63712         uses_subdirs.
63713         (func_emit_initmacro_start, func_emit_initmacro_end,
63714         func_emit_initmacro_done): Pass all arguments explicitly.
63715         (func_import): Determine two module lists main_modules,
63716         testsrelated_modules. Determine use_libtests. Determine two variables
63717         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
63718         instead of just sed_transform_lib_file. Determine two variables
63719         main_files and testsrelated_files. Compute 'files' as the union of
63720         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
63721         func_add_or_update. In the generated gnulib-comp.m4, collect the
63722         object files for tests/ in different variables than those for lib/.
63723         Substitute LIBTESTS_LIBDEPS.
63724         (func_create_testdir): Combine the uses_subdirs results from
63725         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
63726
63727 2007-12-09  Bruno Haible  <bruno@clisp.org>
63728
63729         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
63730         the build-aux directory.
63731
63732 2007-12-09  Bruno Haible  <bruno@clisp.org>
63733
63734         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
63735         introduced on 2006-09-09.
63736
63737 2007-12-07  Jim Meyering  <meyering@redhat.com>
63738
63739         Let these macros work also with autoconf-2.59.
63740         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
63741         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
63742         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63743
63744 2007-12-06  Jim Meyering  <meyering@redhat.com>
63745
63746         Avoid a configure-time syntax error in gl_FUNC_ACL.
63747         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
63748         function in each branch, before testing the cache variable.
63749
63750 2007-12-04  Eric Blake  <ebb9@byu.net>
63751
63752         Make scripts executable.
63753         * build-aux/config.guess: Add execute permissions.
63754         * build-aux/config.sub: Likewise.
63755         * build-aux/gendocs.sh: Likewise.
63756
63757         Fix frexp on mingw.
63758         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
63759         cross-compiling.
63760         * doc/functions/frexp.texi (frexp): Document the bug.
63761
63762         Make cygwin fseeko check more reliable.
63763         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
63764         version numbers, rather than unrelated feature check.
63765         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
63766         * doc/functions/ftello.texi (ftello): Likewise.
63767         Reported by Bruno Haible.
63768
63769         * m4/strerror.m4: Bump version number.
63770
63771 2007-12-03  Bruno Haible  <bruno@clisp.org>
63772
63773         * doc/functions/mprotect.texi: Mention the mingw problem.
63774
63775 2007-12-03  Eric Blake  <ebb9@byu.net>
63776
63777         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
63778         REPLACE_STRERROR is initialized before this macro.
63779
63780 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
63781
63782         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
63783         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
63784         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
63785         put -lsec in even for programs other than 'ls'.  This fixes a problem
63786         for gettext reported by Bruno Haible in
63787         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
63788         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
63789         Add support for Solaris 10.  This isn't efficient, but should get the
63790         job done for now.
63791
63792 2007-12-03  James Youngman  <jay@gnu.org>
63793
63794         * doc/regexprops-generic.texi: change "an close-group" to "a
63795         close-group" and "illegal" to "not allowed".
63796
63797 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63798
63799         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
63800         pr_byname.h. Needed for the rare case when the maintainer has done
63801         "make maintainer-clean" in the source directory and then attempts a
63802         build outside the source directory.
63803         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
63804         scripts_byname.h.
63805
63806 2007-12-02  Martin Lambers <marlam@marlam.de>
63807             Bruno Haible  <bruno@clisp.org>
63808
63809         * lib/getpagesize.h: Remove file.
63810         * lib/unistd.in.h: Include declaration of getpagesize here.
63811         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
63812         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
63813         HAVE_SYS_PARAM_H.
63814         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
63815         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63816         * modules/getpagesize (Files): Remove lib/getpagesize.h.
63817         (Depends-on): Add unistd.
63818         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63819         (Include): Use <unistd.h> instead of getpagesize.h.
63820         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
63821         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63822         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
63823         gl_GETPAGESIZE invocation, already handled by module dependency.
63824         * lib/pagealign_alloc.c: Don't include getpagesize.h.
63825
63826 2007-12-02  Bruno Haible  <bruno@clisp.org>
63827
63828         * modules/strings-tests: New file.
63829         * tests/test-strings.c: New file.
63830
63831         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
63832         * lib/strings.in.h: New file.
63833         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
63834         * m4/strings_h.m4: New file.
63835         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
63836         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
63837         * modules/strings: New file.
63838         * modules/string (Makefile.am): Update.
63839         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
63840         Reported by Karl Berry.
63841
63842 2007-12-01  Eric Blake  <ebb9@byu.net>
63843
63844         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
63845         accommodate fix in cygwin 1.5.25.
63846
63847 2007-12-01  Jim Meyering  <meyering@redhat.com>
63848
63849         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
63850         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
63851         that would inhibit utf8-optimization of a regexp containing line-
63852         or buffer-anchors, e.g., `^', `$'.
63853
63854 2007-11-30  Bruno Haible  <bruno@clisp.org>
63855
63856         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
63857         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
63858         glthread_recursive_lock_init.
63859         * lib/lock.c (glthread_recursive_lock_init)
63860         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
63861         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63862
63863 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
63864
63865         New function qset_acl, like set_acl but with syscall semantics.
63866         * lib/acl.h (qset_acl): New decl.
63867         * lib/acl.c (qset_acl): New function.
63868         (set_acl): Use new function.  Use more-consistent diagnostics.
63869
63870 2007-11-28  Jim Meyering  <meyering@redhat.com>
63871
63872         * modules/physmem (License): Change from GPL to LGPLv2+.
63873
63874 2007-11-26  Bruno Haible  <bruno@clisp.org>
63875
63876         * lib/vasnprintf.c (decode_long_double): Don't abort if the
63877         'long double' type has excess precision.
63878         Reported by Jim Meyering in
63879         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
63880
63881 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63882
63883         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
63884         Sync from <http://gnu.org/licenses>.
63885         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
63886         with license text from same location.
63887         * doc/maintain.texi, doc/standards.texi:  Sync from
63888         <http://savannah.gnu.org/projects/gnustandards>.
63889
63890 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
63891         and Jim Meyering  <meyering@redhat.com>
63892
63893         Adjust getdate' grammar to accept a slightly more regular language.
63894         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
63895         Before, the former was rejected.
63896         * lib/getdate.y (digits_to_date_time): New function, factored
63897         out of ...
63898         (number): ...here.  Just call digits_to_date_time.
63899         (hybrid): New non-terminal to handle an <unsigned number,
63900         signed relative offset> sequence consistently.
63901
63902 2007-11-18  Jim Meyering  <meyering@redhat.com>
63903
63904         Pull my changes from coreutils:
63905         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
63906         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
63907         use of $gnulib_tool_option_extras, so that it's separated from the
63908         preceding argument.
63909
63910         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
63911         * build-aux/bootstrap (cp_mark_as_generated): Create any required
63912         parent destination directories before copying a file into place.
63913
63914 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
63915
63916         bootstrap: work also with 4-argument variant of AC_INIT
63917         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
63918
63919 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
63920
63921         Port test-getaddrinfo to Solaris.
63922         Problem reported by Bruno Haible in
63923         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
63924         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
63925         explanation of setting 'hints'.
63926         Don't reject an implementation merely because it returns EAI_SERVICE.
63927         (EAI_SERVICE): Define to 0 if not defined.
63928
63929 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
63930
63931         The license of gnu-make and posix-shell is now "GPLed build tool".
63932         * modules/gnu-make (License): Likewise.
63933         * modules/posix-shell (License): Likewise.
63934
63935         New module posix-shell, for determining a POSIX shell
63936         or perhaps something that is close enough to a POSIX shell.
63937         * m4/posix-shell.m4: New file.
63938         * modules/posix-shell: New file.
63939
63940         * MODULES.html.sh: Mention new module.
63941
63942         New module gnu-make, for determining whether we're using GNU Make.
63943         * m4/gnu-make.m4: New file.
63944         * modules/gnu-make: New file.
63945         * MODULES.html.sh: Mention new module.
63946
63947 2007-11-14  Jim Meyering  <meyering@redhat.com>
63948
63949         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
63950         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
63951         use this macro to create a function _definition_.
63952         Remove useless "#undef ARGMATCH_DIE".
63953
63954 2007-11-14  Bruno Haible  <bruno@clisp.org>
63955
63956         * lib/config.charset: Update for OpenBSD 4.1.
63957         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
63958
63959 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
63960
63961         Document 64-bit #if problems in stdint.texi.
63962         * doc/headers/stdint.texi (stdint.h): Mention problems with
63963         64-bit-#if, and how to work around them.
63964
63965         Don't insist on 'long long int' support in the preprocessor.  It
63966         breaks too many things.  For example, PRIdMAX still uses a 'long
63967         long int' format with the latest Sun compiler, even though
63968         HAVE_LONG_LONG_INT isn't defined due to that compiler's
63969         preprocessor problem.  This causes the latest coreutils to dump
63970         core on Solaris 10 sparc with the Sun C compiler.
63971         Instead, fix the 2007-10-16 problem in a different way, by evaluating
63972         the troublesome expressions at configure-time, not at #if-time.
63973         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
63974         preprocessor.
63975         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
63976         compile-time C checks, done at 'configure'-time.
63977         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
63978         * modules/inttypes (Makefile): Substitute the new symbols that
63979         gl_INTTYPES_H now generates.
63980         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
63981
63982 2007-11-12  Bruno Haible  <bruno@clisp.org>
63983
63984         Tests for Unicode character classification functions.
63985
63986         * modules/unictype/bidicategory-byname-tests: New file.
63987         * modules/unictype/bidicategory-name-tests: New file.
63988         * modules/unictype/bidicategory-of-tests: New file.
63989         * modules/unictype/bidicategory-test-tests: New file.
63990         * modules/unictype/block-list-tests: New file.
63991         * modules/unictype/block-of-tests: New file.
63992         * modules/unictype/block-test-tests: New file.
63993         * modules/unictype/category-C-tests: New file.
63994         * modules/unictype/category-Cc-tests: New file.
63995         * modules/unictype/category-Cf-tests: New file.
63996         * modules/unictype/category-Cn-tests: New file.
63997         * modules/unictype/category-Co-tests: New file.
63998         * modules/unictype/category-Cs-tests: New file.
63999         * modules/unictype/category-L-tests: New file.
64000         * modules/unictype/category-Ll-tests: New file.
64001         * modules/unictype/category-Lm-tests: New file.
64002         * modules/unictype/category-Lo-tests: New file.
64003         * modules/unictype/category-Lt-tests: New file.
64004         * modules/unictype/category-Lu-tests: New file.
64005         * modules/unictype/category-M-tests: New file.
64006         * modules/unictype/category-Mc-tests: New file.
64007         * modules/unictype/category-Me-tests: New file.
64008         * modules/unictype/category-Mn-tests: New file.
64009         * modules/unictype/category-N-tests: New file.
64010         * modules/unictype/category-Nd-tests: New file.
64011         * modules/unictype/category-Nl-tests: New file.
64012         * modules/unictype/category-No-tests: New file.
64013         * modules/unictype/category-P-tests: New file.
64014         * modules/unictype/category-Pc-tests: New file.
64015         * modules/unictype/category-Pd-tests: New file.
64016         * modules/unictype/category-Pe-tests: New file.
64017         * modules/unictype/category-Pf-tests: New file.
64018         * modules/unictype/category-Pi-tests: New file.
64019         * modules/unictype/category-Po-tests: New file.
64020         * modules/unictype/category-Ps-tests: New file.
64021         * modules/unictype/category-S-tests: New file.
64022         * modules/unictype/category-Sc-tests: New file.
64023         * modules/unictype/category-Sk-tests: New file.
64024         * modules/unictype/category-Sm-tests: New file.
64025         * modules/unictype/category-So-tests: New file.
64026         * modules/unictype/category-Z-tests: New file.
64027         * modules/unictype/category-Zl-tests: New file.
64028         * modules/unictype/category-Zp-tests: New file.
64029         * modules/unictype/category-Zs-tests: New file.
64030         * modules/unictype/category-and-not-tests: New file.
64031         * modules/unictype/category-and-tests: New file.
64032         * modules/unictype/category-byname-tests: New file.
64033         * modules/unictype/category-name-tests: New file.
64034         * modules/unictype/category-none-tests: New file.
64035         * modules/unictype/category-of-tests: New file.
64036         * modules/unictype/category-or-tests: New file.
64037         * modules/unictype/category-test-withtable-tests: New file.
64038         * modules/unictype/combining-class-tests: New file.
64039         * modules/unictype/ctype-alnum-tests: New file.
64040         * modules/unictype/ctype-alpha-tests: New file.
64041         * modules/unictype/ctype-blank-tests: New file.
64042         * modules/unictype/ctype-cntrl-tests: New file.
64043         * modules/unictype/ctype-digit-tests: New file.
64044         * modules/unictype/ctype-graph-tests: New file.
64045         * modules/unictype/ctype-lower-tests: New file.
64046         * modules/unictype/ctype-print-tests: New file.
64047         * modules/unictype/ctype-punct-tests: New file.
64048         * modules/unictype/ctype-space-tests: New file.
64049         * modules/unictype/ctype-upper-tests: New file.
64050         * modules/unictype/ctype-xdigit-tests: New file.
64051         * modules/unictype/decimal-digit-tests: New file.
64052         * modules/unictype/digit-tests: New file.
64053         * modules/unictype/mirror-tests: New file.
64054         * modules/unictype/numeric-tests: New file.
64055         * modules/unictype/property-alphabetic-tests: New file.
64056         * modules/unictype/property-ascii-hex-digit-tests: New file.
64057         * modules/unictype/property-bidi-arabic-digit-tests: New file.
64058         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
64059         * modules/unictype/property-bidi-block-separator-tests: New file.
64060         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
64061         * modules/unictype/property-bidi-common-separator-tests: New file.
64062         * modules/unictype/property-bidi-control-tests: New file.
64063         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
64064         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
64065         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
64066         * modules/unictype/property-bidi-european-digit-tests: New file.
64067         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
64068         * modules/unictype/property-bidi-left-to-right-tests: New file.
64069         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
64070         * modules/unictype/property-bidi-other-neutral-tests: New file.
64071         * modules/unictype/property-bidi-pdf-tests: New file.
64072         * modules/unictype/property-bidi-segment-separator-tests: New file.
64073         * modules/unictype/property-bidi-whitespace-tests: New file.
64074         * modules/unictype/property-byname-tests: New file.
64075         * modules/unictype/property-combining-tests: New file.
64076         * modules/unictype/property-composite-tests: New file.
64077         * modules/unictype/property-currency-symbol-tests: New file.
64078         * modules/unictype/property-dash-tests: New file.
64079         * modules/unictype/property-decimal-digit-tests: New file.
64080         * modules/unictype/property-default-ignorable-code-point-tests: New file.
64081         * modules/unictype/property-deprecated-tests: New file.
64082         * modules/unictype/property-diacritic-tests: New file.
64083         * modules/unictype/property-extender-tests: New file.
64084         * modules/unictype/property-format-control-tests: New file.
64085         * modules/unictype/property-grapheme-base-tests: New file.
64086         * modules/unictype/property-grapheme-extend-tests: New file.
64087         * modules/unictype/property-grapheme-link-tests: New file.
64088         * modules/unictype/property-hex-digit-tests: New file.
64089         * modules/unictype/property-hyphen-tests: New file.
64090         * modules/unictype/property-id-continue-tests: New file.
64091         * modules/unictype/property-id-start-tests: New file.
64092         * modules/unictype/property-ideographic-tests: New file.
64093         * modules/unictype/property-ids-binary-operator-tests: New file.
64094         * modules/unictype/property-ids-trinary-operator-tests: New file.
64095         * modules/unictype/property-ignorable-control-tests: New file.
64096         * modules/unictype/property-iso-control-tests: New file.
64097         * modules/unictype/property-join-control-tests: New file.
64098         * modules/unictype/property-left-of-pair-tests: New file.
64099         * modules/unictype/property-line-separator-tests: New file.
64100         * modules/unictype/property-logical-order-exception-tests: New file.
64101         * modules/unictype/property-lowercase-tests: New file.
64102         * modules/unictype/property-math-tests: New file.
64103         * modules/unictype/property-non-break-tests: New file.
64104         * modules/unictype/property-not-a-character-tests: New file.
64105         * modules/unictype/property-numeric-tests: New file.
64106         * modules/unictype/property-other-alphabetic-tests: New file.
64107         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
64108         * modules/unictype/property-other-grapheme-extend-tests: New file.
64109         * modules/unictype/property-other-id-continue-tests: New file.
64110         * modules/unictype/property-other-id-start-tests: New file.
64111         * modules/unictype/property-other-lowercase-tests: New file.
64112         * modules/unictype/property-other-math-tests: New file.
64113         * modules/unictype/property-other-uppercase-tests: New file.
64114         * modules/unictype/property-paired-punctuation-tests: New file.
64115         * modules/unictype/property-paragraph-separator-tests: New file.
64116         * modules/unictype/property-pattern-syntax-tests: New file.
64117         * modules/unictype/property-pattern-white-space-tests: New file.
64118         * modules/unictype/property-private-use-tests: New file.
64119         * modules/unictype/property-punctuation-tests: New file.
64120         * modules/unictype/property-quotation-mark-tests: New file.
64121         * modules/unictype/property-radical-tests: New file.
64122         * modules/unictype/property-sentence-terminal-tests: New file.
64123         * modules/unictype/property-soft-dotted-tests: New file.
64124         * modules/unictype/property-space-tests: New file.
64125         * modules/unictype/property-terminal-punctuation-tests: New file.
64126         * modules/unictype/property-test-tests: New file.
64127         * modules/unictype/property-titlecase-tests: New file.
64128         * modules/unictype/property-unassigned-code-value-tests: New file.
64129         * modules/unictype/property-unified-ideograph-tests: New file.
64130         * modules/unictype/property-uppercase-tests: New file.
64131         * modules/unictype/property-variation-selector-tests: New file.
64132         * modules/unictype/property-white-space-tests: New file.
64133         * modules/unictype/property-xid-continue-tests: New file.
64134         * modules/unictype/property-xid-start-tests: New file.
64135         * modules/unictype/property-zero-width-tests: New file.
64136         * modules/unictype/scripts-tests: New file.
64137         * modules/unictype/syntax-c-ident-tests: New file.
64138         * modules/unictype/syntax-c-whitespace-tests: New file.
64139         * modules/unictype/syntax-java-ident-tests: New file.
64140         * modules/unictype/syntax-java-whitespace-tests: New file.
64141         * tests/unictype/test-bidi_byname.c: New file.
64142         * tests/unictype/test-bidi_name.c: New file.
64143         * tests/unictype/test-bidi_of.c: New file.
64144         * tests/unictype/test-bidi_test.c: New file.
64145         * tests/unictype/test-block_list.c: New file.
64146         * tests/unictype/test-block_of.c: New file.
64147         * tests/unictype/test-block_test.c: New file.
64148         * tests/unictype/test-categ_and.c: New file.
64149         * tests/unictype/test-categ_and_not.c: New file.
64150         * tests/unictype/test-categ_byname.c: New file.
64151         * tests/unictype/test-categ_name.c: New file.
64152         * tests/unictype/test-categ_none.c: New file.
64153         * tests/unictype/test-categ_of.c: New file.
64154         * tests/unictype/test-categ_or.c: New file.
64155         * tests/unictype/test-categ_test_withtable.c: New file.
64156         * tests/unictype/test-combining.c: New file.
64157         * tests/unictype/test-decdigit.c: New file.
64158         * tests/unictype/test-digit.c: New file.
64159         * tests/unictype/test-mirror.c: New file.
64160         * tests/unictype/test-numeric.c: New file.
64161         * tests/unictype/test-pr_byname.c: New file.
64162         * tests/unictype/test-pr_test.c: New file.
64163         * tests/unictype/test-predicate-part1.h: New file.
64164         * tests/unictype/test-predicate-part2.h: New file.
64165         * tests/unictype/test-scripts.c: New file.
64166         * tests/unictype/test-sy_c_ident.c: New file.
64167         * tests/unictype/test-sy_java_ident.c: New file.
64168
64169         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
64170         for Unicode 5.0.0.
64171         * tests/unictype/test-categ_Cc.c: Likewise.
64172         * tests/unictype/test-categ_Cf.c: Likewise.
64173         * tests/unictype/test-categ_Cn.c: Likewise.
64174         * tests/unictype/test-categ_Co.c: Likewise.
64175         * tests/unictype/test-categ_Cs.c: Likewise.
64176         * tests/unictype/test-categ_L.c: Likewise.
64177         * tests/unictype/test-categ_Ll.c: Likewise.
64178         * tests/unictype/test-categ_Lm.c: Likewise.
64179         * tests/unictype/test-categ_Lo.c: Likewise.
64180         * tests/unictype/test-categ_Lt.c: Likewise.
64181         * tests/unictype/test-categ_Lu.c: Likewise.
64182         * tests/unictype/test-categ_M.c: Likewise.
64183         * tests/unictype/test-categ_Mc.c: Likewise.
64184         * tests/unictype/test-categ_Me.c: Likewise.
64185         * tests/unictype/test-categ_Mn.c: Likewise.
64186         * tests/unictype/test-categ_N.c: Likewise.
64187         * tests/unictype/test-categ_Nd.c: Likewise.
64188         * tests/unictype/test-categ_Nl.c: Likewise.
64189         * tests/unictype/test-categ_No.c: Likewise.
64190         * tests/unictype/test-categ_P.c: Likewise.
64191         * tests/unictype/test-categ_Pc.c: Likewise.
64192         * tests/unictype/test-categ_Pd.c: Likewise.
64193         * tests/unictype/test-categ_Pe.c: Likewise.
64194         * tests/unictype/test-categ_Pf.c: Likewise.
64195         * tests/unictype/test-categ_Pi.c: Likewise.
64196         * tests/unictype/test-categ_Po.c: Likewise.
64197         * tests/unictype/test-categ_Ps.c: Likewise.
64198         * tests/unictype/test-categ_S.c: Likewise.
64199         * tests/unictype/test-categ_Sc.c: Likewise.
64200         * tests/unictype/test-categ_Sk.c: Likewise.
64201         * tests/unictype/test-categ_Sm.c: Likewise.
64202         * tests/unictype/test-categ_So.c: Likewise.
64203         * tests/unictype/test-categ_Z.c: Likewise.
64204         * tests/unictype/test-categ_Zl.c: Likewise.
64205         * tests/unictype/test-categ_Zp.c: Likewise.
64206         * tests/unictype/test-categ_Zs.c: Likewise.
64207         * tests/unictype/test-ctype_alnum.c: Likewise.
64208         * tests/unictype/test-ctype_alpha.c: Likewise.
64209         * tests/unictype/test-ctype_blank.c: Likewise.
64210         * tests/unictype/test-ctype_cntrl.c: Likewise.
64211         * tests/unictype/test-ctype_digit.c: Likewise.
64212         * tests/unictype/test-ctype_graph.c: Likewise.
64213         * tests/unictype/test-ctype_lower.c: Likewise.
64214         * tests/unictype/test-ctype_print.c: Likewise.
64215         * tests/unictype/test-ctype_punct.c: Likewise.
64216         * tests/unictype/test-ctype_space.c: Likewise.
64217         * tests/unictype/test-ctype_upper.c: Likewise.
64218         * tests/unictype/test-ctype_xdigit.c: Likewise.
64219         * tests/unictype/test-decdigit.h: Likewise.
64220         * tests/unictype/test-digit.h: Likewise.
64221         * tests/unictype/test-numeric.h: Likewise.
64222         * tests/unictype/test-pr_alphabetic.c: Likewise.
64223         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
64224         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
64225         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
64226         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
64227         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
64228         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
64229         * tests/unictype/test-pr_bidi_control.c: Likewise.
64230         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
64231         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
64232         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
64233         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
64234         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
64235         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
64236         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
64237         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
64238         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
64239         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
64240         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
64241         * tests/unictype/test-pr_combining.c: Likewise.
64242         * tests/unictype/test-pr_composite.c: Likewise.
64243         * tests/unictype/test-pr_currency_symbol.c: Likewise.
64244         * tests/unictype/test-pr_dash.c: Likewise.
64245         * tests/unictype/test-pr_decimal_digit.c: Likewise.
64246         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
64247         * tests/unictype/test-pr_deprecated.c: Likewise.
64248         * tests/unictype/test-pr_diacritic.c: Likewise.
64249         * tests/unictype/test-pr_extender.c: Likewise.
64250         * tests/unictype/test-pr_format_control.c: Likewise.
64251         * tests/unictype/test-pr_grapheme_base.c: Likewise.
64252         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
64253         * tests/unictype/test-pr_grapheme_link.c: Likewise.
64254         * tests/unictype/test-pr_hex_digit.c: Likewise.
64255         * tests/unictype/test-pr_hyphen.c: Likewise.
64256         * tests/unictype/test-pr_id_continue.c: Likewise.
64257         * tests/unictype/test-pr_id_start.c: Likewise.
64258         * tests/unictype/test-pr_ideographic.c: Likewise.
64259         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
64260         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
64261         * tests/unictype/test-pr_ignorable_control.c: Likewise.
64262         * tests/unictype/test-pr_iso_control.c: Likewise.
64263         * tests/unictype/test-pr_join_control.c: Likewise.
64264         * tests/unictype/test-pr_left_of_pair.c: Likewise.
64265         * tests/unictype/test-pr_line_separator.c: Likewise.
64266         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
64267         * tests/unictype/test-pr_lowercase.c: Likewise.
64268         * tests/unictype/test-pr_math.c: Likewise.
64269         * tests/unictype/test-pr_non_break.c: Likewise.
64270         * tests/unictype/test-pr_not_a_character.c: Likewise.
64271         * tests/unictype/test-pr_numeric.c: Likewise.
64272         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
64273         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
64274         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
64275         * tests/unictype/test-pr_other_id_continue.c: Likewise.
64276         * tests/unictype/test-pr_other_id_start.c: Likewise.
64277         * tests/unictype/test-pr_other_lowercase.c: Likewise.
64278         * tests/unictype/test-pr_other_math.c: Likewise.
64279         * tests/unictype/test-pr_other_uppercase.c: Likewise.
64280         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
64281         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
64282         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
64283         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
64284         * tests/unictype/test-pr_private_use.c: Likewise.
64285         * tests/unictype/test-pr_punctuation.c: Likewise.
64286         * tests/unictype/test-pr_quotation_mark.c: Likewise.
64287         * tests/unictype/test-pr_radical.c: Likewise.
64288         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
64289         * tests/unictype/test-pr_soft_dotted.c: Likewise.
64290         * tests/unictype/test-pr_space.c: Likewise.
64291         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
64292         * tests/unictype/test-pr_titlecase.c: Likewise.
64293         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
64294         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
64295         * tests/unictype/test-pr_uppercase.c: Likewise.
64296         * tests/unictype/test-pr_variation_selector.c: Likewise.
64297         * tests/unictype/test-pr_white_space.c: Likewise.
64298         * tests/unictype/test-pr_xid_continue.c: Likewise.
64299         * tests/unictype/test-pr_xid_start.c: Likewise.
64300         * tests/unictype/test-pr_zero_width.c: Likewise.
64301         * tests/unictype/test-sy_c_whitespace.c: Likewise.
64302         * tests/unictype/test-sy_java_whitespace.c: Likewise.
64303
64304 2007-11-12  Bruno Haible  <bruno@clisp.org>
64305
64306         Unicode character classification functions.
64307         * lib/unictype.h: New file.
64308         * modules/unictype/base: New file.
64309         * modules/unictype/category-L: New file.
64310         * modules/unictype/category-Lu: New file.
64311         * modules/unictype/category-Ll: New file.
64312         * modules/unictype/category-Lt: New file.
64313         * modules/unictype/category-Lm: New file.
64314         * modules/unictype/category-Lo: New file.
64315         * modules/unictype/category-M: New file.
64316         * modules/unictype/category-Mn: New file.
64317         * modules/unictype/category-Mc: New file.
64318         * modules/unictype/category-Me: New file.
64319         * modules/unictype/category-N: New file.
64320         * modules/unictype/category-Nd: New file.
64321         * modules/unictype/category-Nl: New file.
64322         * modules/unictype/category-No: New file.
64323         * modules/unictype/category-P: New file.
64324         * modules/unictype/category-Pc: New file.
64325         * modules/unictype/category-Pd: New file.
64326         * modules/unictype/category-Ps: New file.
64327         * modules/unictype/category-Pe: New file.
64328         * modules/unictype/category-Pi: New file.
64329         * modules/unictype/category-Pf: New file.
64330         * modules/unictype/category-Po: New file.
64331         * modules/unictype/category-S: New file.
64332         * modules/unictype/category-Sm: New file.
64333         * modules/unictype/category-Sc: New file.
64334         * modules/unictype/category-Sk: New file.
64335         * modules/unictype/category-So: New file.
64336         * modules/unictype/category-Z: New file.
64337         * modules/unictype/category-Zs: New file.
64338         * modules/unictype/category-Zl: New file.
64339         * modules/unictype/category-Zp: New file.
64340         * modules/unictype/category-C: New file.
64341         * modules/unictype/category-Cc: New file.
64342         * modules/unictype/category-Cf: New file.
64343         * modules/unictype/category-Cs: New file.
64344         * modules/unictype/category-Co: New file.
64345         * modules/unictype/category-Cn: New file.
64346         * modules/unictype/category-or: New file.
64347         * modules/unictype/category-of: New file.
64348         * modules/unictype/category-test: New file.
64349         * modules/unictype/category-test-withtable: New file.
64350         * modules/unictype/category-byname: New file.
64351         * modules/unictype/category-none: New file.
64352         * modules/unictype/category-and: New file.
64353         * modules/unictype/category-and-not: New file.
64354         * modules/unictype/category-name: New file.
64355         * modules/unictype/combining-class: New file.
64356         * modules/unictype/category-all: New file.
64357         * modules/unictype/bidicategory-all: New file.
64358         * modules/unictype/bidicategory-byname: New file.
64359         * modules/unictype/bidicategory-name: New file.
64360         * modules/unictype/bidicategory-of: New file.
64361         * modules/unictype/bidicategory-test: New file.
64362         * modules/unictype/decimal-digit: New file.
64363         * modules/unictype/digit: New file.
64364         * modules/unictype/numeric: New file.
64365         * modules/unictype/mirror: New file.
64366         * modules/unictype/property-white-space: New file.
64367         * modules/unictype/property-alphabetic: New file.
64368         * modules/unictype/property-other-alphabetic: New file.
64369         * modules/unictype/property-not-a-character: New file.
64370         * modules/unictype/property-default-ignorable-code-point: New file.
64371         * modules/unictype/property-other-default-ignorable-code-point: New
64372         file.
64373         * modules/unictype/property-deprecated: New file.
64374         * modules/unictype/property-logical-order-exception: New file.
64375         * modules/unictype/property-variation-selector: New file.
64376         * modules/unictype/property-private-use: New file.
64377         * modules/unictype/property-unassigned-code-value: New file.
64378         * modules/unictype/property-uppercase: New file.
64379         * modules/unictype/property-other-uppercase: New file.
64380         * modules/unictype/property-lowercase: New file.
64381         * modules/unictype/property-other-lowercase: New file.
64382         * modules/unictype/property-titlecase: New file.
64383         * modules/unictype/property-soft-dotted: New file.
64384         * modules/unictype/property-id-start: New file.
64385         * modules/unictype/property-other-id-start: New file.
64386         * modules/unictype/property-id-continue: New file.
64387         * modules/unictype/property-other-id-continue: New file.
64388         * modules/unictype/property-xid-start: New file.
64389         * modules/unictype/property-xid-continue: New file.
64390         * modules/unictype/property-pattern-white-space: New file.
64391         * modules/unictype/property-pattern-syntax: New file.
64392         * modules/unictype/property-join-control: New file.
64393         * modules/unictype/property-grapheme-base: New file.
64394         * modules/unictype/property-grapheme-extend: New file.
64395         * modules/unictype/property-other-grapheme-extend: New file.
64396         * modules/unictype/property-grapheme-link: New file.
64397         * modules/unictype/property-bidi-control: New file.
64398         * modules/unictype/property-bidi-left-to-right: New file.
64399         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
64400         * modules/unictype/property-bidi-arabic-right-to-left: New file.
64401         * modules/unictype/property-bidi-european-digit: New file.
64402         * modules/unictype/property-bidi-eur-num-separator: New file.
64403         * modules/unictype/property-bidi-eur-num-terminator: New file.
64404         * modules/unictype/property-bidi-arabic-digit: New file.
64405         * modules/unictype/property-bidi-common-separator: New file.
64406         * modules/unictype/property-bidi-block-separator: New file.
64407         * modules/unictype/property-bidi-segment-separator: New file.
64408         * modules/unictype/property-bidi-whitespace: New file.
64409         * modules/unictype/property-bidi-non-spacing-mark: New file.
64410         * modules/unictype/property-bidi-boundary-neutral: New file.
64411         * modules/unictype/property-bidi-pdf: New file.
64412         * modules/unictype/property-bidi-embedding-or-override: New file.
64413         * modules/unictype/property-bidi-other-neutral: New file.
64414         * modules/unictype/property-hex-digit: New file.
64415         * modules/unictype/property-ascii-hex-digit: New file.
64416         * modules/unictype/property-ideographic: New file.
64417         * modules/unictype/property-unified-ideograph: New file.
64418         * modules/unictype/property-radical: New file.
64419         * modules/unictype/property-ids-binary-operator: New file.
64420         * modules/unictype/property-ids-trinary-operator: New file.
64421         * modules/unictype/property-zero-width: New file.
64422         * modules/unictype/property-space: New file.
64423         * modules/unictype/property-non-break: New file.
64424         * modules/unictype/property-iso-control: New file.
64425         * modules/unictype/property-format-control: New file.
64426         * modules/unictype/property-dash: New file.
64427         * modules/unictype/property-hyphen: New file.
64428         * modules/unictype/property-punctuation: New file.
64429         * modules/unictype/property-line-separator: New file.
64430         * modules/unictype/property-paragraph-separator: New file.
64431         * modules/unictype/property-quotation-mark: New file.
64432         * modules/unictype/property-sentence-terminal: New file.
64433         * modules/unictype/property-terminal-punctuation: New file.
64434         * modules/unictype/property-currency-symbol: New file.
64435         * modules/unictype/property-math: New file.
64436         * modules/unictype/property-other-math: New file.
64437         * modules/unictype/property-paired-punctuation: New file.
64438         * modules/unictype/property-left-of-pair: New file.
64439         * modules/unictype/property-combining: New file.
64440         * modules/unictype/property-composite: New file.
64441         * modules/unictype/property-decimal-digit: New file.
64442         * modules/unictype/property-numeric: New file.
64443         * modules/unictype/property-diacritic: New file.
64444         * modules/unictype/property-extender: New file.
64445         * modules/unictype/property-ignorable-control: New file.
64446         * modules/unictype/property-test: New file.
64447         * modules/unictype/property-byname: New file.
64448         * modules/unictype/property-all: New file.
64449         * modules/unictype/scripts: New file.
64450         * modules/unictype/scripts-all: New file.
64451         * modules/unictype/block-of: New file.
64452         * modules/unictype/block-test: New file.
64453         * modules/unictype/block-list: New file.
64454         * modules/unictype/block-all: New file.
64455         * modules/unictype/syntax-c-whitespace: New file.
64456         * modules/unictype/syntax-java-whitespace: New file.
64457         * modules/unictype/syntax-c-ident: New file.
64458         * modules/unictype/syntax-java-ident: New file.
64459         * modules/unictype/ctype-alnum: New file.
64460         * modules/unictype/ctype-alpha: New file.
64461         * modules/unictype/ctype-cntrl: New file.
64462         * modules/unictype/ctype-digit: New file.
64463         * modules/unictype/ctype-graph: New file.
64464         * modules/unictype/ctype-lower: New file.
64465         * modules/unictype/ctype-print: New file.
64466         * modules/unictype/ctype-punct: New file.
64467         * modules/unictype/ctype-space: New file.
64468         * modules/unictype/ctype-upper: New file.
64469         * modules/unictype/ctype-xdigit: New file.
64470         * modules/unictype/ctype-blank: New file.
64471         * lib/unictype/bidi_byname.c: New file.
64472         * lib/unictype/bidi_name.c: New file.
64473         * lib/unictype/bidi_of.c: New file.
64474         * lib/unictype/bidi_test.c: New file.
64475         * lib/unictype/bitmap.h: New file.
64476         * lib/unictype/block_test.c: New file.
64477         * lib/unictype/blocks.c: New file.
64478         * lib/unictype/categ_C.c: New file.
64479         * lib/unictype/categ_Cc.c: New file.
64480         * lib/unictype/categ_Cf.c: New file.
64481         * lib/unictype/categ_Cn.c: New file.
64482         * lib/unictype/categ_Co.c: New file.
64483         * lib/unictype/categ_Cs.c: New file.
64484         * lib/unictype/categ_L.c: New file.
64485         * lib/unictype/categ_Ll.c: New file.
64486         * lib/unictype/categ_Lm.c: New file.
64487         * lib/unictype/categ_Lo.c: New file.
64488         * lib/unictype/categ_Lt.c: New file.
64489         * lib/unictype/categ_Lu.c: New file.
64490         * lib/unictype/categ_M.c: New file.
64491         * lib/unictype/categ_Mc.c: New file.
64492         * lib/unictype/categ_Me.c: New file.
64493         * lib/unictype/categ_Mn.c: New file.
64494         * lib/unictype/categ_N.c: New file.
64495         * lib/unictype/categ_Nd.c: New file.
64496         * lib/unictype/categ_Nl.c: New file.
64497         * lib/unictype/categ_No.c: New file.
64498         * lib/unictype/categ_P.c: New file.
64499         * lib/unictype/categ_Pc.c: New file.
64500         * lib/unictype/categ_Pd.c: New file.
64501         * lib/unictype/categ_Pe.c: New file.
64502         * lib/unictype/categ_Pf.c: New file.
64503         * lib/unictype/categ_Pi.c: New file.
64504         * lib/unictype/categ_Po.c: New file.
64505         * lib/unictype/categ_Ps.c: New file.
64506         * lib/unictype/categ_S.c: New file.
64507         * lib/unictype/categ_Sc.c: New file.
64508         * lib/unictype/categ_Sk.c: New file.
64509         * lib/unictype/categ_Sm.c: New file.
64510         * lib/unictype/categ_So.c: New file.
64511         * lib/unictype/categ_Z.c: New file.
64512         * lib/unictype/categ_Zl.c: New file.
64513         * lib/unictype/categ_Zp.c: New file.
64514         * lib/unictype/categ_Zs.c: New file.
64515         * lib/unictype/categ_and.c: New file.
64516         * lib/unictype/categ_and_not.c: New file.
64517         * lib/unictype/categ_byname.c: New file.
64518         * lib/unictype/categ_name.c: New file.
64519         * lib/unictype/categ_none.c: New file.
64520         * lib/unictype/categ_of.c: New file.
64521         * lib/unictype/categ_or.c: New file.
64522         * lib/unictype/categ_test.c: New file.
64523         * lib/unictype/combining.c: New file.
64524         * lib/unictype/ctype_alnum.c: New file.
64525         * lib/unictype/ctype_alpha.c: New file.
64526         * lib/unictype/ctype_blank.c: New file.
64527         * lib/unictype/ctype_cntrl.c: New file.
64528         * lib/unictype/ctype_digit.c: New file.
64529         * lib/unictype/ctype_graph.c: New file.
64530         * lib/unictype/ctype_lower.c: New file.
64531         * lib/unictype/ctype_print.c: New file.
64532         * lib/unictype/ctype_punct.c: New file.
64533         * lib/unictype/ctype_space.c: New file.
64534         * lib/unictype/ctype_upper.c: New file.
64535         * lib/unictype/ctype_xdigit.c: New file.
64536         * lib/unictype/decdigit.c: New file.
64537         * lib/unictype/digit.c: New file.
64538         * lib/unictype/identsyntaxmap.h: New file.
64539         * lib/unictype/mirror.c: New file.
64540         * lib/unictype/numeric.c: New file.
64541         * lib/unictype/pr_alphabetic.c: New file.
64542         * lib/unictype/pr_ascii_hex_digit.c: New file.
64543         * lib/unictype/pr_bidi_arabic_digit.c: New file.
64544         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
64545         * lib/unictype/pr_bidi_block_separator.c: New file.
64546         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
64547         * lib/unictype/pr_bidi_common_separator.c: New file.
64548         * lib/unictype/pr_bidi_control.c: New file.
64549         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
64550         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
64551         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
64552         * lib/unictype/pr_bidi_european_digit.c: New file.
64553         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
64554         * lib/unictype/pr_bidi_left_to_right.c: New file.
64555         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
64556         * lib/unictype/pr_bidi_other_neutral.c: New file.
64557         * lib/unictype/pr_bidi_pdf.c: New file.
64558         * lib/unictype/pr_bidi_segment_separator.c: New file.
64559         * lib/unictype/pr_bidi_whitespace.c: New file.
64560         * lib/unictype/pr_byname.c: New file.
64561         * lib/unictype/pr_byname.gperf: New file.
64562         * lib/unictype/pr_combining.c: New file.
64563         * lib/unictype/pr_composite.c: New file.
64564         * lib/unictype/pr_currency_symbol.c: New file.
64565         * lib/unictype/pr_dash.c: New file.
64566         * lib/unictype/pr_decimal_digit.c: New file.
64567         * lib/unictype/pr_default_ignorable_code_point.c: New file.
64568         * lib/unictype/pr_deprecated.c: New file.
64569         * lib/unictype/pr_diacritic.c: New file.
64570         * lib/unictype/pr_extender.c: New file.
64571         * lib/unictype/pr_format_control.c: New file.
64572         * lib/unictype/pr_grapheme_base.c: New file.
64573         * lib/unictype/pr_grapheme_extend.c: New file.
64574         * lib/unictype/pr_grapheme_link.c: New file.
64575         * lib/unictype/pr_hex_digit.c: New file.
64576         * lib/unictype/pr_hyphen.c: New file.
64577         * lib/unictype/pr_id_continue.c: New file.
64578         * lib/unictype/pr_id_start.c: New file.
64579         * lib/unictype/pr_ideographic.c: New file.
64580         * lib/unictype/pr_ids_binary_operator.c: New file.
64581         * lib/unictype/pr_ids_trinary_operator.c: New file.
64582         * lib/unictype/pr_ignorable_control.c: New file.
64583         * lib/unictype/pr_iso_control.c: New file.
64584         * lib/unictype/pr_join_control.c: New file.
64585         * lib/unictype/pr_left_of_pair.c: New file.
64586         * lib/unictype/pr_line_separator.c: New file.
64587         * lib/unictype/pr_logical_order_exception.c: New file.
64588         * lib/unictype/pr_lowercase.c: New file.
64589         * lib/unictype/pr_math.c: New file.
64590         * lib/unictype/pr_non_break.c: New file.
64591         * lib/unictype/pr_not_a_character.c: New file.
64592         * lib/unictype/pr_numeric.c: New file.
64593         * lib/unictype/pr_other_alphabetic.c: New file.
64594         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
64595         * lib/unictype/pr_other_grapheme_extend.c: New file.
64596         * lib/unictype/pr_other_id_continue.c: New file.
64597         * lib/unictype/pr_other_id_start.c: New file.
64598         * lib/unictype/pr_other_lowercase.c: New file.
64599         * lib/unictype/pr_other_math.c: New file.
64600         * lib/unictype/pr_other_uppercase.c: New file.
64601         * lib/unictype/pr_paired_punctuation.c: New file.
64602         * lib/unictype/pr_paragraph_separator.c: New file.
64603         * lib/unictype/pr_pattern_syntax.c: New file.
64604         * lib/unictype/pr_pattern_white_space.c: New file.
64605         * lib/unictype/pr_private_use.c: New file.
64606         * lib/unictype/pr_punctuation.c: New file.
64607         * lib/unictype/pr_quotation_mark.c: New file.
64608         * lib/unictype/pr_radical.c: New file.
64609         * lib/unictype/pr_sentence_terminal.c: New file.
64610         * lib/unictype/pr_soft_dotted.c: New file.
64611         * lib/unictype/pr_space.c: New file.
64612         * lib/unictype/pr_terminal_punctuation.c: New file.
64613         * lib/unictype/pr_test.c: New file.
64614         * lib/unictype/pr_titlecase.c: New file.
64615         * lib/unictype/pr_unassigned_code_value.c: New file.
64616         * lib/unictype/pr_unified_ideograph.c: New file.
64617         * lib/unictype/pr_uppercase.c: New file.
64618         * lib/unictype/pr_variation_selector.c: New file.
64619         * lib/unictype/pr_white_space.c: New file.
64620         * lib/unictype/pr_xid_continue.c: New file.
64621         * lib/unictype/pr_xid_start.c: New file.
64622         * lib/unictype/pr_zero_width.c: New file.
64623         * lib/unictype/scripts.c: New file.
64624         * lib/unictype/sy_c_ident.c: New file.
64625         * lib/unictype/sy_c_whitespace.c: New file.
64626         * lib/unictype/sy_java_ident.c: New file.
64627         * lib/unictype/sy_java_whitespace.c: New file.
64628
64629         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
64630         Unicode 5.0.0.
64631         * lib/unictype/blocks.h: Likewise.
64632         * lib/unictype/categ_C.h: Likewise.
64633         * lib/unictype/categ_Cc.h: Likewise.
64634         * lib/unictype/categ_Cf.h: Likewise.
64635         * lib/unictype/categ_Cn.h: Likewise.
64636         * lib/unictype/categ_Co.h: Likewise.
64637         * lib/unictype/categ_Cs.h: Likewise.
64638         * lib/unictype/categ_L.h: Likewise.
64639         * lib/unictype/categ_Ll.h: Likewise.
64640         * lib/unictype/categ_Lm.h: Likewise.
64641         * lib/unictype/categ_Lo.h: Likewise.
64642         * lib/unictype/categ_Lt.h: Likewise.
64643         * lib/unictype/categ_Lu.h: Likewise.
64644         * lib/unictype/categ_M.h: Likewise.
64645         * lib/unictype/categ_Mc.h: Likewise.
64646         * lib/unictype/categ_Me.h: Likewise.
64647         * lib/unictype/categ_Mn.h: Likewise.
64648         * lib/unictype/categ_N.h: Likewise.
64649         * lib/unictype/categ_Nd.h: Likewise.
64650         * lib/unictype/categ_Nl.h: Likewise.
64651         * lib/unictype/categ_No.h: Likewise.
64652         * lib/unictype/categ_P.h: Likewise.
64653         * lib/unictype/categ_Pc.h: Likewise.
64654         * lib/unictype/categ_Pd.h: Likewise.
64655         * lib/unictype/categ_Pe.h: Likewise.
64656         * lib/unictype/categ_Pf.h: Likewise.
64657         * lib/unictype/categ_Pi.h: Likewise.
64658         * lib/unictype/categ_Po.h: Likewise.
64659         * lib/unictype/categ_Ps.h: Likewise.
64660         * lib/unictype/categ_S.h: Likewise.
64661         * lib/unictype/categ_Sc.h: Likewise.
64662         * lib/unictype/categ_Sk.h: Likewise.
64663         * lib/unictype/categ_Sm.h: Likewise.
64664         * lib/unictype/categ_So.h: Likewise.
64665         * lib/unictype/categ_Z.h: Likewise.
64666         * lib/unictype/categ_Zl.h: Likewise.
64667         * lib/unictype/categ_Zp.h: Likewise.
64668         * lib/unictype/categ_Zs.h: Likewise.
64669         * lib/unictype/categ_of.h: Likewise.
64670         * lib/unictype/combining.h: Likewise.
64671         * lib/unictype/ctype_alnum.h: Likewise.
64672         * lib/unictype/ctype_alpha.h: Likewise.
64673         * lib/unictype/ctype_blank.h: Likewise.
64674         * lib/unictype/ctype_cntrl.h: Likewise.
64675         * lib/unictype/ctype_digit.h: Likewise.
64676         * lib/unictype/ctype_graph.h: Likewise.
64677         * lib/unictype/ctype_lower.h: Likewise.
64678         * lib/unictype/ctype_print.h: Likewise.
64679         * lib/unictype/ctype_punct.h: Likewise.
64680         * lib/unictype/ctype_space.h: Likewise.
64681         * lib/unictype/ctype_upper.h: Likewise.
64682         * lib/unictype/ctype_xdigit.h: Likewise.
64683         * lib/unictype/decdigit.h: Likewise.
64684         * lib/unictype/digit.h: Likewise.
64685         * lib/unictype/mirror.h: Likewise.
64686         * lib/unictype/numeric.h: Likewise.
64687         * lib/unictype/pr_alphabetic.h: Likewise.
64688         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
64689         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
64690         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
64691         * lib/unictype/pr_bidi_block_separator.h: Likewise.
64692         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
64693         * lib/unictype/pr_bidi_common_separator.h: Likewise.
64694         * lib/unictype/pr_bidi_control.h: Likewise.
64695         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
64696         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
64697         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
64698         * lib/unictype/pr_bidi_european_digit.h: Likewise.
64699         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
64700         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
64701         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
64702         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
64703         * lib/unictype/pr_bidi_pdf.h: Likewise.
64704         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
64705         * lib/unictype/pr_bidi_whitespace.h: Likewise.
64706         * lib/unictype/pr_combining.h: Likewise.
64707         * lib/unictype/pr_composite.h: Likewise.
64708         * lib/unictype/pr_currency_symbol.h: Likewise.
64709         * lib/unictype/pr_dash.h: Likewise.
64710         * lib/unictype/pr_decimal_digit.h: Likewise.
64711         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
64712         * lib/unictype/pr_deprecated.h: Likewise.
64713         * lib/unictype/pr_diacritic.h: Likewise.
64714         * lib/unictype/pr_extender.h: Likewise.
64715         * lib/unictype/pr_format_control.h: Likewise.
64716         * lib/unictype/pr_grapheme_base.h: Likewise.
64717         * lib/unictype/pr_grapheme_extend.h: Likewise.
64718         * lib/unictype/pr_grapheme_link.h: Likewise.
64719         * lib/unictype/pr_hex_digit.h: Likewise.
64720         * lib/unictype/pr_hyphen.h: Likewise.
64721         * lib/unictype/pr_id_continue.h: Likewise.
64722         * lib/unictype/pr_id_start.h: Likewise.
64723         * lib/unictype/pr_ideographic.h: Likewise.
64724         * lib/unictype/pr_ids_binary_operator.h: Likewise.
64725         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
64726         * lib/unictype/pr_ignorable_control.h: Likewise.
64727         * lib/unictype/pr_iso_control.h: Likewise.
64728         * lib/unictype/pr_join_control.h: Likewise.
64729         * lib/unictype/pr_left_of_pair.h: Likewise.
64730         * lib/unictype/pr_line_separator.h: Likewise.
64731         * lib/unictype/pr_logical_order_exception.h: Likewise.
64732         * lib/unictype/pr_lowercase.h: Likewise.
64733         * lib/unictype/pr_math.h: Likewise.
64734         * lib/unictype/pr_non_break.h: Likewise.
64735         * lib/unictype/pr_not_a_character.h: Likewise.
64736         * lib/unictype/pr_numeric.h: Likewise.
64737         * lib/unictype/pr_other_alphabetic.h: Likewise.
64738         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
64739         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
64740         * lib/unictype/pr_other_id_continue.h: Likewise.
64741         * lib/unictype/pr_other_id_start.h: Likewise.
64742         * lib/unictype/pr_other_lowercase.h: Likewise.
64743         * lib/unictype/pr_other_math.h: Likewise.
64744         * lib/unictype/pr_other_uppercase.h: Likewise.
64745         * lib/unictype/pr_paired_punctuation.h: Likewise.
64746         * lib/unictype/pr_paragraph_separator.h: Likewise.
64747         * lib/unictype/pr_pattern_syntax.h: Likewise.
64748         * lib/unictype/pr_pattern_white_space.h: Likewise.
64749         * lib/unictype/pr_private_use.h: Likewise.
64750         * lib/unictype/pr_punctuation.h: Likewise.
64751         * lib/unictype/pr_quotation_mark.h: Likewise.
64752         * lib/unictype/pr_radical.h: Likewise.
64753         * lib/unictype/pr_sentence_terminal.h: Likewise.
64754         * lib/unictype/pr_soft_dotted.h: Likewise.
64755         * lib/unictype/pr_space.h: Likewise.
64756         * lib/unictype/pr_terminal_punctuation.h: Likewise.
64757         * lib/unictype/pr_titlecase.h: Likewise.
64758         * lib/unictype/pr_unassigned_code_value.h: Likewise.
64759         * lib/unictype/pr_unified_ideograph.h: Likewise.
64760         * lib/unictype/pr_uppercase.h: Likewise.
64761         * lib/unictype/pr_variation_selector.h: Likewise.
64762         * lib/unictype/pr_white_space.h: Likewise.
64763         * lib/unictype/pr_xid_continue.h: Likewise.
64764         * lib/unictype/pr_xid_start.h: Likewise.
64765         * lib/unictype/pr_zero_width.h: Likewise.
64766         * lib/unictype/scripts.h: Likewise.
64767         * lib/unictype/scripts_byname.gperf: Likewise.
64768         * lib/unictype/sy_c_ident.h: Likewise.
64769         * lib/unictype/sy_c_whitespace.h: Likewise.
64770         * lib/unictype/sy_java_ident.h: Likewise.
64771         * lib/unictype/sy_java_whitespace.h: Likewise.
64772
64773         * lib/unictype/Makefile: New file.
64774         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
64775         glibc.
64776         * lib/unictype/3level.h: New file, copied from glibc.
64777         * lib/unictype/3levelbit.h: New file.
64778
64779 2007-11-11  Bruno Haible  <bruno@clisp.org>
64780
64781         * modules/gperf: New file.
64782         * modules/iconv_open (Depends-on): Add it.
64783         (Makefile.am): Remove the GPERF definition.
64784
64785 2007-11-11  Bruno Haible  <bruno@clisp.org>
64786
64787         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
64788         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
64789
64790 2007-11-11  Bruno Haible  <bruno@clisp.org>
64791
64792         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
64793         (usage): Remove function.
64794
64795 2007-11-11  Bruno Haible  <bruno@clisp.org>
64796
64797         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
64798         gl_FUNC_CEILF_LIBS.
64799         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
64800         gl_FUNC_CEIL_LIBS.
64801         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
64802         gl_FUNC_CEILL_LIBS.
64803         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
64804         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
64805         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
64806
64807 2007-11-11  Bruno Haible  <bruno@clisp.org>
64808
64809         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
64810         roundf were declared but do not exist on functions.
64811         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
64812         roundl were declared but do not exist on functions.
64813         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
64814         HAVE_FLOORL_AND_CEILL, respectively.
64815         Needed for Sun C on Solaris 10.
64816
64817 2007-11-11  Bruno Haible  <bruno@clisp.org>
64818
64819         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
64820         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
64821         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
64822         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
64823         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
64824         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
64825         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
64826         HAVE_DECL_ROUNDF.
64827         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
64828         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
64829         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
64830         of HAVE_DECL_ROUND*.
64831         * modules/math (Makefile.am): Update.
64832
64833 2007-11-10  Bruno Haible  <bruno@clisp.org>
64834
64835         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
64836         ptrdiff_t as m4/intl.m4.
64837
64838 2007-11-10  Jim Meyering  <meyering@redhat.com>
64839
64840         Avoid link failure for the argmatch test.
64841         * tests/test-argmatch.c (usage): Define function to avoid a link
64842         failure: argmatch_die requires a usage function.
64843
64844 2007-11-09  Bruno Haible  <bruno@clisp.org>
64845
64846         * doc/functions/snprintf.texi: Mention BeOS deficiency.
64847         * doc/functions/vsnprintf.texi: Likewise.
64848         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
64849         with a size argument < 2.
64850
64851 2007-11-09  Bruno Haible  <bruno@clisp.org>
64852
64853         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
64854         buffer. Fixes an inefficiency introduced on 2007-11-03.
64855
64856 2007-11-09  Bruno Haible  <bruno@clisp.org>
64857
64858         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
64859         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
64860
64861 2007-11-08  Jim Meyering  <meyering@redhat.com>
64862
64863         Change cache variable name prefix "jm_" to "gl_" everywhere.
64864         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
64865         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
64866         * m4/uptime.m4: s/gl_/jm_/
64867
64868 2007-11-07  Bruno Haible  <bruno@clisp.org>
64869
64870         Update to GNU gettext 0.17.
64871         * m4/intl.m4: Update to GNU gettext 0.17.
64872         * m4/po.m4: Likewise.
64873         * modules/gettext (Files): Remove m4/ulonglong.m4.
64874         (configure.ac): Require gettext infrastructure from version 0.17.
64875
64876 2007-11-06  Bruno Haible  <bruno@clisp.org>
64877
64878         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
64879         symbolic values are not defined in a public header.
64880         * lib/freadable.c (freadable) [QNX]: Likewise.
64881         * lib/freadahead.c (freadahead) [QNX]: Likewise.
64882         * lib/freading.c (freading) [QNX]: Likewise.
64883         * lib/fseterr.c (fseterr) [QNX]: Likewise.
64884         * lib/fwritable.c (fwritable) [QNX]: Likewise.
64885         * lib/fwriting.c (fwriting) [QNX]: Likewise.
64886         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
64887         Reported by Alain Magloire.
64888
64889         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
64890
64891 2007-11-05  Bruno Haible  <bruno@clisp.org>
64892
64893         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
64894         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
64895         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
64896         Reported by Eric Blake.
64897
64898 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64899             Bruno Haible  <bruno@clisp.org>
64900
64901         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
64902         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
64903         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
64904         (malloc): Undefine also before including <stdlib.h>.
64905         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
64906         Needed on OSF/1 4.0.
64907
64908 2007-11-05  Jim Meyering  <meyering@redhat.com>
64909
64910         git-version-gen: sync from coreutils.
64911         * build-aux/git-version-gen: Add comments.
64912         Change the first '-' to '.' in the snapshot version string,
64913         e.g., 6.9-377-08144 -> 6.9.377-08144
64914         Remove first parameter.
64915         Don't declare a version "-dirty" merely because a time
64916         stamp has changed.
64917
64918 2007-11-04  Bruno Haible  <bruno@clisp.org>
64919
64920         * lib/lock.h: Protect all macro definitions containing an 'if'
64921         statement through a "do { ... } while (0)".
64922         * lib/tls.h: Likewise.
64923
64924 2007-11-04  Bruno Haible  <bruno@clisp.org>
64925
64926         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
64927
64928 2007-11-04  Bruno Haible  <bruno@clisp.org>
64929
64930         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
64931         * modules/fprintf-posix (Depends-on): Add nocrash.
64932         * modules/snprintf-posix (Depends-on): Likewise.
64933         * modules/sprintf-posix (Depends-on): Likewise.
64934         * modules/vasnprintf-posix (Depends-on): Likewise.
64935         * modules/vasprintf-posix (Depends-on): Likewise.
64936         * modules/vfprintf-posix (Depends-on): Likewise.
64937         * modules/vsnprintf-posix (Depends-on): Likewise.
64938         * modules/vsprintf-posix (Depends-on): Likewise.
64939         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
64940         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
64941         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
64942         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
64943         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
64944         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
64945         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
64946
64947 2007-11-04  Bruno Haible  <bruno@clisp.org>
64948
64949         * modules/nocrash: New file.
64950         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
64951         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
64952
64953 2007-11-04  Bruno Haible  <bruno@clisp.org>
64954
64955         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
64956         precision handling.
64957         * tests/test-vasprintf-posix.c (test_function): Likewise.
64958         * tests/test-snprintf-posix.h (test_function): Likewise.
64959         * tests/test-sprintf-posix.h (test_function): Likewise.
64960
64961         Fix *printf behaviour for large precisions on mingw and BeOS.
64962         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
64963         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
64964         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
64965         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64966         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64967         gl_PRINTF_PRECISION and test its result. Invoke
64968         gl_PREREQ_VASNPRINTF_PRECISION.
64969         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64970         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64971         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64972         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64973         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64974         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64975         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64976         * doc/functions/fprintf.texi: Update.
64977         * doc/functions/printf.texi: Update.
64978         * doc/functions/snprintf.texi: Update.
64979         * doc/functions/sprintf.texi: Update.
64980         * doc/functions/vfprintf.texi: Update.
64981         * doc/functions/vprintf.texi: Update.
64982         * doc/functions/vsnprintf.texi: Update.
64983         * doc/functions/vsprintf.texi: Update.
64984
64985 2007-11-04  Bruno Haible  <bruno@clisp.org>
64986
64987         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
64988
64989 2007-11-04  Bruno Haible  <bruno@clisp.org>
64990
64991         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
64992         Reported by Sylvain Beucler <beuc@gnu.org>.
64993
64994 2007-11-03  Bruno Haible  <bruno@clisp.org>
64995
64996         * tests/test-fprintf-posix2.sh: New file.
64997         * tests/test-fprintf-posix2.c: New file.
64998         * modules/fprintf-posix-tests (Files): Add them.
64999         (TESTS): Add test-fprintf-posix2.sh.
65000         (configure.ac): Check for getrlimit and setrlimit.
65001         (check_PROGRAMS): Add test-fprintf-posix2.
65002
65003         * tests/test-printf-posix2.sh: New file.
65004         * tests/test-printf-posix2.c: New file.
65005         * modules/printf-posix-tests (Files): Add them.
65006         (TESTS): Add test-printf-posix2.sh.
65007         (configure.ac): Check for getrlimit and setrlimit.
65008         (check_PROGRAMS): Add test-printf-posix2.
65009
65010         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
65011         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
65012         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
65013         (decode_double): New function, copied from decode_long_double.
65014         (scale10_round_decimal_decoded): New function, extracted from
65015         scale10_round_decimal_long_double.
65016         (scale10_round_decimal_long_double): Use it.
65017         (scale10_round_decimal_double): New function.
65018         (floorlog10): New function.
65019         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
65020         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
65021         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
65022         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65023         gl_PRINTF_ENOMEM and test its result. Invoke
65024         gl_PREREQ_VASNPRINTF_ENOMEM.
65025         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65026         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65027         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65028         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65029         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65030         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65031         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65032         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
65033         * modules/snprintf-posix (Depends-on): Likewise.
65034         * modules/sprintf-posix (Depends-on): Likewise.
65035         * modules/vasnprintf-posix (Depends-on): Likewise.
65036         * modules/vasprintf-posix (Depends-on): Likewise.
65037         * modules/vfprintf-posix (Depends-on): Likewise.
65038         * modules/vsnprintf-posix (Depends-on): Likewise.
65039         * modules/vsprintf-posix (Depends-on): Likewise.
65040         * doc/functions/fprintf.texi: Update.
65041         * doc/functions/printf.texi: Update.
65042         * doc/functions/snprintf.texi: Update.
65043         * doc/functions/sprintf.texi: Update.
65044         * doc/functions/vfprintf.texi: Update.
65045         * doc/functions/vprintf.texi: Update.
65046         * doc/functions/vsnprintf.texi: Update.
65047         * doc/functions/vsprintf.texi: Update.
65048
65049 2007-11-03  Bruno Haible  <bruno@clisp.org>
65050
65051         * modules/frexp-nolibm-tests: New file.
65052
65053         * modules/frexp-nolibm: New file.
65054         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
65055
65056 2007-11-03  Bruno Haible  <bruno@clisp.org>
65057
65058         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
65059         value is C99 compliant.
65060         Needed for OSF/1 5.1.
65061
65062 2007-11-03  Bruno Haible  <bruno@clisp.org>
65063
65064         Fix out-of-memory handling of vasnprintf.
65065         * lib/printf-parse.c: Include <errno.h>.
65066         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
65067         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
65068         is already set.
65069
65070 2007-11-02  Eric Blake  <ebb9@byu.net>
65071
65072         Fix tests on cygwin.
65073         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
65074
65075 2007-11-01  Bruno Haible  <bruno@clisp.org>
65076
65077         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
65078         warning.
65079         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
65080         needed for POSIX compatibility.
65081
65082 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
65083
65084         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
65085         for compatibility with GNU.
65086
65087 2007-11-01  Bruno Haible  <bruno@clisp.org>
65088
65089         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
65090         (putenv): Renamed from rpl_putenv. Change argument type from
65091         'const char *' to 'char *'.
65092         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
65093         of defining putenv in config.h, just set REPLACE_PUTENV.
65094         * modules/putenv (Depends-on): Add stdlib.
65095         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65096         (Include): Use <stdlib.h>.
65097         * lib/stdlib.in.h (putenv): New declaration.
65098         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
65099         REPLACE_PUTENV.
65100         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
65101         REPLACE_PUTENV.
65102         Needed for MacOS X 10.5.0.
65103         Reported by Peter O'Gorman <peter@pogma.com>.
65104
65105 2007-11-01  Jim Meyering  <meyering@redhat.com>
65106
65107         Treat an empty date string exactly like "0".
65108         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
65109         if the remaining date string (to be parsed) is empty, use "0".
65110         Reported by Mischa Molhoek and discussed in this thread:
65111         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
65112
65113 2007-10-31  Bruno Haible  <bruno@clisp.org>
65114
65115         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
65116         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
65117         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
65118         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
65119         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
65120         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
65121
65122 2007-10-31  Bruno Haible  <bruno@clisp.org>
65123
65124         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
65125         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
65126         (AC_TYPE_LONG_LONG_INT): Use it.
65127         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
65128         it as well.
65129         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
65130         to m4/longlong.m4.
65131         * modules/stdint (Files): Remove m4/ulonglong.m4.
65132         * modules/strtoull (Files): Use m4/longlong.m4 instead of
65133         m4/ulonglong.m4.
65134         * modules/strtoumax (Files): Likewise.
65135
65136 2007-10-30  Bruno Haible  <bruno@clisp.org>
65137
65138         * modules/xvasprintf-posix: New file.
65139         Suggested by Eric Blake.
65140
65141 2007-10-30  Bruno Haible  <bruno@clisp.org>
65142
65143         * modules/xprintf-posix-tests: New file.
65144         * tests/test-xprintf-posix.sh: New file.
65145         * tests/test-xprintf-posix.c: New file.
65146         * tests/test-xfprintf-posix.c: New file.
65147
65148         * modules/xprintf-posix: New file.
65149
65150 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65151
65152         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
65153         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
65154         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
65155
65156 2007-10-29  Bruno Haible  <bruno@clisp.org>
65157
65158         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
65159         contain the special marker '_cv_'.
65160         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
65161         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
65162         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
65163         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
65164         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
65165         Reported by Ralf Wildenhues.
65166
65167 2007-10-29  Bruno Haible  <bruno@clisp.org>
65168
65169         * gnulib-tool (func_import): When --lgpl is not specified, set
65170         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
65171         GPLv3.
65172         Reported by Simon Josefsson.
65173
65174 2007-10-28  Bruno Haible  <bruno@clisp.org>
65175
65176         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
65177         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
65178         HAVE_DECL_ISFINITE.
65179         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
65180         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
65181         HAVE_DECL_ISFINITE.
65182
65183 2007-10-28  Bruno Haible  <bruno@clisp.org>
65184
65185         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
65186         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
65187
65188 2007-10-28  Bruno Haible  <bruno@clisp.org>
65189
65190         Fix link errors with Sun C 5.0 on Solaris 10.
65191         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
65192         function is declared but not present in the compiler's libm.
65193         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
65194         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
65195         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
65196         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
65197         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
65198         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
65199         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
65200         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
65201         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
65202         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
65203         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
65204         HAVE_DECL_FLOORL.
65205
65206 2007-10-28  Bruno Haible  <bruno@clisp.org>
65207
65208         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
65209         gl_FUNC_FLOORL. Cache the result.
65210         (gl_FUNC_FLOORL): Use it.
65211         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
65212         gl_FUNC_CEILL. Cache the result.
65213         (gl_FUNC_CEILL): Use it.
65214
65215         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
65216         gl_FUNC_FLOOR. Cache the result.
65217         (gl_FUNC_FLOOR): Use it.
65218         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
65219         gl_FUNC_CEIL. Cache the result.
65220         (gl_FUNC_CEIL): Use it.
65221
65222         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
65223         gl_FUNC_FLOORF. Cache the result.
65224         (gl_FUNC_FLOORF): Use it.
65225         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
65226         gl_FUNC_CEILF. Cache the result.
65227         (gl_FUNC_CEILF): Use it.
65228
65229 2007-10-28  Bruno Haible  <bruno@clisp.org>
65230
65231         * gnulib-tool: Allow specifying the LGPL version number through
65232         --lgpl=2 or --lgpl=3.
65233         (func_usage): Document --lgpl with argument.
65234         Handle --lgpl=... arguments.
65235         (func_import): Recognize also gl_LGPL calls with an argument. When
65236         --lgpl=2 is used and the module's license is just LGPL, report an
65237         error. Set sed_transform_lib_file according to the lgpl variable. In
65238         the generated files, use --lgpl or gl_LGPL invocations with argument,
65239         if necessary.
65240         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
65241         an LGPv2+ license.
65242         * doc/gnulib-tool.texi (Modified imports): Update explanation of
65243         gl_LGPL macro.
65244
65245 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65246             Bruno Haible  <bruno@clisp.org>
65247
65248         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
65249         (u16_uctomb_aux): Likewise.
65250         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
65251         !HAVE_INLINE.
65252         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
65253
65254 2007-10-28  Bruno Haible  <bruno@clisp.org>
65255
65256         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
65257         Invoke AM_GETTEXT_OPTION if it exists.
65258         * modules/vasprintf: Likewise.
65259         * modules/verror: Likewise.
65260         * modules/xprintf: Likewise.
65261         * modules/xvasprintf: Likewise.
65262
65263 2007-10-27  Ben Pfaff  <blp@gnu.org>
65264
65265         * lib/math.in.h: Define isfinite macro and prototypes for
65266         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
65267         implementations.
65268         * m4/math_h.m4: New substitutions for isfinite module.
65269         * lib/isfinite.c: New file.
65270         * m4/isfinite.m4: New file.
65271         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
65272         * modules/isfinite: New file.
65273         * modules/isfinite-tests: New file.
65274         * tests/tests-isfinite.c: New file.
65275         * doc/functions/isfinite.texi: Mention isfinite module.
65276         * MODULES.html.sh: Mention new module.
65277
65278 2007-10-27  Ben Pfaff  <blp@gnu.org>
65279
65280         Ralf Wildenhues reported that Tru64 4.0D declares the round
65281         functions but does not have definitions.
65282         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
65283         cannot be found in any library, set the output variable to
65284         "missing" instead of "".
65285         * m4/round.m4: Also use our substitute if we cannot find round in
65286         any library, even if it is declared.
65287         * m4/roundf.m4: Likewise for roundf.
65288         * m4/roundl.m4: Likewise for roundl.
65289         * lib/math.in.h: Undefine roundf, round, roundl before defining
65290         their replacements, to allow for hypothetical systems where these
65291         may be defined as macros but not available in libraries.
65292
65293 2007-10-27  Bruno Haible  <bruno@clisp.org>
65294
65295         * doc/gnulib.texi: Invoke @firstparagraphindent.
65296         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
65297         changes in gnulib.
65298         (Source changes): New section.
65299
65300 2007-10-26  Bruno Haible  <bruno@clisp.org>
65301
65302         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
65303         borrowed from autoconf.
65304
65305 2007-10-26  Bruno Haible  <bruno@clisp.org>
65306
65307         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
65308         strerror returned the empty string. Needed on HP-UX 11.00.
65309
65310 2007-10-24  Micah Cowan  <micah@cowan.name>
65311
65312         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
65313         * build-aux/bootstrap: Remove support for now-unnecessary option,
65314         --cvs-user, and envvars CVS_USER, CVS_RSH.
65315
65316 2007-10-24  Jim Meyering  <meyering@redhat.com>
65317
65318         Avoid diagnostics from sha1sum when there is no cached checksum.
65319         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
65320         if the po.s1 file hasn't been created yet.
65321
65322         * build-aux/bootstrap: Sync from coreutils:
65323         2007-10-24  Jim Meyering  <meyering@redhat.com>
65324         Get gnulib from the git repository, not from an obsolete cvs one.
65325         * build-aux/bootstrap: Suggestion from Micah Cowan.
65326         2007-10-04  Jim Meyering  <jim@meyering.net>
65327         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
65328         (update_po_files): Work also when there are no .po files in po/.
65329
65330 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
65331
65332         * README: Append ".git" to git and cg examples.
65333         Problem reported by Benoit Sigoure.
65334
65335 2007-10-23  Micah Cowan  <micah@cowan.name>
65336
65337         * users.txt: Add wget.
65338
65339 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65340
65341         Fix linking of some unistdio tests on FreeBSD.
65342         * modules/unistdio/u16-vsnprintf-tests
65343         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
65344         * modules/unistdio/u16-vsprintf-tests
65345         (test_u16_vsnprintf1_LDADD): Likewise.
65346         * modules/unistdio/u32-vsnprintf-tests
65347         (test_u32_vsnprintf1_LDADD): Likewise.
65348         * modules/unistdio/u32-vsprintf-tests
65349         (test_u32_vsprintf1_LDADD): Likewise.
65350         * modules/unistdio/u8-vsnprintf-tests
65351         (test_u8_vsnprintf1_LDADD): Likewise.
65352         * modules/unistdio/u8-vsprintf-tests
65353         (test_u8_vsprintf1_LDADD): Likewise.
65354         * modules/unistdio/ulc-vsnprintf-tests
65355         (test_ulc_vsnprintf1_LDADD): Likewise.
65356         * modules/unistdio/ulc-vsprintf-tests
65357         (test_ulc_vsprintf1_LDADD): Likewise.
65358
65359         Fix linking of some uniconv tests on FreeBSD.
65360         * modules/uniconv/u16-conv-from-enc-tests
65361         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
65362         * modules/uniconv/u16-conv-to-enc-tests
65363         (test_u16_conv_to_enc_LDADD): Likewise.
65364         * modules/uniconv/u16-strconv-from-enc-tests
65365         (test_u16_strconv_from_enc_LDADD): Likewise.
65366         * modules/uniconv/u16-strconv-to-enc-tests
65367         (test_u16_strconv_to_enc_LDADD): Likewise.
65368         * modules/uniconv/u32-conv-from-enc-tests
65369         (test_u32_conv_from_enc_LDADD): Likewise.
65370         * modules/uniconv/u32-conv-to-enc-tests
65371         (test_u32_conv_to_enc_LDADD): Likewise.
65372         * modules/uniconv/u32-strconv-from-enc-tests
65373         (test_u32_strconv_from_enc_LDADD): Likewise.
65374         * modules/uniconv/u32-strconv-to-enc-tests
65375         (test_u32_strconv_to_enc_LDADD): Likewise.
65376         * modules/uniconv/u8-conv-from-enc-tests
65377         (test_u8_conv_from_enc_LDADD): Likewise.
65378         * modules/uniconv/u8-conv-to-enc-tests
65379         (test_u8_conv_to_enc_LDADD): Likewise.
65380         * modules/uniconv/u8-strconv-from-enc-tests
65381         (test_u8_strconv_from_enc_LDADD): Likewise.
65382         * modules/uniconv/u8-strconv-to-enc-tests
65383         (test_u8_strconv_to_enc_LDADD): Likewise.
65384
65385 2007-10-22  Bruno Haible  <bruno@clisp.org>
65386
65387         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
65388         size.
65389
65390 2007-10-22  Eric Blake  <ebb9@byu.net>
65391
65392         Tweak x*printf documentation.
65393         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
65394         variable name and comments.
65395         Suggested by Bruno Haible.
65396
65397 2007-10-22  Bruno Haible  <bruno@clisp.org>
65398
65399         * lib/acl.c (copy_acl): Fix file name in comment.
65400
65401 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
65402
65403         Fix Tru64 problem with stdbool.h.
65404         * lib/stdbool.in.h (false, true):
65405         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
65406         Don't declare as an enum in this situation; it runs afoul of Tru64.
65407         Problem reported by Steven M. Schweda in
65408         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
65409
65410 2007-10-22  Eric Blake  <ebb9@byu.net>
65411
65412         Also wrap vf?printf.
65413         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
65414         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
65415         (xvprintf, xvfprintf): New functions.
65416
65417 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65418
65419         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
65420         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
65421
65422         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
65423         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
65424
65425 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
65426
65427         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
65428         by Bruno Haible.
65429
65430 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65431
65432         * lib/getloadavg.c
65433         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
65434         Undef `sys' after including sys/table.h, for Tru64 4.0D.
65435
65436         * tests/test-i-ring.c: Work for C89.
65437
65438 2007-10-22  Bruno Haible  <bruno@clisp.org>
65439
65440         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
65441         -1u, in preprocessor expression, so that we don't test for the bug
65442         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
65443         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
65444
65445 2007-10-22  Eric Blake  <ebb9@byu.net>
65446
65447         * tests/test-yesno.sh: Silence stderr during test.
65448
65449 2007-10-22  Simon Josefsson  <simon@josefsson.org>
65450
65451         * modules/crypto/gc-camellia: New file.
65452
65453         * m4/gc-camellia.m4: New file.
65454
65455         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
65456
65457         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
65458
65459 2007-10-22  Simon Josefsson  <simon@josefsson.org>
65460
65461         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
65462         --help to stdout.  Reported by sms@antinode.org (Steven
65463         M. Schweda).
65464
65465 2007-10-22  Simon Josefsson  <simon@josefsson.org>
65466
65467         * users.txt: Fix link to libksba.
65468
65469 2007-10-21  Ben Pfaff  <blp@gnu.org>
65470
65471         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
65472         round.c roundf implementation that depends on floorf and ceilf to
65473         be tested unconditionally.
65474
65475 2007-10-21  Ben Pfaff  <blp@gnu.org>
65476
65477         * m4/check-libm-func.m4: Removed.
65478         * m4/check-math-lib.m4: New file.
65479         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
65480         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
65481         definition and lack of AC_LIBOBJ([roundf]).
65482         * m4/roundl.m4: Ditto, and similarly for roundl.
65483         * modules/round: Reference new m4 file.
65484         * modules/roundf: Ditto.
65485         * modules/roundl: Ditto.
65486         * tests/test-round2.c (main): Use ROUND instead of round.
65487         Bug report from Bruno Haible.
65488
65489 2007-10-21  Bruno Haible  <bruno@clisp.org>
65490
65491         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
65492         context.
65493
65494 2007-10-21  Bruno Haible  <bruno@clisp.org>
65495
65496         * tests/test-wcwidth.c (main): Allow negative result for some control
65497         characters.
65498
65499         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
65500         Needed on OSF/1 5.1.
65501
65502 2007-10-21  Bruno Haible  <bruno@clisp.org>
65503
65504         * tests/test-floorf1.c: Include isnanf.h.
65505         (main): Use isnanf() instead of isnan().
65506         * tests/test-ceilf1.c: Include isnanf.h.
65507         (main): Use isnanf() instead of isnan().
65508         * tests/test-truncf1.c: Include isnanf.h.
65509         (main): Use isnanf() instead of isnan().
65510         * tests/test-roundf1.c: Include isnanf.h.
65511         (main): Use isnanf() instead of isnan().
65512
65513 2007-10-21  Eric Blake  <ebb9@byu.net>
65514
65515         * users.txt: Update URL for m4.
65516
65517 2007-10-21  Bruno Haible  <bruno@clisp.org>
65518
65519         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
65520
65521 2007-10-21  Bruno Haible  <bruno@clisp.org>
65522
65523         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
65524         Git's management files if the CVS files are not present.
65525
65526 2007-10-20  Bruno Haible  <bruno@clisp.org>
65527
65528         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
65529         gcc-3.4.x.
65530
65531 2007-10-20  Ben Pfaff  <blp@gnu.org>
65532
65533         * lib/math.in.h: Declare round, roundf, roundl if we are providing
65534         implementations.
65535         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
65536         * lib/round.c: New file.
65537         * lib/roundf.c: New file.
65538         * lib/roundl.c: New file.
65539         * m4/round.m4: New file.
65540         * m4/roundf.m4: New file.
65541         * m4/roundl.m4: New file.
65542         * m4/check-libm-func-m4: New file.
65543         * modules/math: Replace round, roundf, roundl related @VARS@ in
65544         math.in.h.
65545         * modules/round: New file.
65546         * modules/round-tests: New file.
65547         * modules/roundf: New file.
65548         * modules/roundf-tests: New file.
65549         * modules/roundl: New file.
65550         * modules/roundl-tests: New file.
65551         * tests/test-round1.c: New file.
65552         * tests/test-round2.c: New file.
65553         * tests/test-roundf1.c: New file.
65554         * tests/test-roundf2.c: New file.
65555         * tests/test-roundl.c: New file.
65556         * doc/functions/round.texi: Mention round module.
65557         * doc/functions/roundf.texi: Mention roundf module.
65558         * doc/functions/roundl.texi: Mention roundl module.
65559         * MODULES.html.sh: Mention new modules.
65560         Thanks to Bruno Haible for suggestions.
65561
65562 2007-10-20  Jim Meyering  <meyering@redhat.com>
65563
65564         * lib/xprintf.c: Include <config.h> unconditionally.
65565
65566         Change xprintf's license to GPL.
65567         * modules/xprintf (License): s/LGPL/GPL/, since this module
65568         depends on modules (exit and exitfail) which are GPL.
65569         Suggestion from Bruno Haible.
65570
65571         xprintf fixes.
65572         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
65573         Use a clearer diagnostic.
65574         Patch from Bruno Haible.
65575
65576 2007-10-20  Bruno Haible  <bruno@clisp.org>
65577
65578         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
65579         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
65580         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65581
65582 2007-10-20  Bruno Haible  <bruno@clisp.org>
65583
65584         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
65585         precision in the comparison result > x - 1 or similar.
65586         * tests/test-ceilf2.c (correct_result_p): Likewise.
65587         * tests/test-truncf2.c (correct_result_p): Likewise.
65588         * tests/test-trunc2.c (correct_result_p): Likewise.
65589         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65590
65591 2007-10-20  Bruno Haible  <bruno@clisp.org>
65592
65593         * modules/ceil: New file.
65594         * m4/ceil.m4: New file.
65595         * doc/functions/ceil.texi: Mention the 'ceil' module.
65596
65597 2007-10-20  Bruno Haible  <bruno@clisp.org>
65598
65599         * modules/floor: New file.
65600         * m4/floor.m4: New file.
65601         * doc/functions/floor.texi: Mention the 'floor' module.
65602
65603 2007-10-20  Bruno Haible  <bruno@clisp.org>
65604
65605         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
65606         of %a.
65607         * modules/floorf-tests (Depends-on): Likewise.
65608         * modules/truncf-tests (Depends-on): Likewise.
65609         * modules/trunc-tests (Depends-on): Likewise.
65610         Reported by Ben Pfaff.
65611
65612 2007-10-19  Jim Meyering  <meyering@redhat.com>
65613
65614         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
65615         Don't bother testing specific errno values.  Just test ferror.
65616
65617         New module: xprintf
65618         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
65619
65620 2007-10-19  Bruno Haible  <bruno@clisp.org>
65621
65622         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
65623         syntax.
65624         * modules/javaexec (Makefile.am): Likewise.
65625         * modules/relocatable-prog (Makefile.am): Likewise.
65626         Suggested by Jim Meyering.
65627
65628 2007-10-18  Bruno Haible  <bruno@clisp.org>
65629
65630         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
65631         Reported by Jim Meyering.
65632
65633 2007-10-18  Eric Blake  <ebb9@byu.net>
65634
65635         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
65636
65637 2007-10-18  Bruno Haible  <bruno@clisp.org>
65638
65639         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
65640         the format string into writable memory. Needed in Fortify conditions.
65641
65642 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
65643             Bruno Haible  <bruno@clisp.org>
65644
65645         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
65646         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
65647         * modules/trim (Depends-on): Add mbchar.
65648         (configure.ac): Add gl_FUNC_MBRTOWC.
65649         (Makefile.am): Augment lib_SOURCES.
65650
65651 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
65652
65653         Modify glob.c to use fstatat and dirfd, to simplify it.
65654         Suggested by Eric Blake.
65655         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
65656         Don't include <stdbool.h>; not used.
65657         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
65658         (link_exists_p): Simplify implementation, since we can now assume
65659         dirfd and fstatat.
65660         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
65661
65662 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65663
65664         * gnulib-tool (func_get_dependencies): Fix sed script to
65665         match only tests.
65666
65667 2007-10-17  Bruno Haible  <bruno@clisp.org>
65668
65669         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
65670         allow locale names without encoding suffix.
65671         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
65672         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
65673
65674 2007-10-16  Bruno Haible  <bruno@clisp.org>
65675
65676         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
65677         * lib/getgroups.c (getgroups): Likewise.
65678         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
65679
65680 2007-10-16  Bruno Haible  <bruno@clisp.org>
65681
65682         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
65683         * modules/malloc-posix (License): Likewise.
65684         * modules/realloc-posix (License): Likewise.
65685         * modules/calloc-posix (License): Likewise.
65686         * modules/intprops (License): Change from GPL to LGPL, with
65687         Paul Eggert's approval.
65688
65689 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
65690
65691         Merge glibc changes into lib/glob.c.
65692
65693         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
65694         2007-10-15 04:59:03 UTC.  Here are the changes:
65695
65696         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
65697
65698         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
65699
65700         * lib/glob.c: Add some branch prediction throughout.
65701
65702         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
65703
65704         [BZ #5103]
65705         * lib/glob.c (glob): Recognize patterns starting \/.
65706
65707         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
65708
65709         [BZ #3996]
65710         * lib/glob.c (attribute_hidden): Define if not defined.
65711         (glob): Unescape dirname, filename or username when needed and not
65712         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
65713         is NULL.  Handle unescaped [ in pattern without closing ].
65714         Don't pass GLOB_CHECK down to recursive glob for directories.
65715         (__glob_pattern_type): New function.
65716         (__glob_pattern_p): Implement using __glob_pattern_type.
65717         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
65718         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
65719         Remove unreachable code.
65720
65721         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
65722
65723         * lib/glob.c (glob_in_dir): Add some comments and asserts to
65724         explain why there are no leaks.
65725
65726         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
65727
65728         [BZ #3253]
65729         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
65730         time, rather allocate increasingly bigger arrays of pointers, if
65731         possible with alloca, if too large with malloc.
65732
65733 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
65734
65735         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
65736         Problem reported by H.Merijn Brand in
65737         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
65738         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
65739         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
65740
65741 2007-10-15  Bruno Haible  <bruno@clisp.org>
65742
65743         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
65744         with explicit rpl_ prefix.
65745         * lib/fopen.c (fopen): Likewise.
65746         * lib/freopen.c (freopen): Likewise.
65747         * lib/iconv.c (iconv): Likewise.
65748         * lib/iconv_close.c (iconv_close): Likewise.
65749
65750 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65751
65752         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
65753
65754 2007-10-15  Bruno Haible  <bruno@clisp.org>
65755
65756         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
65757         <stddef.h> instead of <stdlib.h> since we only need NULL.
65758         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65759
65760 2007-10-15  Bruno Haible  <bruno@clisp.org>
65761
65762         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
65763         Replace paragraph talking about LIBOBJS.
65764         Reported by Colin Watson <cjwatson@debian.org>.
65765
65766 2007-10-15  Bruno Haible  <bruno@clisp.org>
65767
65768         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
65769         <stdlib.h> before using NULL.
65770
65771 2007-10-15  Simon Josefsson  <simon@josefsson.org>
65772
65773         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
65774         Reported by Albert Chin <china@thewrittenword.com>.
65775
65776 2007-10-14  Bruno Haible  <bruno@clisp.org>
65777
65778         * modules/iconv_open-utf-tests: New file.
65779         * tests/test-iconv-utf.c: New file.
65780
65781         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
65782         * modules/iconv_open-utf: New file.
65783         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
65784         (iconv, iconv_close): New declarations.
65785         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
65786         be defined.
65787         (iconv_open): Add special handling of conversion between UTF-8 and
65788         UTF-{16,32}{BE,LE}.
65789         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
65790         * lib/iconv_close.c: New file.
65791         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
65792         gl_FUNC_ICONV_OPEN.
65793         (gl_FUNC_ICONV_OPEN): Use it.
65794         (gl_FUNC_ICONV_OPEN_UTF): New macro.
65795         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
65796         and REPLACE_ICONV_UTF.
65797         * modules/iconv_open (Depends-on): Add c-strcase.
65798         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
65799         ICONV_CONST.
65800         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
65801
65802 2007-10-13  Albert Chin  <china@thewrittenword.com>
65803             Bruno Haible  <bruno@clisp.org>
65804
65805         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
65806         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
65807
65808 2007-10-13  Bruno Haible  <bruno@clisp.org>
65809
65810         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
65811         defined, use the ISO C99 inline semantics.
65812         * lib/argp.h (ARGP_EI): Likewise.
65813
65814 2007-10-13  Bruno Haible  <bruno@clisp.org>
65815
65816         Handle 'inline' change in gcc 4.3.0.
65817         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
65818         argp_fmtstream_write, argp_fmtstream_set_lmargin,
65819         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
65820         argp_fmtstream_point): Disable 'extern' declaration if the function
65821         definition is going to be provided inline.
65822         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
65823         semantics, not the ISO C99 inline semantics.
65824         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
65825         'extern' declaration if the function definition is going to be provided
65826         inline.
65827         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
65828         the GNU C inline semantics, not the ISO C99 inline semantics. With
65829         GCC 4.2, avoid a warning.
65830
65831 2007-10-13  Bruno Haible  <bruno@clisp.org>
65832
65833         * lib/freading.h (freading): Enable the use of __freading for
65834         glibc >= 2.7.
65835         * lib/freading.c (freading): Likewise.
65836
65837 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
65838
65839         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
65840         "warning: C99 inline functions are not supported; using GNU89".
65841
65842 2007-10-12  Bruno Haible  <bruno@clisp.org>
65843
65844         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
65845         of 2.
65846         * tests/test-ceilf2.c: New file.
65847         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
65848
65849         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
65850         * modules/ceilf-tests: Update.
65851
65852 2007-10-12  Bruno Haible  <bruno@clisp.org>
65853
65854         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
65855         of 2.
65856         * tests/test-floorf2.c: New file.
65857         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
65858
65859         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
65860         * modules/floorf-tests: Update.
65861
65862 2007-10-12  Bruno Haible  <bruno@clisp.org>
65863
65864         * tests/test-trunc2.c: New file.
65865         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
65866
65867         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
65868         * modules/trunc-tests: Update.
65869
65870 2007-10-12  Bruno Haible  <bruno@clisp.org>
65871
65872         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
65873         of 2.
65874         * tests/test-truncf2.c: New file.
65875         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
65876
65877         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
65878         * modules/truncf-tests: Update.
65879
65880 2007-10-11  Eric Blake  <ebb9@byu.net>
65881
65882         Don't claim strerror is broken on Interix.
65883         * doc/functions/strerror.texi (strerror): Known broken systems are
65884         now Solaris 8, and not Interix.
65885         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
65886         Interix on cross-compile.
65887         Reported by Martin Koeppe in
65888         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
65889
65890 2007-10-11  Bruno Haible  <bruno@clisp.org>
65891
65892         * modules/i-ring-tests: New file.
65893         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
65894         instead of assert.
65895
65896 2007-10-11  Bruno Haible  <bruno@clisp.org>
65897
65898         * modules/filenamecat-tests: New file.
65899         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
65900         * lib/filenamecat.c: Remove test code.
65901
65902 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
65903
65904         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
65905
65906         * lib/strerror.c: Include <string.h> always, to test interface,
65907         and to remove the need for the dummy.
65908         Include intprops.h to compute width instead of doing it ourselves
65909         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
65910         (strerror): Define it to return NULL if there's no system strerror.
65911         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
65912         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
65913         ancient pre-strerror Unix systems well any more.  Saying "unknown
65914         system error" is enough.
65915         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
65916         simpler strerror.c implementation.
65917         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
65918         Simplify the tests to reflect the simpler strerror implementation.
65919         * modules/strerror (Depends-on): Add intprops.
65920
65921 2007-10-09  Eric Blake  <ebb9@byu.net>
65922
65923         Silence test-fpending.
65924         * modules/fpending-tests (Files): Add wrapper script.
65925         * tests/test-fpending.sh: New file.
65926
65927 2007-10-09  Bruno Haible  <bruno@clisp.org>
65928
65929         * MODULES.html.sh (func_module): Don't create a hyperlink for
65930         function names like 'printf_frexp'.
65931         (Misc): Add crc, memxor.
65932         (Characteristics of floating types): New section.
65933         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
65934         isnanf-nolibm, signbit, trunc, truncf, truncl.
65935         (Enhancements for ISO C 99 functions): New subsection Input/output.
65936         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
65937         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
65938         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
65939         (Compatibility checks for POSIX:2001 functions): Add clock-time.
65940         (Enhancements for POSIX:2001 functions): Add chdir-long.
65941         (File system functions): Add areadlink, chdir-safer, read-file.
65942         Remove cycle-check.
65943         (File system as inode set): New section.
65944         (Date and time): Add gethrxtime.
65945         (Multithreading): Add openmp.
65946         (Internationalization functions): Add localename.
65947         (Unicode string functions): Add unistr/u*-mbsnlen.
65948         (Support for maintaining and releasing projects): Add git-version-gen.
65949         (Lone files): Remove directories.
65950
65951 2007-10-08  Ben Pfaff  <blp@gnu.org>
65952
65953         * lib/xmalloca.h: Fix typo in comment.
65954
65955 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
65956
65957         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
65958         when avoiding problems with integer overflow.  Use a portable test
65959         instead.
65960
65961 2007-10-08  Simon Josefsson  <simon@josefsson.org>
65962
65963         * modules/dummy (License): Change to LGPLv2+.
65964         * modules/float (License): Likewise
65965         * modules/realloc (License): Likewise
65966         * modules/stdlib (License): Likewise
65967
65968 2007-10-07  Bruno Haible  <bruno@clisp.org>
65969
65970         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
65971         * floor.c (TWO_MANT_DIG): Likewise.
65972         * ceil.c (TWO_MANT_DIG): Likewise.
65973         Reported by Ben Pfaff.
65974
65975 2007-10-07  Bruno Haible  <bruno@clisp.org>
65976
65977         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
65978         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
65979         * lib/frexp.c (FUNC): Likewise.
65980         * lib/printf-frexp.h (printf_frexp): Likewise.
65981         * lib/printf-frexpl.h (printf_frexpl): Likewise.
65982         * lib/printf-frexp.c (FUNC): Likewise.
65983         Suggested by Jim Meyering.
65984
65985 2007-10-07  Jim Meyering  <meyering@redhat.com>
65986
65987         Make xnanosleep's integer overflow test more robust.
65988         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
65989         so that gcc-4.3.0 doesn't optimize away this test for overflow.
65990
65991 2007-10-07  Bruno Haible  <bruno@clisp.org>
65992
65993         * NEWS: Mention the license change.
65994
65995         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
65996         abbreviations in the modules files.
65997
65998         Change copyright notice from GPLv2+ to GPLv3+.
65999         * README: Change copyright notice.
66000         * MODULES.html.sh: Likewise.
66001         * build-aux/bootstrap.conf: Likewise.
66002         * build-aux/config.libpath: Likewise.
66003         * build-aux/csharpcomp.sh.in: Likewise.
66004         * build-aux/csharpexec.sh.in: Likewise.
66005         * build-aux/install-reloc: Likewise.
66006         * build-aux/javacomp.sh.in: Likewise.
66007         * build-aux/javaexec.sh.in: Likewise.
66008         * build-aux/ldd.sh.in: Likewise.
66009         * build-aux/reloc-ldflags: Likewise.
66010         * build-aux/relocatable.sh.in: Likewise.
66011         * build-aux/x-to-1.in: Likewise.
66012         * check-module: Likewise.
66013         * config/srclistvars.sh: Likewise.
66014         * gnulib-tool: Likewise.
66015         * lib/acl-internal.h: Likewise.
66016         * lib/acl.c: Likewise.
66017         * lib/acl.h: Likewise.
66018         * lib/acl_entries.c: Likewise.
66019         * lib/areadlink-with-size.c: Likewise.
66020         * lib/areadlink.c: Likewise.
66021         * lib/areadlink.h: Likewise.
66022         * lib/argmatch.c: Likewise.
66023         * lib/argmatch.h: Likewise.
66024         * lib/argp-ba.c: Likewise.
66025         * lib/argp-eexst.c: Likewise.
66026         * lib/argp-fmtstream.c: Likewise.
66027         * lib/argp-fmtstream.h: Likewise.
66028         * lib/argp-fs-xinl.c: Likewise.
66029         * lib/argp-help.c: Likewise.
66030         * lib/argp-namefrob.h: Likewise.
66031         * lib/argp-parse.c: Likewise.
66032         * lib/argp-pin.c: Likewise.
66033         * lib/argp-pv.c: Likewise.
66034         * lib/argp-pvh.c: Likewise.
66035         * lib/argp-xinl.c: Likewise.
66036         * lib/argp.h: Likewise.
66037         * lib/at-func.c: Likewise.
66038         * lib/atanl.c: Likewise.
66039         * lib/backupfile.c: Likewise.
66040         * lib/backupfile.h: Likewise.
66041         * lib/basename.c: Likewise.
66042         * lib/binary-io.h: Likewise.
66043         * lib/byteswap.in.h: Likewise.
66044         * lib/c-stack.c: Likewise.
66045         * lib/c-stack.h: Likewise.
66046         * lib/c-strcasestr.c: Likewise.
66047         * lib/c-strcasestr.h: Likewise.
66048         * lib/c-strstr.c: Likewise.
66049         * lib/c-strstr.h: Likewise.
66050         * lib/c-strtod.c: Likewise.
66051         * lib/calloc.c: Likewise.
66052         * lib/canon-host.c: Likewise.
66053         * lib/canon-host.h: Likewise.
66054         * lib/canonicalize-lgpl.c: Likewise.
66055         * lib/canonicalize.c: Likewise.
66056         * lib/canonicalize.h: Likewise.
66057         * lib/ceil.c: Likewise.
66058         * lib/ceilf.c: Likewise.
66059         * lib/ceill.c: Likewise.
66060         * lib/chdir-long.c: Likewise.
66061         * lib/chdir-long.h: Likewise.
66062         * lib/chdir-safer.c: Likewise.
66063         * lib/chdir-safer.h: Likewise.
66064         * lib/chown.c: Likewise.
66065         * lib/classpath.c: Likewise.
66066         * lib/classpath.h: Likewise.
66067         * lib/clean-temp.c: Likewise.
66068         * lib/clean-temp.h: Likewise.
66069         * lib/cloexec.c: Likewise.
66070         * lib/close-stream.c: Likewise.
66071         * lib/closein.c: Likewise.
66072         * lib/closein.h: Likewise.
66073         * lib/closeout.c: Likewise.
66074         * lib/closeout.h: Likewise.
66075         * lib/concat-filename.c: Likewise.
66076         * lib/copy-file.c: Likewise.
66077         * lib/copy-file.h: Likewise.
66078         * lib/count-one-bits.h: Likewise.
66079         * lib/crc.c: Likewise.
66080         * lib/crc.h: Likewise.
66081         * lib/creat-safer.c: Likewise.
66082         * lib/csharpcomp.c: Likewise.
66083         * lib/csharpcomp.h: Likewise.
66084         * lib/csharpexec.c: Likewise.
66085         * lib/csharpexec.h: Likewise.
66086         * lib/cycle-check.c: Likewise.
66087         * lib/cycle-check.h: Likewise.
66088         * lib/diacrit.c: Likewise.
66089         * lib/diacrit.h: Likewise.
66090         * lib/diffseq.h: Likewise.
66091         * lib/dirchownmod.c: Likewise.
66092         * lib/dirent.in.h: Likewise.
66093         * lib/dirfd.c: Likewise.
66094         * lib/dirfd.h: Likewise.
66095         * lib/dirname.c: Likewise.
66096         * lib/dirname.h: Likewise.
66097         * lib/dummy.c: Likewise.
66098         * lib/dup-safer.c: Likewise.
66099         * lib/dup2.c: Likewise.
66100         * lib/eealloc.h: Likewise.
66101         * lib/error.c: Likewise.
66102         * lib/error.h: Likewise.
66103         * lib/euidaccess.c: Likewise.
66104         * lib/exclude.c: Likewise.
66105         * lib/exclude.h: Likewise.
66106         * lib/execute.c: Likewise.
66107         * lib/execute.h: Likewise.
66108         * lib/exitfail.c: Likewise.
66109         * lib/exitfail.h: Likewise.
66110         * lib/expl.c: Likewise.
66111         * lib/fatal-signal.c: Likewise.
66112         * lib/fatal-signal.h: Likewise.
66113         * lib/fbufmode.c: Likewise.
66114         * lib/fbufmode.h: Likewise.
66115         * lib/fchdir.c: Likewise.
66116         * lib/fchmodat.c: Likewise.
66117         * lib/fchownat.c: Likewise.
66118         * lib/fcntl--.h: Likewise.
66119         * lib/fcntl-safer.h: Likewise.
66120         * lib/fcntl.in.h: Likewise.
66121         * lib/fd-safer.c: Likewise.
66122         * lib/fflush.c: Likewise.
66123         * lib/file-has-acl.c: Likewise.
66124         * lib/file-set.c: Likewise.
66125         * lib/file-type.c: Likewise.
66126         * lib/file-type.h: Likewise.
66127         * lib/fileblocks.c: Likewise.
66128         * lib/filemode.c: Likewise.
66129         * lib/filemode.h: Likewise.
66130         * lib/filename.h: Likewise.
66131         * lib/filenamecat.c: Likewise.
66132         * lib/filenamecat.h: Likewise.
66133         * lib/findprog.c: Likewise.
66134         * lib/findprog.h: Likewise.
66135         * lib/float.in.h: Likewise.
66136         * lib/floor.c: Likewise.
66137         * lib/floorf.c: Likewise.
66138         * lib/floorl.c: Likewise.
66139         * lib/fopen-safer.c: Likewise.
66140         * lib/fopen.c: Likewise.
66141         * lib/fpending.c: Likewise.
66142         * lib/fpending.h: Likewise.
66143         * lib/fprintf.c: Likewise.
66144         * lib/fprintftime.h: Likewise.
66145         * lib/fpucw.h: Likewise.
66146         * lib/fpurge.c: Likewise.
66147         * lib/fpurge.h: Likewise.
66148         * lib/freadable.c: Likewise.
66149         * lib/freadable.h: Likewise.
66150         * lib/freadahead.c: Likewise.
66151         * lib/freadahead.h: Likewise.
66152         * lib/freading.c: Likewise.
66153         * lib/freading.h: Likewise.
66154         * lib/free.c: Likewise.
66155         * lib/freopen.c: Likewise.
66156         * lib/frexp.c: Likewise.
66157         * lib/frexpl.c: Likewise.
66158         * lib/fseek.c: Likewise.
66159         * lib/fseterr.c: Likewise.
66160         * lib/fseterr.h: Likewise.
66161         * lib/fstatat.c: Likewise.
66162         * lib/fstrcmp.c: Likewise.
66163         * lib/fstrcmp.h: Likewise.
66164         * lib/fsusage.c: Likewise.
66165         * lib/fsusage.h: Likewise.
66166         * lib/ftell.c: Likewise.
66167         * lib/ftello.c: Likewise.
66168         * lib/fts-cycle.c: Likewise.
66169         * lib/fts.c: Likewise.
66170         * lib/fts_.h: Likewise.
66171         * lib/full-read.c: Likewise.
66172         * lib/full-read.h: Likewise.
66173         * lib/full-write.c: Likewise.
66174         * lib/full-write.h: Likewise.
66175         * lib/fwritable.c: Likewise.
66176         * lib/fwritable.h: Likewise.
66177         * lib/fwriteerror.c: Likewise.
66178         * lib/fwriteerror.h: Likewise.
66179         * lib/fwriting.c: Likewise.
66180         * lib/fwriting.h: Likewise.
66181         * lib/gcd.c: Likewise.
66182         * lib/gcd.h: Likewise.
66183         * lib/getcwd.c: Likewise.
66184         * lib/getdate.h: Likewise.
66185         * lib/getdate.y: Likewise.
66186         * lib/getdomainname.c: Likewise.
66187         * lib/getdomainname.h: Likewise.
66188         * lib/getgroups.c: Likewise.
66189         * lib/gethostname.c: Likewise.
66190         * lib/gethrxtime.c: Likewise.
66191         * lib/gethrxtime.h: Likewise.
66192         * lib/getloadavg.c: Likewise.
66193         * lib/getndelim2.c: Likewise.
66194         * lib/getndelim2.h: Likewise.
66195         * lib/getnline.c: Likewise.
66196         * lib/getnline.h: Likewise.
66197         * lib/getopt.c: Likewise.
66198         * lib/getopt.in.h: Likewise.
66199         * lib/getopt1.c: Likewise.
66200         * lib/getopt_int.h: Likewise.
66201         * lib/getpagesize.h: Likewise.
66202         * lib/getsubopt.c: Likewise.
66203         * lib/gettime.c: Likewise.
66204         * lib/getugroups.c: Likewise.
66205         * lib/getugroups.h: Likewise.
66206         * lib/getusershell.c: Likewise.
66207         * lib/gl_anyavltree_list1.h: Likewise.
66208         * lib/gl_anyavltree_list2.h: Likewise.
66209         * lib/gl_anyhash_list1.h: Likewise.
66210         * lib/gl_anyhash_list2.h: Likewise.
66211         * lib/gl_anylinked_list1.h: Likewise.
66212         * lib/gl_anylinked_list2.h: Likewise.
66213         * lib/gl_anyrbtree_list1.h: Likewise.
66214         * lib/gl_anyrbtree_list2.h: Likewise.
66215         * lib/gl_anytree_list1.h: Likewise.
66216         * lib/gl_anytree_list2.h: Likewise.
66217         * lib/gl_anytree_oset.h: Likewise.
66218         * lib/gl_anytreehash_list1.h: Likewise.
66219         * lib/gl_anytreehash_list2.h: Likewise.
66220         * lib/gl_array_list.c: Likewise.
66221         * lib/gl_array_list.h: Likewise.
66222         * lib/gl_array_oset.c: Likewise.
66223         * lib/gl_array_oset.h: Likewise.
66224         * lib/gl_avltree_list.c: Likewise.
66225         * lib/gl_avltree_list.h: Likewise.
66226         * lib/gl_avltree_oset.c: Likewise.
66227         * lib/gl_avltree_oset.h: Likewise.
66228         * lib/gl_avltreehash_list.c: Likewise.
66229         * lib/gl_avltreehash_list.h: Likewise.
66230         * lib/gl_carray_list.c: Likewise.
66231         * lib/gl_carray_list.h: Likewise.
66232         * lib/gl_linked_list.c: Likewise.
66233         * lib/gl_linked_list.h: Likewise.
66234         * lib/gl_linkedhash_list.c: Likewise.
66235         * lib/gl_linkedhash_list.h: Likewise.
66236         * lib/gl_list.c: Likewise.
66237         * lib/gl_list.h: Likewise.
66238         * lib/gl_oset.c: Likewise.
66239         * lib/gl_oset.h: Likewise.
66240         * lib/gl_rbtree_list.c: Likewise.
66241         * lib/gl_rbtree_list.h: Likewise.
66242         * lib/gl_rbtree_oset.c: Likewise.
66243         * lib/gl_rbtree_oset.h: Likewise.
66244         * lib/gl_rbtreehash_list.c: Likewise.
66245         * lib/gl_rbtreehash_list.h: Likewise.
66246         * lib/gl_sublist.c: Likewise.
66247         * lib/gl_sublist.h: Likewise.
66248         * lib/group-member.c: Likewise.
66249         * lib/group-member.h: Likewise.
66250         * lib/hard-locale.c: Likewise.
66251         * lib/hard-locale.h: Likewise.
66252         * lib/hash-pjw.c: Likewise.
66253         * lib/hash-pjw.h: Likewise.
66254         * lib/hash-triple.c: Likewise.
66255         * lib/hash.c: Likewise.
66256         * lib/hash.h: Likewise.
66257         * lib/human.c: Likewise.
66258         * lib/human.h: Likewise.
66259         * lib/i-ring.c: Likewise.
66260         * lib/i-ring.h: Likewise.
66261         * lib/idcache.c: Likewise.
66262         * lib/imaxabs.c: Likewise.
66263         * lib/imaxdiv.c: Likewise.
66264         * lib/inet_pton.c: Likewise.
66265         * lib/inet_pton.h: Likewise.
66266         * lib/intprops.h: Likewise.
66267         * lib/inttostr.c: Likewise.
66268         * lib/inttostr.h: Likewise.
66269         * lib/inttypes.in.h: Likewise.
66270         * lib/isapipe.c: Likewise.
66271         * lib/isdir.c: Likewise.
66272         * lib/isnan.c: Likewise.
66273         * lib/isnan.h: Likewise.
66274         * lib/isnanf.c: Likewise.
66275         * lib/isnanf.h: Likewise.
66276         * lib/isnanl-nolibm.h: Likewise.
66277         * lib/isnanl.c: Likewise.
66278         * lib/isnanl.h: Likewise.
66279         * lib/javacomp.c: Likewise.
66280         * lib/javacomp.h: Likewise.
66281         * lib/javaexec.c: Likewise.
66282         * lib/javaexec.h: Likewise.
66283         * lib/javaversion.c: Likewise.
66284         * lib/javaversion.h: Likewise.
66285         * lib/javaversion.java: Likewise.
66286         * lib/lbrkprop.h: Likewise.
66287         * lib/lchmod.h: Likewise.
66288         * lib/lchown.c: Likewise.
66289         * lib/ldexpl.c: Likewise.
66290         * lib/linebreak.c: Likewise.
66291         * lib/linebreak.h: Likewise.
66292         * lib/linebuffer.c: Likewise.
66293         * lib/linebuffer.h: Likewise.
66294         * lib/locale.in.h: Likewise.
66295         * lib/logl.c: Likewise.
66296         * lib/long-options.c: Likewise.
66297         * lib/long-options.h: Likewise.
66298         * lib/lstat.c: Likewise.
66299         * lib/lstat.h: Likewise.
66300         * lib/math.in.h: Likewise.
66301         * lib/mbchar.c: Likewise.
66302         * lib/mbchar.h: Likewise.
66303         * lib/mbfile.h: Likewise.
66304         * lib/mbiter.h: Likewise.
66305         * lib/mbscasecmp.c: Likewise.
66306         * lib/mbscasestr.c: Likewise.
66307         * lib/mbschr.c: Likewise.
66308         * lib/mbscspn.c: Likewise.
66309         * lib/mbslen.c: Likewise.
66310         * lib/mbsncasecmp.c: Likewise.
66311         * lib/mbsnlen.c: Likewise.
66312         * lib/mbspbrk.c: Likewise.
66313         * lib/mbspcasecmp.c: Likewise.
66314         * lib/mbsrchr.c: Likewise.
66315         * lib/mbssep.c: Likewise.
66316         * lib/mbsspn.c: Likewise.
66317         * lib/mbsstr.c: Likewise.
66318         * lib/mbstok_r.c: Likewise.
66319         * lib/mbswidth.c: Likewise.
66320         * lib/mbswidth.h: Likewise.
66321         * lib/mbuiter.h: Likewise.
66322         * lib/memcasecmp.c: Likewise.
66323         * lib/memcasecmp.h: Likewise.
66324         * lib/memchr.c: Likewise.
66325         * lib/memcmp.c: Likewise.
66326         * lib/memcoll.c: Likewise.
66327         * lib/memcoll.h: Likewise.
66328         * lib/memcpy.c: Likewise.
66329         * lib/memrchr.c: Likewise.
66330         * lib/mkancesdirs.c: Likewise.
66331         * lib/mkdir-p.c: Likewise.
66332         * lib/mkdir-p.h: Likewise.
66333         * lib/mkdir.c: Likewise.
66334         * lib/mkdirat.c: Likewise.
66335         * lib/mkdtemp.c: Likewise.
66336         * lib/mkstemp-safer.c: Likewise.
66337         * lib/mkstemp.c: Likewise.
66338         * lib/modechange.c: Likewise.
66339         * lib/modechange.h: Likewise.
66340         * lib/mountlist.c: Likewise.
66341         * lib/mountlist.h: Likewise.
66342         * lib/mpsort.c: Likewise.
66343         * lib/nanosleep.c: Likewise.
66344         * lib/obstack.c: Likewise.
66345         * lib/obstack.h: Likewise.
66346         * lib/open-safer.c: Likewise.
66347         * lib/open.c: Likewise.
66348         * lib/openat-die.c: Likewise.
66349         * lib/openat-priv.h: Likewise.
66350         * lib/openat-proc.c: Likewise.
66351         * lib/openat.c: Likewise.
66352         * lib/openat.h: Likewise.
66353         * lib/pagealign_alloc.c: Likewise.
66354         * lib/pagealign_alloc.h: Likewise.
66355         * lib/physmem.c: Likewise.
66356         * lib/physmem.h: Likewise.
66357         * lib/pipe-safer.c: Likewise.
66358         * lib/pipe.c: Likewise.
66359         * lib/pipe.h: Likewise.
66360         * lib/posixtm.c: Likewise.
66361         * lib/posixtm.h: Likewise.
66362         * lib/posixver.c: Likewise.
66363         * lib/printf-frexp.c: Likewise.
66364         * lib/printf-frexp.h: Likewise.
66365         * lib/printf-frexpl.c: Likewise.
66366         * lib/printf-frexpl.h: Likewise.
66367         * lib/printf.c: Likewise.
66368         * lib/progname.c: Likewise.
66369         * lib/progname.h: Likewise.
66370         * lib/progreloc.c: Likewise.
66371         * lib/putenv.c: Likewise.
66372         * lib/quote.c: Likewise.
66373         * lib/quote.h: Likewise.
66374         * lib/quotearg.c: Likewise.
66375         * lib/quotearg.h: Likewise.
66376         * lib/raise.c: Likewise.
66377         * lib/readline.c: Likewise.
66378         * lib/readline.h: Likewise.
66379         * lib/readlink.c: Likewise.
66380         * lib/readtokens.c: Likewise.
66381         * lib/readtokens.h: Likewise.
66382         * lib/readtokens0.c: Likewise.
66383         * lib/readtokens0.h: Likewise.
66384         * lib/readutmp.c: Likewise.
66385         * lib/readutmp.h: Likewise.
66386         * lib/realloc.c: Likewise.
66387         * lib/relocwrapper.c: Likewise.
66388         * lib/rename-dest-slash.c: Likewise.
66389         * lib/rename.c: Likewise.
66390         * lib/rmdir.c: Likewise.
66391         * lib/rpmatch.c: Likewise.
66392         * lib/safe-read.c: Likewise.
66393         * lib/safe-read.h: Likewise.
66394         * lib/safe-write.c: Likewise.
66395         * lib/safe-write.h: Likewise.
66396         * lib/same-inode.h: Likewise.
66397         * lib/same.c: Likewise.
66398         * lib/same.h: Likewise.
66399         * lib/save-cwd.c: Likewise.
66400         * lib/save-cwd.h: Likewise.
66401         * lib/savedir.c: Likewise.
66402         * lib/savedir.h: Likewise.
66403         * lib/savewd.c: Likewise.
66404         * lib/savewd.h: Likewise.
66405         * lib/search.in.h: Likewise.
66406         * lib/setenv.c: Likewise.
66407         * lib/setenv.h: Likewise.
66408         * lib/settime.c: Likewise.
66409         * lib/sh-quote.c: Likewise.
66410         * lib/sh-quote.h: Likewise.
66411         * lib/sig2str.c: Likewise.
66412         * lib/sig2str.h: Likewise.
66413         * lib/signal.in.h: Likewise.
66414         * lib/signbitd.c: Likewise.
66415         * lib/signbitf.c: Likewise.
66416         * lib/signbitl.c: Likewise.
66417         * lib/sigprocmask.c: Likewise.
66418         * lib/sincosl.c: Likewise.
66419         * lib/sleep.c: Likewise.
66420         * lib/sprintf.c: Likewise.
66421         * lib/sqrtl.c: Likewise.
66422         * lib/stat-time.h: Likewise.
66423         * lib/stdio--.h: Likewise.
66424         * lib/stdio-safer.h: Likewise.
66425         * lib/stdlib--.h: Likewise.
66426         * lib/stdlib-safer.h: Likewise.
66427         * lib/stdlib.in.h: Likewise.
66428         * lib/stpcpy.c: Likewise.
66429         * lib/stpncpy.c: Likewise.
66430         * lib/strchrnul.c: Likewise.
66431         * lib/strcspn.c: Likewise.
66432         * lib/strerror.c: Likewise.
66433         * lib/strftime.c: Likewise.
66434         * lib/strftime.h: Likewise.
66435         * lib/striconveh.c: Likewise.
66436         * lib/striconveh.h: Likewise.
66437         * lib/striconveha.c: Likewise.
66438         * lib/striconveha.h: Likewise.
66439         * lib/stripslash.c: Likewise.
66440         * lib/strnlen1.c: Likewise.
66441         * lib/strnlen1.h: Likewise.
66442         * lib/strtod.c: Likewise.
66443         * lib/strtoimax.c: Likewise.
66444         * lib/strtok_r.c: Likewise.
66445         * lib/strtol.c: Likewise.
66446         * lib/strtoll.c: Likewise.
66447         * lib/strtoul.c: Likewise.
66448         * lib/strtoull.c: Likewise.
66449         * lib/sysexits.in.h: Likewise.
66450         * lib/tempname.c: Likewise.
66451         * lib/tempname.h: Likewise.
66452         * lib/timespec.h: Likewise.
66453         * lib/tls.c: Likewise.
66454         * lib/tls.h: Likewise.
66455         * lib/tmpdir.c: Likewise.
66456         * lib/tmpdir.h: Likewise.
66457         * lib/tmpfile-safer.c: Likewise.
66458         * lib/tmpfile.c: Likewise.
66459         * lib/trigl.c: Likewise.
66460         * lib/trigl.h: Likewise.
66461         * lib/trim.c: Likewise.
66462         * lib/trim.h: Likewise.
66463         * lib/trunc.c: Likewise.
66464         * lib/truncf.c: Likewise.
66465         * lib/truncl.c: Likewise.
66466         * lib/tsearch.c: Likewise.
66467         * lib/unicodeio.c: Likewise.
66468         * lib/unicodeio.h: Likewise.
66469         * lib/unistd--.h: Likewise.
66470         * lib/unistd-safer.h: Likewise.
66471         * lib/unistdio/ulc-fprintf.c: Likewise.
66472         * lib/unistdio/ulc-vfprintf.c: Likewise.
66473         * lib/unlinkdir.c: Likewise.
66474         * lib/unlinkdir.h: Likewise.
66475         * lib/unlocked-io.h: Likewise.
66476         * lib/unsetenv.c: Likewise.
66477         * lib/userspec.c: Likewise.
66478         * lib/utime.c: Likewise.
66479         * lib/utimecmp.c: Likewise.
66480         * lib/utimecmp.h: Likewise.
66481         * lib/utimens.c: Likewise.
66482         * lib/verify.h: Likewise.
66483         * lib/verror.c: Likewise.
66484         * lib/verror.h: Likewise.
66485         * lib/version-etc-fsf.c: Likewise.
66486         * lib/version-etc.c: Likewise.
66487         * lib/version-etc.h: Likewise.
66488         * lib/vfprintf.c: Likewise.
66489         * lib/vprintf.c: Likewise.
66490         * lib/vsprintf.c: Likewise.
66491         * lib/w32spawn.h: Likewise.
66492         * lib/wait-process.c: Likewise.
66493         * lib/wait-process.h: Likewise.
66494         * lib/wcwidth.c: Likewise.
66495         * lib/write-any-file.c: Likewise.
66496         * lib/xalloc-die.c: Likewise.
66497         * lib/xalloc.h: Likewise.
66498         * lib/xasprintf.c: Likewise.
66499         * lib/xgetcwd.c: Likewise.
66500         * lib/xgetcwd.h: Likewise.
66501         * lib/xgetdomainname.c: Likewise.
66502         * lib/xgetdomainname.h: Likewise.
66503         * lib/xgethostname.c: Likewise.
66504         * lib/xmalloc.c: Likewise.
66505         * lib/xmalloca.c: Likewise.
66506         * lib/xmalloca.h: Likewise.
66507         * lib/xmemcoll.c: Likewise.
66508         * lib/xnanosleep.c: Likewise.
66509         * lib/xreadlink.c: Likewise.
66510         * lib/xreadlink.h: Likewise.
66511         * lib/xsetenv.c: Likewise.
66512         * lib/xsetenv.h: Likewise.
66513         * lib/xstriconv.c: Likewise.
66514         * lib/xstriconv.h: Likewise.
66515         * lib/xstrndup.c: Likewise.
66516         * lib/xstrndup.h: Likewise.
66517         * lib/xstrtod.c: Likewise.
66518         * lib/xstrtod.h: Likewise.
66519         * lib/xstrtol-error.c: Likewise.
66520         * lib/xstrtol.c: Likewise.
66521         * lib/xstrtol.h: Likewise.
66522         * lib/xtime.h: Likewise.
66523         * lib/xvasprintf.c: Likewise.
66524         * lib/xvasprintf.h: Likewise.
66525         * lib/yesno.c: Likewise.
66526         * lib/yesno.h: Likewise.
66527         * posix-modules: Likewise.
66528         * tests/test-alloca-opt.c: Likewise.
66529         * tests/test-arcfour.c: Likewise.
66530         * tests/test-arctwo.c: Likewise.
66531         * tests/test-argmatch.c: Likewise.
66532         * tests/test-argp-2.sh: Likewise.
66533         * tests/test-argp.c: Likewise.
66534         * tests/test-arpa_inet.c: Likewise.
66535         * tests/test-array_list.c: Likewise.
66536         * tests/test-array_oset.c: Likewise.
66537         * tests/test-atexit.c: Likewise.
66538         * tests/test-avltree_list.c: Likewise.
66539         * tests/test-avltree_oset.c: Likewise.
66540         * tests/test-avltreehash_list.c: Likewise.
66541         * tests/test-base64.c: Likewise.
66542         * tests/test-binary-io.c: Likewise.
66543         * tests/test-byteswap.c: Likewise.
66544         * tests/test-c-ctype.c: Likewise.
66545         * tests/test-c-strcasecmp.c: Likewise.
66546         * tests/test-c-strcasestr.c: Likewise.
66547         * tests/test-c-strncasecmp.c: Likewise.
66548         * tests/test-c-strstr.c: Likewise.
66549         * tests/test-canonicalize-lgpl.c: Likewise.
66550         * tests/test-canonicalize.c: Likewise.
66551         * tests/test-carray_list.c: Likewise.
66552         * tests/test-ceilf.c: Likewise.
66553         * tests/test-ceill.c: Likewise.
66554         * tests/test-count-one-bits.c: Likewise.
66555         * tests/test-crc.c: Likewise.
66556         * tests/test-dirname.c: Likewise.
66557         * tests/test-fbufmode.c: Likewise.
66558         * tests/test-fcntl.c: Likewise.
66559         * tests/test-fflush.c: Likewise.
66560         * tests/test-floorf.c: Likewise.
66561         * tests/test-floorl.c: Likewise.
66562         * tests/test-fopen.c: Likewise.
66563         * tests/test-fprintf-posix.c: Likewise.
66564         * tests/test-fprintf-posix.h: Likewise.
66565         * tests/test-fpurge.c: Likewise.
66566         * tests/test-freadable.c: Likewise.
66567         * tests/test-freadahead.c: Likewise.
66568         * tests/test-freading.c: Likewise.
66569         * tests/test-freopen.c: Likewise.
66570         * tests/test-frexp.c: Likewise.
66571         * tests/test-frexpl.c: Likewise.
66572         * tests/test-fseek.c: Likewise.
66573         * tests/test-fseeko.c: Likewise.
66574         * tests/test-fseterr.c: Likewise.
66575         * tests/test-fstrcmp.c: Likewise.
66576         * tests/test-ftell.c: Likewise.
66577         * tests/test-ftello.c: Likewise.
66578         * tests/test-fwritable.c: Likewise.
66579         * tests/test-fwriting.c: Likewise.
66580         * tests/test-getaddrinfo.c: Likewise.
66581         * tests/test-getpass.c: Likewise.
66582         * tests/test-gettimeofday.c: Likewise.
66583         * tests/test-hmac-md5.c: Likewise.
66584         * tests/test-hmac-sha1.c: Likewise.
66585         * tests/test-iconv.c: Likewise.
66586         * tests/test-iconvme.c: Likewise.
66587         * tests/test-inttypes.c: Likewise.
66588         * tests/test-isnan.c: Likewise.
66589         * tests/test-isnanf.c: Likewise.
66590         * tests/test-isnanl-nolibm.c: Likewise.
66591         * tests/test-isnanl.c: Likewise.
66592         * tests/test-isnanl.h: Likewise.
66593         * tests/test-ldexpl.c: Likewise.
66594         * tests/test-linked_list.c: Likewise.
66595         * tests/test-linkedhash_list.c: Likewise.
66596         * tests/test-locale.c: Likewise.
66597         * tests/test-localename.c: Likewise.
66598         * tests/test-lock.c: Likewise.
66599         * tests/test-lseek.c: Likewise.
66600         * tests/test-malloca.c: Likewise.
66601         * tests/test-math.c: Likewise.
66602         * tests/test-mbscasecmp.c: Likewise.
66603         * tests/test-mbscasestr1.c: Likewise.
66604         * tests/test-mbscasestr2.c: Likewise.
66605         * tests/test-mbscasestr3.c: Likewise.
66606         * tests/test-mbscasestr4.c: Likewise.
66607         * tests/test-mbschr.c: Likewise.
66608         * tests/test-mbscspn.c: Likewise.
66609         * tests/test-mbsncasecmp.c: Likewise.
66610         * tests/test-mbspbrk.c: Likewise.
66611         * tests/test-mbspcasecmp.c: Likewise.
66612         * tests/test-mbsrchr.c: Likewise.
66613         * tests/test-mbsspn.c: Likewise.
66614         * tests/test-mbsstr1.c: Likewise.
66615         * tests/test-mbsstr2.c: Likewise.
66616         * tests/test-mbsstr3.c: Likewise.
66617         * tests/test-md5.c: Likewise.
66618         * tests/test-memmem.c: Likewise.
66619         * tests/test-netinet_in.c: Likewise.
66620         * tests/test-open.c: Likewise.
66621         * tests/test-printf-frexp.c: Likewise.
66622         * tests/test-printf-frexpl.c: Likewise.
66623         * tests/test-printf-posix.c: Likewise.
66624         * tests/test-printf-posix.h: Likewise.
66625         * tests/test-rbtree_list.c: Likewise.
66626         * tests/test-rbtree_oset.c: Likewise.
66627         * tests/test-rbtreehash_list.c: Likewise.
66628         * tests/test-read-file.c: Likewise.
66629         * tests/test-rijndael.c: Likewise.
66630         * tests/test-search.c: Likewise.
66631         * tests/test-signbit.c: Likewise.
66632         * tests/test-sleep.c: Likewise.
66633         * tests/test-snprintf-posix.c: Likewise.
66634         * tests/test-snprintf-posix.h: Likewise.
66635         * tests/test-snprintf.c: Likewise.
66636         * tests/test-sprintf-posix.c: Likewise.
66637         * tests/test-sprintf-posix.h: Likewise.
66638         * tests/test-stat-time.c: Likewise.
66639         * tests/test-stdbool.c: Likewise.
66640         * tests/test-stdint.c: Likewise.
66641         * tests/test-stdio.c: Likewise.
66642         * tests/test-stdlib.c: Likewise.
66643         * tests/test-stpncpy.c: Likewise.
66644         * tests/test-strcasestr.c: Likewise.
66645         * tests/test-striconv.c: Likewise.
66646         * tests/test-striconveh.c: Likewise.
66647         * tests/test-striconveha.c: Likewise.
66648         * tests/test-string.c: Likewise.
66649         * tests/test-sys_select.c: Likewise.
66650         * tests/test-sys_socket.c: Likewise.
66651         * tests/test-sys_stat.c: Likewise.
66652         * tests/test-sys_time.c: Likewise.
66653         * tests/test-sysexits.c: Likewise.
66654         * tests/test-time.c: Likewise.
66655         * tests/test-tls.c: Likewise.
66656         * tests/test-trunc.c: Likewise.
66657         * tests/test-truncf.c: Likewise.
66658         * tests/test-truncl.c: Likewise.
66659         * tests/test-unistd.c: Likewise.
66660         * tests/test-vasnprintf-posix.c: Likewise.
66661         * tests/test-vasnprintf-posix2.c: Likewise.
66662         * tests/test-vasnprintf.c: Likewise.
66663         * tests/test-vasprintf-posix.c: Likewise.
66664         * tests/test-vasprintf.c: Likewise.
66665         * tests/test-verify.c: Likewise.
66666         * tests/test-vfprintf-posix.c: Likewise.
66667         * tests/test-vprintf-posix.c: Likewise.
66668         * tests/test-vsnprintf-posix.c: Likewise.
66669         * tests/test-vsnprintf.c: Likewise.
66670         * tests/test-vsprintf-posix.c: Likewise.
66671         * tests/test-wchar.c: Likewise.
66672         * tests/test-wctype.c: Likewise.
66673         * tests/test-wcwidth.c: Likewise.
66674         * tests/test-xstrtol.c: Likewise.
66675         * tests/test-xvasprintf.c: Likewise.
66676         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
66677         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
66678         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
66679         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
66680         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
66681         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
66682         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
66683         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
66684         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
66685         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
66686         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
66687         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
66688         * tests/uniname/test-uninames.c: Likewise.
66689         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
66690         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
66691         * tests/unistdio/test-u16-printf1.h: Likewise.
66692         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
66693         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
66694         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
66695         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
66696         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
66697         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
66698         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
66699         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
66700         * tests/unistdio/test-u32-printf1.h: Likewise.
66701         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
66702         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
66703         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
66704         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
66705         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
66706         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
66707         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
66708         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
66709         * tests/unistdio/test-u8-printf1.h: Likewise.
66710         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
66711         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
66712         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
66713         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
66714         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
66715         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
66716         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
66717         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
66718         * tests/unistdio/test-ulc-printf1.h: Likewise.
66719         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
66720         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
66721         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
66722         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
66723         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
66724         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
66725         * tests/uniwidth/test-u16-strwidth.c: Likewise.
66726         * tests/uniwidth/test-u16-width.c: Likewise.
66727         * tests/uniwidth/test-u32-strwidth.c: Likewise.
66728         * tests/uniwidth/test-u32-width.c: Likewise.
66729         * tests/uniwidth/test-u8-strwidth.c: Likewise.
66730         * tests/uniwidth/test-u8-width.c: Likewise.
66731         * tests/uniwidth/test-uc_width.c: Likewise.
66732         * config/srclist-update: Likewise.
66733         (fixlicense): Update to GPLv3+.
66734
66735         Change copyright notice from LGPLv2.1+ to LGPLv3+.
66736         * tests/test-tsearch.c: Change copyright notice.
66737
66738         Change copyright notice from LGPLv2.0+ to LGPLv3+.
66739         * lib/c-strcaseeq.h: Change copyright notice.
66740         * lib/streq.h: Likewise.
66741         * lib/uniconv.h: Likewise.
66742         * lib/uniconv/u-conv-from-enc.h: Likewise.
66743         * lib/uniconv/u-conv-to-enc.h: Likewise.
66744         * lib/uniconv/u-strconv-from-enc.h: Likewise.
66745         * lib/uniconv/u-strconv-to-enc.h: Likewise.
66746         * lib/uniconv/u16-conv-from-enc.c: Likewise.
66747         * lib/uniconv/u16-conv-to-enc.c: Likewise.
66748         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
66749         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
66750         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
66751         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
66752         * lib/uniconv/u32-conv-from-enc.c: Likewise.
66753         * lib/uniconv/u32-conv-to-enc.c: Likewise.
66754         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
66755         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
66756         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
66757         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
66758         * lib/uniconv/u8-conv-from-enc.c: Likewise.
66759         * lib/uniconv/u8-conv-to-enc.c: Likewise.
66760         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
66761         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
66762         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
66763         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
66764         * lib/uniname.h: Likewise.
66765         * lib/uniname/uniname.c: Likewise.
66766         * lib/unistdio.h: Likewise.
66767         * lib/unistdio/u-asnprintf.h: Likewise.
66768         * lib/unistdio/u-asprintf.h: Likewise.
66769         * lib/unistdio/u-printf-args.c: Likewise.
66770         * lib/unistdio/u-printf-args.h: Likewise.
66771         * lib/unistdio/u-printf-parse.h: Likewise.
66772         * lib/unistdio/u-snprintf.h: Likewise.
66773         * lib/unistdio/u-sprintf.h: Likewise.
66774         * lib/unistdio/u-vasprintf.h: Likewise.
66775         * lib/unistdio/u-vsnprintf.h: Likewise.
66776         * lib/unistdio/u-vsprintf.h: Likewise.
66777         * lib/unistdio/u16-asnprintf.c: Likewise.
66778         * lib/unistdio/u16-asprintf.c: Likewise.
66779         * lib/unistdio/u16-printf-parse.c: Likewise.
66780         * lib/unistdio/u16-snprintf.c: Likewise.
66781         * lib/unistdio/u16-sprintf.c: Likewise.
66782         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
66783         * lib/unistdio/u16-u16-asprintf.c: Likewise.
66784         * lib/unistdio/u16-u16-snprintf.c: Likewise.
66785         * lib/unistdio/u16-u16-sprintf.c: Likewise.
66786         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
66787         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
66788         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
66789         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
66790         * lib/unistdio/u16-vasnprintf.c: Likewise.
66791         * lib/unistdio/u16-vasprintf.c: Likewise.
66792         * lib/unistdio/u16-vsnprintf.c: Likewise.
66793         * lib/unistdio/u16-vsprintf.c: Likewise.
66794         * lib/unistdio/u32-asnprintf.c: Likewise.
66795         * lib/unistdio/u32-asprintf.c: Likewise.
66796         * lib/unistdio/u32-printf-parse.c: Likewise.
66797         * lib/unistdio/u32-snprintf.c: Likewise.
66798         * lib/unistdio/u32-sprintf.c: Likewise.
66799         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
66800         * lib/unistdio/u32-u32-asprintf.c: Likewise.
66801         * lib/unistdio/u32-u32-snprintf.c: Likewise.
66802         * lib/unistdio/u32-u32-sprintf.c: Likewise.
66803         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
66804         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
66805         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
66806         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
66807         * lib/unistdio/u32-vasnprintf.c: Likewise.
66808         * lib/unistdio/u32-vasprintf.c: Likewise.
66809         * lib/unistdio/u32-vsnprintf.c: Likewise.
66810         * lib/unistdio/u32-vsprintf.c: Likewise.
66811         * lib/unistdio/u8-asnprintf.c: Likewise.
66812         * lib/unistdio/u8-asprintf.c: Likewise.
66813         * lib/unistdio/u8-printf-parse.c: Likewise.
66814         * lib/unistdio/u8-snprintf.c: Likewise.
66815         * lib/unistdio/u8-sprintf.c: Likewise.
66816         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
66817         * lib/unistdio/u8-u8-asprintf.c: Likewise.
66818         * lib/unistdio/u8-u8-snprintf.c: Likewise.
66819         * lib/unistdio/u8-u8-sprintf.c: Likewise.
66820         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
66821         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
66822         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
66823         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
66824         * lib/unistdio/u8-vasnprintf.c: Likewise.
66825         * lib/unistdio/u8-vasprintf.c: Likewise.
66826         * lib/unistdio/u8-vsnprintf.c: Likewise.
66827         * lib/unistdio/u8-vsprintf.c: Likewise.
66828         * lib/unistdio/ulc-asnprintf.c: Likewise.
66829         * lib/unistdio/ulc-asprintf.c: Likewise.
66830         * lib/unistdio/ulc-printf-parse.c: Likewise.
66831         * lib/unistdio/ulc-snprintf.c: Likewise.
66832         * lib/unistdio/ulc-sprintf.c: Likewise.
66833         * lib/unistdio/ulc-vasnprintf.c: Likewise.
66834         * lib/unistdio/ulc-vasprintf.c: Likewise.
66835         * lib/unistdio/ulc-vsnprintf.c: Likewise.
66836         * lib/unistdio/ulc-vsprintf.c: Likewise.
66837         * lib/unistr.h: Likewise.
66838         * lib/unistr/u-cpy-alloc.h: Likewise.
66839         * lib/unistr/u-cpy.h: Likewise.
66840         * lib/unistr/u-endswith.h: Likewise.
66841         * lib/unistr/u-move.h: Likewise.
66842         * lib/unistr/u-set.h: Likewise.
66843         * lib/unistr/u-startswith.h: Likewise.
66844         * lib/unistr/u-stpcpy.h: Likewise.
66845         * lib/unistr/u-stpncpy.h: Likewise.
66846         * lib/unistr/u-strcat.h: Likewise.
66847         * lib/unistr/u-strcpy.h: Likewise.
66848         * lib/unistr/u-strcspn.h: Likewise.
66849         * lib/unistr/u-strdup.h: Likewise.
66850         * lib/unistr/u-strlen.h: Likewise.
66851         * lib/unistr/u-strncat.h: Likewise.
66852         * lib/unistr/u-strncpy.h: Likewise.
66853         * lib/unistr/u-strnlen.h: Likewise.
66854         * lib/unistr/u-strpbrk.h: Likewise.
66855         * lib/unistr/u-strspn.h: Likewise.
66856         * lib/unistr/u-strstr.h: Likewise.
66857         * lib/unistr/u-strtok.h: Likewise.
66858         * lib/unistr/u16-check.c: Likewise.
66859         * lib/unistr/u16-chr.c: Likewise.
66860         * lib/unistr/u16-cmp.c: Likewise.
66861         * lib/unistr/u16-cpy-alloc.c: Likewise.
66862         * lib/unistr/u16-cpy.c: Likewise.
66863         * lib/unistr/u16-endswith.c: Likewise.
66864         * lib/unistr/u16-mblen.c: Likewise.
66865         * lib/unistr/u16-mbsnlen.c: Likewise.
66866         * lib/unistr/u16-mbtouc-aux.c: Likewise.
66867         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
66868         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
66869         * lib/unistr/u16-mbtouc.c: Likewise.
66870         * lib/unistr/u16-mbtoucr.c: Likewise.
66871         * lib/unistr/u16-move.c: Likewise.
66872         * lib/unistr/u16-next.c: Likewise.
66873         * lib/unistr/u16-prev.c: Likewise.
66874         * lib/unistr/u16-set.c: Likewise.
66875         * lib/unistr/u16-startswith.c: Likewise.
66876         * lib/unistr/u16-stpcpy.c: Likewise.
66877         * lib/unistr/u16-stpncpy.c: Likewise.
66878         * lib/unistr/u16-strcat.c: Likewise.
66879         * lib/unistr/u16-strchr.c: Likewise.
66880         * lib/unistr/u16-strcmp.c: Likewise.
66881         * lib/unistr/u16-strcpy.c: Likewise.
66882         * lib/unistr/u16-strcspn.c: Likewise.
66883         * lib/unistr/u16-strdup.c: Likewise.
66884         * lib/unistr/u16-strlen.c: Likewise.
66885         * lib/unistr/u16-strmblen.c: Likewise.
66886         * lib/unistr/u16-strmbtouc.c: Likewise.
66887         * lib/unistr/u16-strncat.c: Likewise.
66888         * lib/unistr/u16-strncmp.c: Likewise.
66889         * lib/unistr/u16-strncpy.c: Likewise.
66890         * lib/unistr/u16-strnlen.c: Likewise.
66891         * lib/unistr/u16-strpbrk.c: Likewise.
66892         * lib/unistr/u16-strrchr.c: Likewise.
66893         * lib/unistr/u16-strspn.c: Likewise.
66894         * lib/unistr/u16-strstr.c: Likewise.
66895         * lib/unistr/u16-strtok.c: Likewise.
66896         * lib/unistr/u16-to-u32.c: Likewise.
66897         * lib/unistr/u16-to-u8.c: Likewise.
66898         * lib/unistr/u16-uctomb-aux.c: Likewise.
66899         * lib/unistr/u16-uctomb.c: Likewise.
66900         * lib/unistr/u32-check.c: Likewise.
66901         * lib/unistr/u32-chr.c: Likewise.
66902         * lib/unistr/u32-cmp.c: Likewise.
66903         * lib/unistr/u32-cpy-alloc.c: Likewise.
66904         * lib/unistr/u32-cpy.c: Likewise.
66905         * lib/unistr/u32-endswith.c: Likewise.
66906         * lib/unistr/u32-mblen.c: Likewise.
66907         * lib/unistr/u32-mbsnlen.c: Likewise.
66908         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
66909         * lib/unistr/u32-mbtouc.c: Likewise.
66910         * lib/unistr/u32-mbtoucr.c: Likewise.
66911         * lib/unistr/u32-move.c: Likewise.
66912         * lib/unistr/u32-next.c: Likewise.
66913         * lib/unistr/u32-prev.c: Likewise.
66914         * lib/unistr/u32-set.c: Likewise.
66915         * lib/unistr/u32-startswith.c: Likewise.
66916         * lib/unistr/u32-stpcpy.c: Likewise.
66917         * lib/unistr/u32-stpncpy.c: Likewise.
66918         * lib/unistr/u32-strcat.c: Likewise.
66919         * lib/unistr/u32-strchr.c: Likewise.
66920         * lib/unistr/u32-strcmp.c: Likewise.
66921         * lib/unistr/u32-strcpy.c: Likewise.
66922         * lib/unistr/u32-strcspn.c: Likewise.
66923         * lib/unistr/u32-strdup.c: Likewise.
66924         * lib/unistr/u32-strlen.c: Likewise.
66925         * lib/unistr/u32-strmblen.c: Likewise.
66926         * lib/unistr/u32-strmbtouc.c: Likewise.
66927         * lib/unistr/u32-strncat.c: Likewise.
66928         * lib/unistr/u32-strncmp.c: Likewise.
66929         * lib/unistr/u32-strncpy.c: Likewise.
66930         * lib/unistr/u32-strnlen.c: Likewise.
66931         * lib/unistr/u32-strpbrk.c: Likewise.
66932         * lib/unistr/u32-strrchr.c: Likewise.
66933         * lib/unistr/u32-strspn.c: Likewise.
66934         * lib/unistr/u32-strstr.c: Likewise.
66935         * lib/unistr/u32-strtok.c: Likewise.
66936         * lib/unistr/u32-to-u16.c: Likewise.
66937         * lib/unistr/u32-to-u8.c: Likewise.
66938         * lib/unistr/u32-uctomb.c: Likewise.
66939         * lib/unistr/u8-check.c: Likewise.
66940         * lib/unistr/u8-chr.c: Likewise.
66941         * lib/unistr/u8-cmp.c: Likewise.
66942         * lib/unistr/u8-cpy-alloc.c: Likewise.
66943         * lib/unistr/u8-cpy.c: Likewise.
66944         * lib/unistr/u8-endswith.c: Likewise.
66945         * lib/unistr/u8-mblen.c: Likewise.
66946         * lib/unistr/u8-mbsnlen.c: Likewise.
66947         * lib/unistr/u8-mbtouc-aux.c: Likewise.
66948         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
66949         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
66950         * lib/unistr/u8-mbtouc.c: Likewise.
66951         * lib/unistr/u8-mbtoucr.c: Likewise.
66952         * lib/unistr/u8-move.c: Likewise.
66953         * lib/unistr/u8-next.c: Likewise.
66954         * lib/unistr/u8-prev.c: Likewise.
66955         * lib/unistr/u8-set.c: Likewise.
66956         * lib/unistr/u8-startswith.c: Likewise.
66957         * lib/unistr/u8-stpcpy.c: Likewise.
66958         * lib/unistr/u8-stpncpy.c: Likewise.
66959         * lib/unistr/u8-strcat.c: Likewise.
66960         * lib/unistr/u8-strchr.c: Likewise.
66961         * lib/unistr/u8-strcmp.c: Likewise.
66962         * lib/unistr/u8-strcpy.c: Likewise.
66963         * lib/unistr/u8-strcspn.c: Likewise.
66964         * lib/unistr/u8-strdup.c: Likewise.
66965         * lib/unistr/u8-strlen.c: Likewise.
66966         * lib/unistr/u8-strmblen.c: Likewise.
66967         * lib/unistr/u8-strmbtouc.c: Likewise.
66968         * lib/unistr/u8-strncat.c: Likewise.
66969         * lib/unistr/u8-strncmp.c: Likewise.
66970         * lib/unistr/u8-strncpy.c: Likewise.
66971         * lib/unistr/u8-strnlen.c: Likewise.
66972         * lib/unistr/u8-strpbrk.c: Likewise.
66973         * lib/unistr/u8-strrchr.c: Likewise.
66974         * lib/unistr/u8-strspn.c: Likewise.
66975         * lib/unistr/u8-strstr.c: Likewise.
66976         * lib/unistr/u8-strtok.c: Likewise.
66977         * lib/unistr/u8-to-u16.c: Likewise.
66978         * lib/unistr/u8-to-u32.c: Likewise.
66979         * lib/unistr/u8-uctomb-aux.c: Likewise.
66980         * lib/unistr/u8-uctomb.c: Likewise.
66981         * lib/unitypes.h: Likewise.
66982         * lib/uniwidth.h: Likewise.
66983         * lib/uniwidth/cjk.h: Likewise.
66984         * lib/uniwidth/u16-strwidth.c: Likewise.
66985         * lib/uniwidth/u16-width.c: Likewise.
66986         * lib/uniwidth/u32-strwidth.c: Likewise.
66987         * lib/uniwidth/u32-width.c: Likewise.
66988         * lib/uniwidth/u8-strwidth.c: Likewise.
66989         * lib/uniwidth/u8-width.c: Likewise.
66990         * lib/uniwidth/width.c: Likewise.
66991
66992 2007-10-07  Bruno Haible  <bruno@clisp.org>
66993
66994         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
66995         The file is still under LGPL (see modules/inttypes).
66996
66997 2007-10-06  Bruno Haible  <bruno@clisp.org>
66998
66999         * modules/trunc (Dependencies): Add 'extensions'.
67000         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
67001         Reported by Ben Pfaff <blp@gnu.org>.
67002
67003 2007-10-06  Bruno Haible  <bruno@clisp.org>
67004
67005         * modules/freopen-tests: New file.
67006         * tests/test-freopen.c: New file.
67007
67008         * modules/fopen-tests: New file.
67009         * tests/test-fopen.c: New file.
67010
67011         * modules/fopen: New file.
67012         * lib/fopen.c: New file.
67013         * m4/fopen.m4: New file.
67014         * modules/freopen: New file.
67015         * lib/freopen.c: New file.
67016         * m4/freopen.m4: New file.
67017         * lib/stdio.in.h (fopen, freopen): New declarations.
67018         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
67019         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
67020         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
67021         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
67022         * doc/functions/fopen.texi: Mention the 'fopen' module.
67023         * doc/functions/freopen.texi: Mention the 'freopen' module.
67024
67025 2007-10-06  Bruno Haible  <bruno@clisp.org>
67026
67027         * modules/open-tests: New file.
67028         * tests/test-open.c: New file.
67029
67030         * modules/open: New file.
67031         * lib/open.c: New file.
67032         * m4/open.m4: New file.
67033         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
67034         lib/open.c does.
67035         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
67036         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
67037         macros.
67038         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
67039         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
67040         REPLACE_OPEN.
67041         * doc/functions/open.texi: Mention the 'open' module.
67042
67043 2007-10-04  Bruno Haible  <bruno@clisp.org>
67044
67045         * modules/ceill-tests: New file.
67046         * tests/test-ceill.c: New file.
67047
67048         * modules/ceill: New file.
67049         * lib/ceill.c: Replace entire file.
67050         * m4/ceill.m4: New file.
67051         * lib/math.in.h (ceill): Replace declaration.
67052         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
67053         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
67054         * doc/functions/ceill.texi: Mention the 'ceill' module.
67055         * modules/mathl (Files): Remove lib/ceill.c.
67056         (Depends-on): Add ceill.
67057
67058 2007-10-04  Bruno Haible  <bruno@clisp.org>
67059
67060         * modules/ceilf-tests: New file.
67061         * tests/test-ceilf.c: New file.
67062
67063         * modules/ceilf: New file.
67064         * lib/ceil.c: New file.
67065         * lib/ceilf.c: New file.
67066         * m4/ceilf.m4: New file.
67067         * lib/math.in.h (ceilf): New declaration.
67068         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
67069         HAVE_DECL_CEILF.
67070         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
67071         HAVE_DECL_CEILF.
67072         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
67073
67074 2007-10-04  Bruno Haible  <bruno@clisp.org>
67075
67076         * modules/floorl-tests: New file.
67077         * tests/test-floorl.c: New file.
67078
67079         * modules/floorl: New file.
67080         * lib/floorl.c: Replace entire file.
67081         * m4/floorl.m4: New file.
67082         * lib/math.in.h (floorl): Replace declaration.
67083         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
67084         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
67085         * doc/functions/floorl.texi: Mention the 'floorl' module.
67086         * modules/mathl (Files): Remove lib/floorl.c.
67087         (Depends-on): Add floorl.
67088
67089 2007-10-04  Bruno Haible  <bruno@clisp.org>
67090
67091         * modules/floorf-tests: New file.
67092         * tests/test-floorf.c: New file.
67093
67094         * modules/floorf: New file.
67095         * lib/floor.c: New file.
67096         * lib/floorf.c: New file.
67097         * m4/floorf.m4: New file.
67098         * lib/math.in.h (floorf): New declaration.
67099         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
67100         HAVE_DECL_FLOORF.
67101         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
67102         HAVE_DECL_FLOORF.
67103         * doc/functions/floorf.texi: Mention the 'floorf' module.
67104
67105 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
67106             Bruno Haible  <bruno@clisp.org>
67107
67108         Advertise for the Git server instead of the CVS server.
67109         * doc/gnulib-intro.texi (Steady Development): Mention the Git
67110         repository instead of the CVS one.
67111         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
67112         about all VCS systems generically.
67113         * doc/gnulib.texi (Introduction): Capitalize `Git'.
67114
67115 2007-10-04  Bruno Haible  <bruno@clisp.org>
67116
67117         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
67118         means.
67119         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
67120
67121 2007-10-04  Bruno Haible  <bruno@clisp.org>
67122
67123         * modules/truncl-tests: New file.
67124         * tests/test-truncl.c: New file.
67125
67126         * modules/truncl: New file.
67127         * lib/truncl.c: New file.
67128         * m4/truncl.m4: New file.
67129         * lib/math.in.h (truncl): New declaration.
67130         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
67131         HAVE_DECL_TRUNCL.
67132         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
67133         HAVE_DECL_TRUNCL.
67134         * doc/functions/truncl.texi: Mention the 'truncl' module.
67135
67136 2007-10-04  Bruno Haible  <bruno@clisp.org>
67137
67138         * modules/truncf-tests: New file.
67139         * tests/test-truncf.c: New file.
67140
67141         * modules/truncf: New file.
67142         * lib/trunc.c: Make paramerizable through USE_* macros.
67143         * lib/truncf.c: New file.
67144         * m4/truncf.m4: New file.
67145         * lib/math.in.h (truncf): New declaration.
67146         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
67147         HAVE_DECL_TRUNCF.
67148         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
67149         HAVE_DECL_TRUNCF.
67150         * doc/functions/truncf.texi: Mention the 'truncf' module.
67151
67152 2007-10-03  Bruno Haible  <bruno@clisp.org>
67153
67154         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
67155         augmentation also for tests modules.
67156         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
67157         * modules/atexit-tests (Makefile.am): Likewise.
67158         * modules/binary-io-tests (Makefile.am): Likewise.
67159         * modules/c-strcase-tests (Makefile.am): Likewise.
67160         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
67161         * modules/canonicalize-tests (Makefile.am): Likewise.
67162         * modules/closein-tests (Makefile.am): Likewise.
67163         * modules/fprintf-posix-tests (Makefile.am): Likewise.
67164         * modules/freadahead-tests (Makefile.am): Likewise.
67165         * modules/fseek-tests (Makefile.am): Likewise.
67166         * modules/fseeko-tests (Makefile.am): Likewise.
67167         * modules/ftell-tests (Makefile.am): Likewise.
67168         * modules/ftello-tests (Makefile.am): Likewise.
67169         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
67170         * modules/isnanl-tests (Makefile.am): Likewise.
67171         * modules/lseek-tests (Makefile.am): Likewise.
67172         * modules/mbscasecmp-tests (Makefile.am): Likewise.
67173         * modules/mbscasestr-tests (Makefile.am): Likewise.
67174         * modules/mbschr-tests (Makefile.am): Likewise.
67175         * modules/mbscspn-tests (Makefile.am): Likewise.
67176         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
67177         * modules/mbspbrk-tests (Makefile.am): Likewise.
67178         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
67179         * modules/mbsrchr-tests (Makefile.am): Likewise.
67180         * modules/mbsspn-tests (Makefile.am): Likewise.
67181         * modules/mbsstr-tests (Makefile.am): Likewise.
67182         * modules/printf-posix-tests (Makefile.am): Likewise.
67183         * modules/snprintf-posix-tests (Makefile.am): Likewise.
67184         * modules/sprintf-posix-tests (Makefile.am): Likewise.
67185         * modules/tsearch-tests (Makefile.am): Likewise.
67186         * modules/uniname/uniname-tests (Makefile.am): Likewise.
67187         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
67188         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
67189         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
67190         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
67191         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
67192         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
67193         * modules/vprintf-posix-tests (Makefile.am): Likewise.
67194         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
67195         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
67196         * modules/xstrtoimax-tests (Makefile.am): Likewise.
67197         * modules/xstrtol-tests (Makefile.am): Likewise.
67198         * modules/xstrtoumax-tests (Makefile.am): Likewise.
67199         * modules/yesno-tests (Makefile.am): Likewise.
67200
67201 2007-10-03  Bruno Haible  <bruno@clisp.org>
67202
67203         * modules/trunc-tests: New file.
67204         * tests/test-trunc.c: New file.
67205
67206         * modules/trunc: New file.
67207         * lib/trunc.c: New file.
67208         * m4/trunc.m4: New file.
67209         * lib/math.in.h (trunc): New declaration.
67210         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
67211         HAVE_DECL_TRUNC.
67212         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
67213         HAVE_DECL_TRUNC.
67214         * doc/functions/trunc.texi: Mention the 'trunc' module.
67215
67216 2007-10-03  Bruno Haible  <bruno@clisp.org>
67217
67218         * tests/test-fpending.c: New file, mostly copied
67219         from coreutils/lib/t-fpending.c.
67220         * modules/fpending-tests: New file.
67221
67222 2007-10-03  Bruno Haible  <bruno@clisp.org>
67223
67224         Port the stdio extensions to QNX (untested).
67225         * lib/fseterr.c (fseterr): Add support for QNX.
67226         * lib/fbufmode.c (fbufmode): Likewise.
67227         * lib/freadable.c (freadable): Likewise.
67228         * lib/fwritable.c (fwritable): Likewise.
67229         * lib/freading.c (freading): Likewise.
67230         * lib/fwriting.c (fwriting): Likewise.
67231         * lib/freadahead.c (freadahed): Likewise.
67232         * lib/fpurge.c (fpurge): Likewise.
67233         * lib/fseeko.c (rpl_fseeko): Likewise.
67234
67235 2007-10-03  Bruno Haible  <bruno@clisp.org>
67236             Jim Meyering  <jim@meyering.net>
67237             Eric Blake  <ebb9@byu.net>
67238
67239         * doc/relocatable.texi: Use @command instead of @program.
67240
67241 2007-10-02  Jim Meyering  <jim@meyering.net>
67242
67243         Perform one more "_.h" -> ".in.h" substitution.
67244         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
67245         instead of unistd_.h here, too.
67246
67247 2007-10-01  Bruno Haible  <bruno@clisp.org>
67248
67249         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
67250         Needed for the alloca-opt module.
67251
67252 2007-09-30  Bruno Haible  <bruno@clisp.org>
67253
67254         * lib/alloca.in.h: Renamed from lib/alloca_.h.
67255         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
67256         alloca_.h.
67257         * lib/argz.in.h: Renamed from lib/argz_.h.
67258         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
67259         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
67260         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
67261         byteswap_.h.
67262         * lib/dirent.in.h: Renamed from lib/dirent_.h.
67263         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
67264         dirent_.h.
67265         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
67266         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
67267         fcntl_.h.
67268         * lib/float.in.h: Renamed from lib/float_.h.
67269         * modules/float (Files, Makefile.am): Use float.in.h instead of
67270         float_.h.
67271         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
67272         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
67273         fnmatch_.h.
67274         * lib/getopt.in.h: Renamed from lib/getopt_.h.
67275         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
67276         getopt_.h.
67277         * lib/glob.in.h: Renamed from lib/glob_.h.
67278         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
67279         * lib/iconv.in.h: Renamed from lib/iconv_.h.
67280         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
67281         iconv_.h.
67282         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
67283         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
67284         inttypes_.h.
67285         * lib/locale.in.h: Renamed from lib/locale_.h.
67286         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
67287         locale_.h.
67288         * lib/math.in.h: Renamed from lib/math_.h.
67289         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
67290         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
67291         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
67292         of netinet_in_.h. Add dependency.
67293         * lib/poll.in.h: Renamed from lib/poll_.h.
67294         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
67295         * lib/search.in.h: Renamed from lib/search_.h.
67296         * modules/search (Files, Makefile.am): Use search.in.h instead of
67297         search_.h.
67298         * lib/signal.in.h: Renamed from lib/signal_.h.
67299         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
67300         _signal.h.
67301         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
67302         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
67303         stdbool_.h.
67304         * lib/stdint.in.h: Renamed from lib/stdint_.h.
67305         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
67306         stdint_.h.
67307         * lib/stdio.in.h: Renamed from lib/stdio_.h.
67308         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
67309         stdio_.h.
67310         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
67311         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
67312         stdlib_.h.
67313         * lib/string.in.h: Renamed from lib/string_.h.
67314         * modules/string (Files, Makefile.am): Use string.in.h instead of
67315         string_.h.
67316         * doc/gnulib-tool.texi (Initial import): Update.
67317         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
67318         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
67319         of sys_select_.h. Add dependency.
67320         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
67321         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
67322         of sys_socket_.h.
67323         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
67324         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
67325         sys_stat_.h.
67326         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
67327         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
67328         sys_time_.h.
67329         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
67330         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
67331         sysexits_.h.
67332         * lib/time.in.h: Renamed from lib/time_.h.
67333         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
67334         * lib/unistd.in.h: Renamed from lib/unistd_.h.
67335         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
67336         unistd_.h.
67337         * lib/wchar.in.h: Renamed from lib/wchar_.h.
67338         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
67339         wchar_.h.
67340         * lib/wctype.in.h: Renamed from lib/wctype_.h.
67341         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
67342         wctype_.h.
67343         * build-aux/bootstrap (slurp): Update.
67344         * lib/.cppi-disable: Update.
67345
67346 2007-09-30  Bruno Haible  <bruno@clisp.org>
67347
67348         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
67349         Needed on BeOS.
67350
67351 2007-09-30  Bruno Haible  <bruno@clisp.org>
67352
67353         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
67354
67355 2007-09-29  Bruno Haible  <bruno@clisp.org>
67356
67357         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
67358
67359 2007-09-29  Bruno Haible  <bruno@clisp.org>
67360
67361         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
67362         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
67363         * build-aux/install-reloc: Compile also areadlink.c.
67364         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
67365
67366 2007-09-29  Bruno Haible  <bruno@clisp.org>
67367
67368         * gnulib-tool (func_emit_initmacro_done): Indentation.
67369
67370 2007-09-29  Bruno Haible  <bruno@clisp.org>
67371
67372         * README: Add CVS checkout update instructions.
67373         Info from Bob Proulx <bob@proulx.com>.
67374
67375 2007-09-28  Eric Blake  <ebb9@byu.net>
67376
67377         Provide move-if-change.
67378         * build-aux/move-if-change: New file, based on best practice
67379         rather than any canonical upstream location.
67380
67381 2007-09-28  Jim Meyering  <jim@meyering.net>
67382
67383         Fix canonicalize loop-detection corner case.
67384         Do not attempt to stat the symlink values stored via seen_triple.
67385         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
67386         on linux-2.6.18, (but not 2.6.22).
67387         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
67388         triple_compare.  The former compares dev,ino,filename, while the latter
67389         would actually stat dirname(filename) when dev and ino were equal.
67390         * lib/hash-triple.c: Install <string.h>.
67391         (STREQ): Define.
67392         (triple_compare_ino_str): New function.
67393         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
67394
67395 2007-09-28  Eric Blake  <ebb9@byu.net>
67396
67397         Enforce that AC_REPLACE_FUNCS files exist.
67398         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
67399         override check for typos.
67400
67401         Fix test-closein on Solaris 10.
67402         * tests/test-closein.c (main): Don't assume stdin can be inherited
67403         closed on all systems.
67404         * tests/test-closein.sh: Likewise.
67405         Reported by Piotr Tarnowski.
67406
67407 2007-09-28  Jim Meyering  <jim@meyering.net>
67408
67409         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
67410
67411 2007-09-27  Jim Meyering  <jim@meyering.net>
67412
67413         canonicalize: Avoid a false-positive cycle failure.
67414         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
67415         Sort.  Remove cycle-check.
67416         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
67417         not cycle-check.h.
67418         (seen_triple): New function.
67419         (canonicalize_filename_mode): Use it instead of cycle-check.
67420         * tests/test-canonicalize.c: Add a test for this bug.
67421         * tests/test-canonicalize.sh: Set up and run the test.
67422
67423         New module, file-set, from coreutils.
67424         * modules/file-set: Define it.
67425         * lib/file-set.c, lib/file-set.h: Implement.
67426
67427         New module, hash-triple, from coreutils.
67428         * modules/hash-triple: Define it.
67429         * lib/hash-triple.c, lib/hash-triple.h: Implement.
67430
67431 2007-09-25  Eric Blake  <ebb9@byu.net>
67432
67433         Fix strerror on Interix.
67434         * lib/string_.h (strerror): Declare replacement.
67435         * doc/functions/strerror.texi (strerror): Document the Interix
67436         shortcoming.
67437         * modules/string (Makefile.am): Support new hooks.
67438         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
67439         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
67440         gl_FUNC_STRERROR_SEPARATE.
67441         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
67442         * lib/strerror.c (rpl_strerror): Provide replacement.
67443         * modules/strerror (Depends-on): Add string.
67444         (configure.ac): Detect use of module.
67445         * tests/test-strerror.c: New file.
67446         * modules/strerror-tests: New test module.
67447         * modules/argp (Depends-on): Add strerror.
67448         * modules/error (Depends-on): Likewise.
67449         Reported by Martin Koeppe.
67450
67451 2007-09-24  Bruno Haible  <bruno@clisp.org>
67452
67453         * README: Update git instructions.
67454
67455 2007-09-24  Eric Blake  <ebb9@byu.net>
67456
67457         Revert fpending breakage from 2007-09-08.
67458         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
67459         __fpending.c.
67460
67461 2007-09-24  Jim Meyering  <jim@meyering.net>
67462
67463         filenamecat.c: Add a test.
67464         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
67465         showing how the function works when DIR is the empty string.
67466
67467 2007-09-21  Simon Josefsson  <simon@josefsson.org>
67468
67469         * tests/test-canonicalize.sh: Turn on executable bit.
67470
67471 2007-09-19  Eric Blake  <ebb9@byu.net>
67472
67473         * README: Update CVS instructions.
67474
67475 2007-09-18  Bruno Haible  <bruno@clisp.org>
67476
67477         * modules/areadlink: New file.
67478         * lib/areadlink.h (areadlink): New declaration.
67479         * lib/areadlink.c: New file, based on lib/xreadlink.c.
67480
67481 2007-09-17  Jim Meyering  <jim@meyering.net>
67482
67483         * lib/savewd.c (ESTALE) [!defined]: Define.
67484         Reported to be required on Interix by Martin Koeppe.
67485
67486 2007-09-17  Bruno Haible  <bruno@clisp.org>
67487
67488         * gnulib-tool (func_version): Use $version.
67489
67490 2007-09-16  Bruno Haible  <bruno@clisp.org>
67491
67492         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
67493         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
67494         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
67495         Reported by Greg Schafer <gschafer@zip.com.au>.
67496
67497 2007-09-15  Bruno Haible  <bruno@clisp.org>
67498
67499         * gnulib-tool (sed): Try a little harder to make bash understand the
67500         alias.
67501         Reported by Bruce Korb <bruce.korb@gmail.com>.
67502
67503 2007-09-13  Eric Blake  <ebb9@byu.net>
67504
67505         * ChangeLog: Remove conflict markers.
67506
67507 2007-09-13  Simon Josefsson  <simon@josefsson.org>
67508
67509         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
67510         Reported by Bruno Haible <bruno@clisp.org>.
67511
67512 2007-09-12  Bruno Haible  <bruno@clisp.org>
67513
67514         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
67515         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
67516         is not defined.
67517
67518 2007-09-12  Eric Blake  <ebb9@byu.net>
67519
67520         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
67521         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
67522         Autoconf definition.
67523         * modules/euidaccess (Depends-on): Add extensions, for
67524         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
67525         * modules/fnmatch (Depends-on): Likewise.
67526         * modules/getaddrinfo (Depends-on): Likewise.
67527         * modules/getdelim (Depends-on): Likewise.
67528         * modules/getline (Depends-on): Likewise.
67529         * modules/getsubopt (Depends-on): Likewise.
67530         * modules/gettext (Depends-on): Likewise.
67531         * modules/group-member (Depends-on): Likewise.
67532         * modules/mbchar (Depends-on): Likewise.
67533         * modules/memmem (Depends-on): Likewise.
67534         * modules/mempcpy (Depends-on): Likewise.
67535         * modules/memrchr (Depends-on): Likewise.
67536         * modules/pagealign_alloc (Depends-on): Likewise.
67537         * modules/readutmp (Depends-on): Likewise.
67538         * modules/stpcpy (Depends-on): Likewise.
67539         * modules/stpncpy (Depends-on): Likewise.
67540         * modules/strchrnul (Depends-on): Likewise.
67541         * modules/strndup (Depends-on): Likewise.
67542         * modules/strsep (Depends-on): Likewise.
67543         * modules/strverscmp (Depends-on): Likewise.
67544         * modules/vasprintf (Depends-on): Likewise.
67545         * modules/wcwidth (Depends-on): Likewise.
67546         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
67547         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
67548         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
67549         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
67550         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
67551         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
67552         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
67553         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
67554         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
67555         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
67556         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
67557         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
67558         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
67559         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
67560         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
67561         * m4/readutmp.m4 (gl_READUTMP): Likewise.
67562         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
67563         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
67564         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
67565         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
67566         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
67567         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
67568         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
67569         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
67570         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
67571         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
67572         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
67573         so that lock.m4 can be used in gettext without extensions module.
67574
67575 2007-09-11  Bruno Haible  <bruno@clisp.org>
67576
67577         * m4/isc-posix.m4: Remove file.
67578         Suggested by Eric Blake.
67579
67580 2007-09-11  Eric Blake  <ebb9@byu.net>
67581
67582         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
67583
67584 2007-09-10  Bruno Haible  <bruno@clisp.org>
67585
67586         * posix-modules: Fix typo in error message.
67587         Reported by Matt <mkraai@beckman.com>.
67588
67589 2007-09-09  Bruno Haible  <bruno@clisp.org>
67590
67591         * doc/functions/getdelim.texi: Update list of platforms lacking the
67592         function.
67593         * doc/functions/getline.texi: Likewise.
67594
67595 2007-09-09  Jim Meyering  <jim@meyering.net>
67596
67597         * lib/hash.c (hash_initialize): Detect calloc failure.
67598         Reported by Bruno Haible.
67599
67600 2007-09-09  Bruno Haible  <bruno@clisp.org>
67601
67602         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
67603         malloc or realloc fails.
67604
67605 2007-09-09  Bruno Haible  <bruno@clisp.org>
67606
67607         * modules/getcwd (Depends-on): Add malloc-posix.
67608         * modules/glob (Depends-on): Likewise.
67609         * modules/putenv (Depends-on): Likewise.
67610         * modules/strdup (Depends-on): Likewise.
67611         * modules/getdelim (Depends-on): Add realloc-posix.
67612         * modules/read-file (Depends-on): Likewise.
67613
67614 2007-09-09  Bruno Haible  <bruno@clisp.org>
67615
67616         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
67617         (gl_FUNC_MALLOC_POSIX): Require it.
67618         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
67619         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
67620         * modules/realloc (Files): Add m4/malloc.m4.
67621         * modules/calloc (Files): Likewise.
67622
67623 2007-09-09  Bruno Haible  <bruno@clisp.org>
67624
67625         * modules/malloc-posix: New file.
67626         * modules/malloc (Depends-on): Add malloc-posix.
67627         * lib/malloc.c: Include errno.h.
67628         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
67629         and a POSIX-compatible malloc into a single function. Set ENOMEM
67630         when returning NULL.
67631         * m4/malloc.m4: New file.
67632         * doc/functions/malloc.texi: Mention the malloc-posix module.
67633         * lib/stdlib_.h (malloc): New declaration.
67634         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67635         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
67636         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
67637         and HAVE_MALLOC_POSIX.
67638
67639 2007-09-09  Bruno Haible  <bruno@clisp.org>
67640
67641         * modules/realloc-posix: New file.
67642         * modules/realloc (Depends-on): Add realloc-posix.
67643         * lib/realloc.c: Include errno.h.
67644         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
67645         and a POSIX-compatible realloc into a single function. Set ENOMEM
67646         when returning NULL.
67647         * m4/realloc.m4: New file.
67648         * doc/functions/realloc.texi: Mention the realloc-posix module.
67649         * lib/stdlib_.h (realloc): New declaration.
67650         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67651         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
67652         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
67653         and HAVE_REALLOC_POSIX.
67654
67655 2007-09-09  Bruno Haible  <bruno@clisp.org>
67656
67657         * modules/calloc-posix: New file.
67658         * modules/calloc (Depends-on): Add calloc-posix.
67659         * lib/calloc.c: Include errno.h.
67660         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
67661         and a POSIX-compatible calloc into a single function. Set ENOMEM
67662         when returning NULL.
67663         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
67664         * doc/functions/calloc.texi: Mention the calloc-posix module.
67665         * lib/stdlib_.h (calloc): New declaration.
67666         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67667         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
67668         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
67669         and HAVE_CALLOC_POSIX.
67670
67671 2007-09-09  Bruno Haible  <bruno@clisp.org>
67672
67673         Allow for modules to show an arbitrary notice.
67674         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
67675         * gnulib-tool: New option --extract-notice.
67676         (func_usage): Document it.
67677         (sed_extract_prog): Update.
67678         (func_get_notice): New function.
67679         (func_modules_notice): New function.
67680         (func_import, func_create_testdir): Invoke it.
67681         Suggested by Jim Meyering.
67682
67683 2007-09-09  Bruno Haible  <bruno@clisp.org>
67684
67685         * gnulib-tool: New options --verbose, --quiet.
67686         (func_usage): Document them.
67687         (verbose): New variable.
67688         (func_execute_command): New function.
67689         (func_import): Don't show the module list and the file list if
67690         $verbose < 0.
67691         (func_create_testdir): Likewise. Use func_execute_command.
67692         (func_create_megatestdir): Use func_execute_command.
67693
67694 2007-09-08  Bruno Haible  <bruno@clisp.org>
67695
67696         * gnulib-tool (func_import): Prefer rsync over wget when available,
67697         for fetching the PO files.
67698
67699 2007-09-08  Bruno Haible  <bruno@clisp.org>
67700
67701         * posix-modules: New file. Portions copied from gnulib-tool.
67702         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
67703
67704 2007-09-08  Jim Meyering  <jim@meyering.net>
67705
67706         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
67707         * lib/fpending.h: Rename from __fpending.h.
67708         * lib/fpending.c: Rename from __fpending.c.
67709         Include "fpending.h", not "__fpending.h".
67710         * lib/__fpending.h, lib/__fpending.c: Remove files.
67711         * modules/fpending (Files): Reflect new file names.
67712         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
67713
67714 2007-09-08  Bruno Haible  <bruno@clisp.org>
67715
67716         * m4/inttypes-h.m4: Remove stub file.
67717
67718 2007-09-07  Simon Josefsson  <simon@josefsson.org>
67719
67720         * doc/headers/stdint.texi: Discuss #include_next issue.
67721
67722 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
67723
67724         * build-aux/bootstrap: Remove obsolete comment about wget --help.
67725
67726 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67727
67728         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
67729         in variable name.
67730
67731 2007-09-03  Jim Meyering  <jim@meyering.net>
67732
67733         New module: git-version-gen.
67734         * modules/git-version-gen: New file.
67735
67736         Import changes from coreutils for bootstrap script.
67737
67738         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
67739
67740         bootstrap: uses rsync to download the .po files
67741         * build-aux/bootstrap (po_download_command_format): New global.
67742         (download_po_files): Use rsync.
67743         (update_po_files): Don't remove .po files after download,
67744         so future rsync runs can take advantage of the copies.
67745
67746         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
67747
67748         Solve the unnecessary-.po-file-regeneration problem once and for all.
67749         * build-aux/bootstrap (download_po_files): New function, renamed from
67750         get_translations.  Now, downloads, but doesn't update LINGUAS.
67751         (update_po_files): New function.
67752
67753         bootstrap: Ignore more.
67754         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
67755         uniwidth to e.g., lib/.gitignore.
67756         (slurp): Handle the sys_stat_.h -> sys mapping, too.
67757
67758         * build-aux/bootstrap: New setting: vc_ignore.
67759         (insert_sorted_if_absent): Create $file if absent.
67760         Adapt to new, possibly empty, list: $vc_ignore.
67761
67762         bootstrap: generate more ignorable names
67763         * build-aux/bootstrap (slurp): When generating ignorable names,
67764         also map .sin to .sed, .gperf to .c, and .y to .c.
67765
67766 2007-09-03  Jim Meyering  <jim@meyering.net>
67767
67768         * build-aux/git-version-gen: New file, from coreutils.  For details, see
67769         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
67770
67771 2007-09-02  Bruno Haible  <bruno@clisp.org>
67772
67773         Fix mis-recognition of 'mcs' on QNX 6.
67774         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
67775         output contains the string "Mono".
67776         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
67777         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
67778
67779 2007-09-01  Bruno Haible  <bruno@clisp.org>
67780
67781         Fix collision between uniwidth/* and linebreak modules.
67782         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
67783         u32_width): Remove declarations.
67784         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
67785         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
67786         streq3, streq2, streq1, streq0): Remove functions.
67787         (STREQ): Remove macro.
67788         (is_cjk_encoding): Remove function.
67789         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
67790         (uc_width, u8_width, u16_width, u32_width): Remove functions.
67791         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
67792         * NEWS: Document the change.
67793
67794 2007-09-01  Bruno Haible  <bruno@clisp.org>
67795
67796         * lib/streq.h: Add double-inclusion guard.
67797
67798 2007-09-01  Karl Berry  <karl@gnu.org>
67799
67800         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
67801
67802 2007-08-28  Jim Meyering  <jim@meyering.net>
67803
67804         Rename mreadlink_with_size to areadlink_with_size.
67805         * NEWS: Document the change.
67806         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
67807         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
67808         * lib/mreadlink.h: Rename this to...
67809         * lib/areadlink.h: ...this.
67810         * modules/mreadlink-with-size: Rename this to...
67811         * modules/areadlink-with-size: ...this.
67812         * lib/canonicalize.c: Reflect the renaming.
67813         * modules/canonicalize: Likewise.
67814
67815 2007-08-26  Bruno Haible  <bruno@clisp.org>
67816
67817         * gnulib-tool (func_import): When deciding which files to remove,
67818         consider also dangling symbolic links.
67819         Reported by Eric Blake.
67820
67821 2007-08-26  Bruno Haible  <bruno@clisp.org>
67822
67823         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
67824
67825 2007-08-23  Simon Josefsson  <simon@josefsson.org>
67826
67827         * lib/readline.c: Don't include getline.h, the prototype is now
67828         found in stdio.h.
67829
67830 2007-08-23  Jim Meyering  <jim@meyering.net>
67831
67832         Getdelim touchup.
67833         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
67834         around the funlockfile call, since funlockfile never sets errno.
67835         Don't set errno upon failed realloc.
67836
67837 2007-08-22  Eric Blake  <ebb9@byu.net>
67838
67839         Getline touchups.
67840         * lib/getdelim.c (getdelim): Revert regression that required *n to
67841         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
67842         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
67843         getdelim, rather than whether implementation is missing.
67844         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
67845         * lib/stdio_.h (getline): Also declare if replacement is
67846         required.
67847         * doc/functions/getdelim.texi: New file.
67848         * doc/functions/getline.texi: Likewise.
67849         * doc/gnulib.texi (Function Substitutes): Add new files.
67850         Reported by Bruno Haible.
67851
67852 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
67853
67854         * users.txt: Add Guile.
67855
67856 2007-08-22  Eric Blake  <ebb9@byu.net>
67857
67858         * tests/test-getdelim.c (main): Use remove, not unlink.
67859         * tests/test-getline.c (main): Likewise.
67860
67861         Move getline and getdelim into stdio.h, per POSIX 200x.
67862         * modules/getline (Files): Remove getline.h.
67863         (Depends-on): Add stdio.
67864         (configure.ac): Add module indicator.
67865         * modules/getdelim (Files): Remove getdelim.h.
67866         (Depends-on): Add stdio.
67867         (configure.ac): Add module indicator.
67868         * modules/stdio (Makefile.am): Work with new indicators.
67869         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
67870         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
67871         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
67872         * lib/getdelim.h: Delete.
67873         * lib/getline.h: Delete.
67874         * lib/stdio_.h (getdelim, getline): Declare.
67875         * modules/getdelim-tests: New module.
67876         * modules/getline-tests: Likewise.
67877         * tests/test-getdelim.c: New file.
67878         * tests/test-getline.c: Likewise.
67879         * NEWS: Document the change.
67880         * lib/getline.c: Update choice of header.
67881         * lib/csharpcomp.c: Likewise.
67882         * lib/getpass.c: Likewise.
67883         * lib/javacomp.c: Likewise.
67884         * lib/javaversion.c: Likewise.
67885         * lib/yesno.c: Likewise.
67886         * lib/getdelim.c: Likewise.
67887         (getdelim): Set errno on failure, and avoid memory leak.
67888
67889 2007-08-19  Bruno Haible  <bruno@clisp.org>
67890
67891         * modules/closein (Depends-on): Add freadahead.
67892         * lib/closein.c: Include freadahead.h.
67893         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
67894         is zero.
67895
67896 2007-08-19  Bruno Haible  <bruno@clisp.org>
67897
67898         * modules/freadahead-tests: New file.
67899         * tests/test-freadahead.sh: New file.
67900         * tests/test-freadahead.c: New file.
67901
67902         * modules/freadahead: New file.
67903         * lib/freadahead.h: New file.
67904         * lib/freadahead.c: New file.
67905         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
67906         fbufmode, fpurge, freadable, fwritable.
67907
67908 2007-08-19  Eric Blake  <ebb9@byu.net>
67909
67910         Test yesno in combination with closein.
67911         * lib/yesno.c (yesno): Document use of stdin.
67912         * modules/yesno-tests (Files): New module.
67913         * tests/test-yesno.c (main): New file.
67914         * tests/test-yesno.sh: Likewise.
67915
67916 2007-08-19  Bruno Haible  <bruno@clisp.org>
67917
67918         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
67919         * lib/fseeko.c (rpl_fseeko): Likewise.
67920         * lib/fseterr.c (fseterr): Likewise.
67921
67922 2007-08-19  Bruno Haible  <bruno@clisp.org>
67923
67924         * tests/test-lseek.c (main): Disable a test for BeOS.
67925         * doc/functions/lseek.texi: Document the BeOS bug.
67926
67927 2007-08-19  Bruno Haible  <bruno@clisp.org>
67928             Eric Blake  <ebb9@byu.net>
67929
67930         * lib/lseek.c: Include <sys/stat.h>.
67931         (rpl_lseek): Add workaround code also for Unix platforms.
67932         Needed for BeOS.
67933         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
67934         * doc/functions/lseek.texi: Document BeOS definiency.
67935
67936 2007-08-18  Bruno Haible  <bruno@clisp.org>
67937
67938         * modules/fstrcmp-tests: New file.
67939         * tests/test-fstrcmp.c: New file.
67940
67941 2007-08-18  Bruno Haible  <bruno@clisp.org>
67942
67943         * modules/fstrcmp: New file, from GNU gettext with modifications.
67944         * lib/fstrcmp.h: New file, from GNU gettext.
67945         * lib/fstrcmp.c: New file, from GNU gettext.
67946         * MODULES.html.sh (String handling): Add fstrcmp.
67947
67948 2007-08-18  Bruno Haible  <bruno@clisp.org>
67949
67950         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
67951         'bool'.
67952         (diag, compareseq): Remove const from the ctxt argument.
67953         (USE_HEURISTIC): Undefine at the end.
67954
67955 2007-08-18  Jim Meyering  <jim@meyering.net>
67956
67957         New file: lib/idcache.h
67958         * NEWS: Mention the addition.
67959         * modules/idcache (Files): Add lib/idcache.h
67960         * lib/idcache.c: Include "idcache.h".
67961         Don't include <sys/types.h>.
67962         Add a FIXME comment.
67963         Move file-scoped "static" declarations to the top.
67964         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
67965
67966 2007-08-17  Bruno Haible  <bruno@clisp.org>
67967         and Paul Eggert  <eggert@cs.ucla.edu>
67968
67969         * MODULES.html.sh: Add diffseq.
67970         * modules/diffseq: New file.
67971         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
67972         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
67973
67974 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67975
67976         Import changes from coreutils for bootstrap script.
67977
67978         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
67979
67980         * build-aux/bootstrap (slurp): Work even in environments where
67981         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
67982         current code does not slurp files whose names start with ".", and
67983         this looks like it might be a troublesome area.
67984
67985         2007-07-11  Jim Meyering  <jim@meyering.net>
67986
67987         If there's a GPL vN copyright comment, require that N == 3.
67988
67989         2007-07-08  Jim Meyering  <jim@meyering.net>
67990
67991         Run the coreutils-specific code only if tests/Makefile.am.in exists.
67992         * build-aux/bootstrap (mam_template): Move definition out of loop.
67993
67994         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
67995
67996         * build-aux/bootstrap (symlink_to_dir): Rename function from
67997         symlink_to_gnulib.  Add a directory parameter.  Update all
67998         callers.
67999         (cp_mark_as_generated): Also check for -- and link to -- files in
68000         gl/.
68001
68002         2007-07-08  Jim Meyering  <jim@meyering.net>
68003
68004         Adapt to deeper hierarchy in gnulib.
68005         * build-aux/bootstrap (symlink_to_dir): If the destination
68006         directory doesn't exist, create it. This is required at least for
68007         "lib/uniwidth/cjk.h".
68008
68009         2007-05-15  Jim Meyering  <jim@meyering.net>
68010
68011         * build-aux/bootstrap: Now that generated Makefile.am files
68012         are no longer under version control, they must be created at
68013         bootstrap time.
68014
68015 2007-08-14  Ben Pfaff  <blp@gnu.org>
68016
68017         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
68018
68019 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
68020
68021         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
68022         given the changes below.
68023         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
68024         even on hosts that have padding bits beyond the supported 64.
68025
68026 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
68027
68028         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
68029         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
68030         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
68031         depends on it.
68032         (xstrtol_error): Remove.
68033         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
68034         but with a different signature.
68035         (ATTRIBUTE_NORETURN, __attribute__): New macros.
68036         * lib/xstrtol-error.c: Include exitfail.h.
68037         (xstrtol_fatal): New function, with a different signature from the
68038         old xstrtol_error, so that the caller need not worry about passing
68039         in an exit status, or about storage management of the option argument.
68040         (xstrtol_error): Now a static function.  Redo signature to
68041         implement xstrtol_fatal.  Output the correct number of hyphens in
68042         front of the option so that the caller need not worry about
68043         storage management.
68044         (N_): New macro.
68045         (_): Remove; not used now.
68046         * modules/xstrtol: Depend on getopt.
68047         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
68048         of old STRTOL_FATAL_ERROR macro.
68049         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
68050         of test program.
68051         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
68052         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
68053
68054 2007-08-08  Eric Blake  <ebb9@byu.net>
68055
68056         * lib/xstrtol-error.c: Add missing include.
68057
68058         Move xstrtol messages into gnulib domain, when --pobase is used.
68059         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
68060         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
68061         * modules/xstrtol (Files): Distribute new file.
68062         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
68063         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
68064         * tests/test-xstrtol.c: ...into new file.
68065         * tests/test-xstrtoul.c: Also test xstrtoul.
68066         * tests/test-xstrtoimax.c: Also test xstrtoimax.
68067         * tests/test-xstrtoumax.c: Also test xstrtoumax.
68068         * tests/test-xstrtol.sh: Drive the tests.
68069         * tests/test-xstrtoimax.sh: Likewise.
68070         * tests/test-xstrtoumax.sh: Likewise.
68071         * modules/xstrtol-tests: New module.
68072         * modules/xstrtoimax-tests: Likewise.
68073         * modules/xstrtoumax-tests: Likewise.
68074
68075 2007-08-08  Jim Meyering  <jim@meyering.net>
68076
68077         New function: mfile_name_concat.
68078         * lib/filenamecat.c (mfile_name_concat): New function, just like
68079         file_name_concat, but return NULL upon failure rather than exiting
68080         with a diagnostic.
68081         * lib/filenamecat.h: Declare it.
68082
68083 2007-08-07  Bruno Haible  <bruno@clisp.org>
68084
68085         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
68086         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
68087         warning from gcc.
68088         Reported by Eric Blake.
68089
68090 2007-08-07  Simon Josefsson  <simon@josefsson.org>
68091
68092         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
68093         * modules/crypto/arcfour (License): Likewise.
68094         * modules/crypto/des-tests (License): Likewise.
68095         * modules/crypto/gc-arctwo-tests (License): Likewise.
68096         * modules/crypto/gc-des-tests (License): Likewise.
68097         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
68098         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
68099         * modules/crypto/gc-md2-tests (License): Likewise.
68100         * modules/crypto/gc-md4-tests (License): Likewise.
68101         * modules/crypto/gc-md5-tests (License): Likewise.
68102         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
68103         * modules/crypto/gc-rijndael-tests (License): Likewise.
68104         * modules/crypto/gc-sha1-tests (License): Likewise.
68105         * modules/crypto/gc-tests (License): Likewise.
68106         * modules/crypto/hmac-md5 (License): Likewise.
68107         * modules/crypto/hmac-sha1 (License): Likewise.
68108         * modules/crypto/md2-tests (License): Likewise.
68109         * modules/crypto/md4-tests (License): Likewise.
68110         * modules/crypto/md5 (License): Likewise.
68111         * modules/crypto/rijndael (License): Likewise.
68112         * modules/crypto/sha1 (License): Likewise.
68113         * modules/memxor (License): Likewise.
68114
68115 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
68116         and Bruno Haible  <bruno@clisp.org>
68117
68118         * NEWS: Describe interface changes to human, xstrtol.
68119         * lib/human.h: Include <xstrtol.h>.
68120         (human_options): Return enum strtol_error, not int.  Remove
68121         bool arg; take int * instead.
68122         * lib/human.c: Don't include "gettext.h".
68123         (_): Remove; no longer used.
68124         Don't include <xstrtol.h>, since human.h does it.
68125         (human_options): Adjust to abovementioned interface changes.
68126         Do not report error to stderr; that's now the caller's
68127         responsibility.
68128         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
68129         interface change.
68130         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
68131         Str, Argument_type_string.  All uses changed.  Put " argument"
68132         in diagnostics to make them clearer.  Change wording of suffix
68133         message for clarity.
68134         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
68135         Argument_type_string.
68136         (STRTOL_FATAL_WARN): Remove; no longer used.
68137         * modules/human (Depends-on): Remove gettext-h.
68138
68139 2007-08-06  Simon Josefsson  <simon@josefsson.org>
68140
68141         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
68142
68143 2007-07-31  Bruno Haible  <bruno@clisp.org>
68144
68145         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
68146         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
68147         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
68148
68149 2007-07-31  Bruno Haible  <bruno@clisp.org>
68150
68151         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
68152         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
68153
68154 2007-07-30  Bruno Haible  <bruno@clisp.org>
68155
68156         * modules/base64 (License): Use the synonymous term "LGPLv2+".
68157         * modules/c-ctype (License): Likewise.
68158         * modules/c-strcase (License): Likewise.
68159         * modules/check-version (License): Likewise.
68160         * modules/iconv (License): Likewise.
68161         * modules/iconv_open (License): Likewise.
68162         * modules/read-file (License): Likewise.
68163         * modules/striconv (License): Likewise.
68164         * modules/strverscmp (License): Likewise.
68165         * modules/vasprintf (License): Likewise.
68166         * modules/crypto/des (License): Likewise.
68167         * modules/crypto/gc (License): Likewise.
68168         * modules/crypto/gc-arcfour (License): Likewise.
68169         * modules/crypto/gc-arctwo (License): Likewise.
68170         * modules/crypto/gc-des (License): Likewise.
68171         * modules/crypto/gc-hmac-md5 (License): Likewise.
68172         * modules/crypto/gc-hmac-sha1 (License): Likewise.
68173         * modules/crypto/gc-md2 (License): Likewise.
68174         * modules/crypto/gc-md4 (License): Likewise.
68175         * modules/crypto/gc-md5 (License): Likewise.
68176         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
68177         * modules/crypto/gc-random (License): Likewise.
68178         * modules/crypto/gc-rijndael (License): Likewise.
68179         * modules/crypto/gc-sha1 (License): Likewise.
68180         * modules/crypto/md2 (License): Likewise.
68181         * modules/crypto/md4 (License): Likewise.
68182
68183 2007-07-30  Jim Meyering  <jim@meyering.net>
68184
68185         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
68186         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
68187         it has valid stat data.  This bug would cause du not to count the
68188         sizes of inaccessible directories.
68189         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
68190         in <http://bugzilla.redhat.com/250077>.
68191
68192 2007-07-25  Peter O'Gorman  <peter@pogma.com>
68193             Bruno Haible  <bruno@clisp.org>
68194
68195         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
68196         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
68197         #include_next, gives a diagnostic about it, but reports no error in
68198         the exit code.
68199         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
68200
68201 2007-07-24  Ben Pfaff  <blp@gnu.org>
68202
68203         Improve name: "count-one-bits" is better than "popcount".
68204         * MODULES.html.sh: Update name.
68205         * lib/popcount.h: Renamed lib/count-one-bits.h.
68206         (popcount): Renamed count_one_bits.
68207         (popcountl): Renamed count_one_bits_l.
68208         (popcountll): Renamed count_one_bits_ll.
68209         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
68210         * modules/popcount: Renamed module/count-one-bits.
68211         * modules/popcount-tests: Renamed module/count-one-bits-tests.
68212         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
68213
68214 2007-07-23  Ben Pfaff  <blp@gnu.org>
68215
68216         * lib/popcount.h (popcount32): Reduce size of constants, to allow
68217         better code generation, and add U to large constants to avoid
68218         warnings, in non-GCC case.
68219         Suggested by Bruno Haible.
68220
68221 2007-07-23  Ben Pfaff  <blp@gnu.org>
68222
68223         * lib/popcount.h: Use verify_true instead of if...abort.
68224         * modules/popcount: Depend on verify module.
68225         Suggested by Jim Meyering.
68226
68227 2007-07-23  Bruno Haible  <bruno@clisp.org>
68228
68229         * gnulib-tool (func_import): Create a .cvsignore file also when the
68230         directory is not yet in CVS but the toplevel directory is. When
68231         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
68232         Reported by Karl Berry.
68233
68234 2007-07-22  Ben Pfaff  <blp@gnu.org>
68235
68236         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
68237         case.
68238         Suggested by Eric Blake.
68239
68240 2007-07-22  Ben Pfaff  <blp@gnu.org>
68241
68242         New module: popcount.
68243         * MODULES.html.sh: Add popcount.
68244         * modules/popcount: New file.
68245         * modules/popcount-tests: New file.
68246         * tests/test-popcount.c: New file.
68247         * lib/popcount.h: New file.
68248         * m4/popcount.m4: New file.
68249
68250 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
68251
68252         * build-aux/announce-gen: Update to GPLv3.
68253
68254         * build-aux/config.guess: Update from config.
68255
68256 2007-07-21  Bruno Haible  <bruno@clisp.org>
68257
68258         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
68259         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
68260
68261 2007-07-20  Jim Meyering  <jim@meyering.net>
68262
68263         * check-module: Diagnose a self-dependency.
68264
68265 2007-07-19  Bruno Haible  <bruno@clisp.org>
68266
68267         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
68268         empty.
68269         Reported by Eric Blake.
68270
68271 2007-07-18  Bruno Haible  <bruno@clisp.org>
68272
68273         * gnulib-tool: New options --po-base, --po-domain.
68274         (func_usage): Document them.
68275         (pobase, po_domain): New variables.
68276         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
68277         DEFAULT_TEXT_DOMAIN.
68278         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
68279         (func_import): Consider pobase and po_domain. Create a po/ directory.
68280         (func_create_testdir): Set pobase and po_domain to empty.
68281         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
68282         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
68283
68284 2007-07-18  Bruno Haible  <bruno@clisp.org>
68285
68286         * gnulib-tool (func_get_automake_snippet): Synthesize also an
68287         EXTRA_DIST augmentation for files in build-aux/.
68288
68289 2007-07-16  Bruno Haible  <bruno@clisp.org>
68290
68291         * modules/lseek (License): Use the synonymous term "LGPLv2+".
68292         * modules/getdelim (License): Likewise.
68293
68294 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68295
68296         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
68297         * modules/d-type (License): Likewise.
68298         * modules/extensions (License): Likewise.
68299         * modules/fnmatch (License): Likewise.
68300         * modules/fseeko (License): Likewise.
68301         * modules/getaddrinfo (License): Likewise.
68302         * modules/getline (License): Likewise.
68303         * modules/getlogin_r (License): Likewise.
68304         * modules/getpass (License): Likewise.
68305         * modules/gettimeofday (License): Likewise.
68306         * modules/glob (License): Likewise.
68307         * modules/inet_ntop (License): Likewise.
68308         * modules/malloc (License): Likewise.
68309         * modules/malloca (License): Likewise.
68310         * modules/memmem (License): Likewise.
68311         * modules/mempcpy (License): Likewise.
68312         * modules/memset (License): Likewise.
68313         * modules/minmax (License): Likewise.
68314         * modules/mktime (License): Likewise.
68315         * modules/netinet_in (License): Likewise.
68316         * modules/pathmax (License): Likewise.
68317         * modules/poll (License): Likewise.
68318         * modules/regex (License): Likewise.
68319         * modules/snprintf (License): Likewise.
68320         * modules/stdbool (License): Likewise.
68321         * modules/stdint (License): Likewise.
68322         * modules/stdio (License): Likewise.
68323         * modules/strcase (License): Likewise.
68324         * modules/strcasestr (License): Likewise.
68325         * modules/strdup (License): Likewise.
68326         * modules/string (License): Likewise.
68327         * modules/strndup (License): Likewise.
68328         * modules/strnlen (License): Likewise.
68329         * modules/strpbrk (License): Likewise.
68330         * modules/strptime (License): Likewise.
68331         * modules/strsep (License): Likewise.
68332         * modules/sys_select (License): Likewise.
68333         * modules/sys_socket (License): Likewise.
68334         * modules/sys_stat (License): Likewise.
68335         * modules/sys_time (License): Likewise.
68336         * modules/time (License): Likewise.
68337         * modules/time_r (License): Likewise.
68338         * modules/timegm (License): Likewise.
68339         * modules/unistd (License): Likewise.
68340         * modules/vsnprintf (License): Likewise.
68341         * modules/wctype (License): Likewise.
68342
68343 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68344
68345         * modules/argz (License): LGPLv2+.
68346
68347 2007-07-15  Karl Berry  <karl@gnu.org>
68348
68349         * doc/gnulib.texi: revise node structure per new fdl.texi.
68350
68351 2007-07-14  Bruno Haible  <bruno@clisp.org>
68352
68353         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
68354         the output file.
68355         * lib/uniname/uninames.h: Regenerated.
68356
68357 2007-07-14  Karl Berry  <karl@gnu.org>
68358
68359         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
68360         omitting sectioning and index commands.
68361
68362 2007-07-13  Bruno Haible  <bruno@clisp.org>
68363
68364         New gnulib-tool option --more-symlinks.
68365         * gnulib-tool (func_usage): Document --more-symlinks.
68366         (do_copyrights): New variable.
68367         Recognize option --more-symlinks.
68368         (func_import): Don't add a copyright notice transform to
68369         sed_transform_lib_file if do_copyrights is empty.
68370
68371 2007-07-13  Bruno Haible  <bruno@clisp.org>
68372
68373         * lib/vasnprintf.c (decimal_point_char): Define also if
68374         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
68375         && !NEED_PRINTF_DIRECTIVE_A.
68376         Reported by Clemens Koller <clemens.koller@anagramm.de> via
68377         Gary V. Vaughan <gary@gnu.org>.
68378
68379 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
68380
68381         * lib/inttypes_.h: Undo previous change, since it was fixed
68382         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
68383
68384 2007-07-13  Bruno Haible  <bruno@clisp.org>
68385
68386         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
68387         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
68388
68389 2007-07-13  Jim Meyering  <jim@meyering.net>
68390
68391         df: Don't fail for Tru64's "file-on-file mount".
68392         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
68393         so we fall through and use statfs instead.  Details here:
68394         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
68395         Reported by Albert Chin.
68396
68397 2007-07-13  Bruno Haible  <bruno@clisp.org>
68398
68399         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
68400         * modules/configmake (License): Likewise.
68401         * modules/gettext (License): Likewise.
68402         * modules/gettext-h (License): Likewise.
68403         * modules/include_next (License): Likewise.
68404         * modules/link-warning (License): Likewise.
68405         * modules/localcharset (License): Likewise.
68406         * modules/localename (License): Likewise.
68407         * modules/lock (License): Likewise.
68408         * modules/relocatable-lib-lgpl (License): Likewise.
68409         * modules/size_max (License): Likewise.
68410         * modules/vasnprintf (License): Likewise.
68411         * modules/wchar (License): Likewise.
68412         * modules/xsize (License): Likewise.
68413
68414 2007-07-13  Bruno Haible  <bruno@clisp.org>
68415
68416         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
68417         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
68418
68419 2007-07-12  Bruno Haible  <bruno@clisp.org>
68420
68421         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
68422         in the modules files.
68423
68424 2007-07-11  Karl Berry  <karl@gnu.org>
68425
68426         * MODULES.html.sh (func_module): use
68427          sed -e '\|^'"${includefile}"'$|d'
68428          instead of /.../d, to avoid errors on $includefile's containing /.
68429
68430 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
68431
68432         * gnulib-tool (func_import): Avoid duplication of --avoid
68433         statements
68434         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
68435         names to `_' in variable names.
68436
68437 2007-07-10  Eric Blake  <ebb9@byu.net>
68438
68439         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
68440         * NEWS: Document this change.
68441
68442 2007-07-08  Bruno Haible  <bruno@clisp.org>
68443
68444         Update to Unicode 5.0.
68445         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
68446         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
68447         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
68448         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
68449         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
68450         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
68451         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
68452         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
68453         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
68454         U+10A3F, U+1D242..U+1D244.
68455         (nonspacing_table_ind): Update.
68456         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
68457         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
68458
68459 2007-07-08  Bruno Haible  <bruno@clisp.org>
68460
68461         Update to Unicode 5.0.
68462         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
68463         code transform. Extend the name index field of unicode_name_to_code and
68464         unicode_code_to_name from 16 to 24 bits.
68465         * lib/uniname/uniname.c (unicode_character_name,
68466         unicode_name_character): Add the range 0x12xxx to the code transform.
68467         * lib/uniname/uninames.h: Regenerated.
68468         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
68469
68470 2007-07-07  Bruno Haible  <bruno@clisp.org>
68471
68472         * modules/wcwidth-tests: New file.
68473         * tests/test-wcwidth.c: New file.
68474
68475         Work around MacOS X wcwidth() bug.
68476         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
68477         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
68478         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
68479         original wcwidth in non-UTF-8 locales.
68480         * modules/wcwidth (Depends-on): Add localcharset, streq,
68481         uniwidth/width.
68482         * doc/functions/wcwidth.texi: Update.
68483
68484 2007-07-07  Bruno Haible  <bruno@clisp.org>
68485
68486         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
68487         (wcwidth): New declaration.
68488         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
68489         macros.
68490         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
68491         here. Prepare for creating <wchar.h> unconditionally.
68492         * modules/wchar (Depends-on): Add link-warning.
68493         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
68494         REPLACE_WCWIDTH, and GL_LINK_WARNING.
68495         * lib/wcwidth.h: Remove file.
68496         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
68497         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
68498         * modules/wcwidth (Files): Remove lib/wcwidth.h.
68499         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
68500         (Include): Replace wcwidth.h with <wchar.h>.
68501         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
68502         * lib/mbchar.h: Don't include wcwidth.h.
68503         * lib/mbswidth.c: Likewise.
68504         * NEWS: Mention the change.
68505
68506 2007-07-07  Bruno Haible  <bruno@clisp.org>
68507
68508         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
68509         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
68510         definition with an external declaration.
68511         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
68512         defined as a function. Remove AC_C_INLINE requirement.
68513         * modules/wcwidth (Files): Add lib/wcwidth.c.
68514         (Makefile.am): Remove redundant statement.
68515
68516 2007-07-07  Bruno Haible  <bruno@clisp.org>
68517
68518         * MODULES.html.sh (Unicode string functions): Add the new modules.
68519
68520         * tests/uniwidth/test-u32-strwidth.c: New file.
68521         * modules/uniwidth/u32-strwidth-tests: New file.
68522
68523         * lib/uniwidth/u32-strwidth.c: New file.
68524         * modules/uniwidth/u32-strwidth: New file.
68525
68526         * tests/uniwidth/test-u16-strwidth.c: New file.
68527         * modules/uniwidth/u16-strwidth-tests: New file.
68528
68529         * lib/uniwidth/u16-strwidth.c: New file.
68530         * modules/uniwidth/u16-strwidth: New file.
68531
68532         * tests/uniwidth/test-u8-strwidth.c: New file.
68533         * modules/uniwidth/u8-strwidth-tests: New file.
68534
68535         * lib/uniwidth/u8-strwidth.c: New file.
68536         * modules/uniwidth/u8-strwidth: New file.
68537
68538         * tests/uniwidth/test-u32-width.c: New file.
68539         * modules/uniwidth/u32-width-tests: New file.
68540
68541         * lib/uniwidth/u32-width.c: New file.
68542         * modules/uniwidth/u32-width: New file.
68543
68544         * tests/uniwidth/test-u16-width.c: New file.
68545         * modules/uniwidth/u16-width-tests: New file.
68546
68547         * lib/uniwidth/u16-width.c: New file.
68548         * modules/uniwidth/u16-width: New file.
68549
68550         * tests/uniwidth/test-u8-width.c: New file.
68551         * modules/uniwidth/u8-width-tests: New file.
68552
68553         * lib/uniwidth/u8-width.c: New file.
68554         * modules/uniwidth/u8-width: New file.
68555
68556         * tests/uniwidth/test-uc_width.c: New file.
68557         * modules/uniwidth/width-tests: New file.
68558
68559         * lib/uniwidth/width.c: New file, from GNU libiconv.
68560         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
68561         * modules/uniwidth/width: New file.
68562
68563         * lib/uniwidth.h: New file, from GNU libiconv.
68564         * modules/uniwidth/base: New file.
68565
68566 2007-07-07  Bruno Haible  <bruno@clisp.org>
68567
68568         * lib/uniname.h: New file, from GNU gettext.
68569         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
68570         * lib/uniname/uninames.h: New file, from GNU gettext.
68571         * lib/uniname/uniname.c: New file, from GNU gettext.
68572         * tests/uniname/test-uninames.sh: New file.
68573         * tests/uniname/test-uninames.c: New file, from GNU gettext.
68574         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
68575         * modules/uniname/base: New file.
68576         * modules/uniname/uniname: New file.
68577         * modules/uniname/uniname-tests: New file.
68578         * MODULES.html.sh (Unicode string functions): Add the new modules.
68579
68580 2007-07-06  Bruno Haible  <bruno@clisp.org>
68581
68582         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
68583
68584 2007-07-06  Bruno Haible  <bruno@clisp.org>
68585
68586         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
68587         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
68588         includes <cygwin/sys_time.h> which includes <sys/select.h> which
68589         include <sys/time.h>.
68590         Reported by Eric Blake.
68591
68592 2007-07-06  Eric Blake  <ebb9@byu.net>
68593
68594         Fix testing canonicalize on cygwin.
68595         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
68596         Revert patch from 2007-06-19.
68597         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
68598         canonicalize module is also in use.
68599         * tests/test-canonicalize.c: New file.
68600         * tests/test-canonicalize.sh: Likewise.
68601         * modules/canonicalize-tests: Likewise.
68602
68603 2007-07-06  Jim Meyering  <jim@meyering.net>
68604
68605         * lib/getugroups.c (getugroups): Detect getgrent failure.
68606         Adjust comment to reflect reality: this function may return -1.
68607
68608 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
68609
68610         * build-aux/bootstrap (TP_URL,get_translations): Update to use
68611         the new TP address.
68612         (usage): Fix typo
68613         (gnulib_mk): New variable.
68614
68615 2007-07-05  Jim Meyering  <jim@meyering.net>
68616
68617         Don't let endgrent clobber errno, no matter how improbable.
68618         * lib/getugroups.c (getugroups): Save and restore errno around
68619         endgrent call.
68620
68621         Close the group DB even when failing with 2^31 or more members.
68622         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
68623
68624 2007-07-04  Jim Meyering  <jim@meyering.net>
68625
68626         * lib/getugroups.h: New file.
68627         * lib/getugroups.c: Include "getugroups.h".
68628         Remove uses of "register" keyword.
68629         Move local variable, "cp", down into scope where used.
68630         Give "username" parameter the "const" attribute.
68631         * modules/getugroups (Files): Add lib/getugroups.h
68632
68633 2007-07-04  Karl Berry  <karl@gnu.org>
68634
68635         * MODULES.html.sh (func_all_modules): Complete rename of
68636         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
68637
68638 2007-07-02  Bruno Haible  <bruno@clisp.org>
68639
68640         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
68641         mode, when inttypes.h comes from gnulib.
68642         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
68643
68644 2007-07-02  Simon Josefsson  <simon@josefsson.org>
68645
68646         * NEWS: Mention lgpl module name change.
68647
68648         * modules/lgpl-2.1: Renamed from lgpl.
68649
68650         * NEWS: Mention gpl module name change.
68651
68652         * modules/gpl-3.0: New file, based on gpl-2.0.
68653
68654         * modules/gpl-2.0: Renamed from gpl.
68655
68656         * modules/gpl: Fix filename, doc/gpl.texi is now found at
68657         doc/gpl-2.0.texi.
68658
68659 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
68660
68661         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
68662         #define __STDC_LIMIT_MACROS temporarily while including
68663         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
68664         Problem reported by Joel E. Denny in
68665         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
68666
68667 2007-07-01  Bruno Haible  <bruno@clisp.org>
68668
68669         * lib/unistdio.h: New file.
68670         * lib/unistdio/u-asnprintf.h: New file.
68671         * lib/unistdio/u-asprintf.h: New file.
68672         * lib/unistdio/u-printf-args.c: New file.
68673         * lib/unistdio/u-printf-args.h: New file.
68674         * lib/unistdio/u-printf-parse.h: New file.
68675         * lib/unistdio/u-snprintf.h: New file.
68676         * lib/unistdio/u-sprintf.h: New file.
68677         * lib/unistdio/u-vasprintf.h: New file.
68678         * lib/unistdio/u-vsnprintf.h: New file.
68679         * lib/unistdio/u-vsprintf.h: New file.
68680         * lib/unistdio/ulc-asnprintf.c: New file.
68681         * lib/unistdio/ulc-asprintf.c: New file.
68682         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
68683         * lib/unistdio/ulc-printf-parse.c: New file.
68684         * lib/unistdio/ulc-snprintf.c: New file.
68685         * lib/unistdio/ulc-sprintf.c: New file.
68686         * lib/unistdio/ulc-vasnprintf.c: New file.
68687         * lib/unistdio/ulc-vasprintf.c: New file.
68688         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
68689         * lib/unistdio/ulc-vsnprintf.c: New file.
68690         * lib/unistdio/ulc-vsprintf.c: New file.
68691         * lib/unistdio/u8-asnprintf.c: New file.
68692         * lib/unistdio/u8-asprintf.c: New file.
68693         * lib/unistdio/u8-printf-parse.c: New file.
68694         * lib/unistdio/u8-snprintf.c: New file.
68695         * lib/unistdio/u8-sprintf.c: New file.
68696         * lib/unistdio/u8-vasnprintf.c: New file.
68697         * lib/unistdio/u8-vasprintf.c: New file.
68698         * lib/unistdio/u8-vsnprintf.c: New file.
68699         * lib/unistdio/u8-vsprintf.c: New file.
68700         * lib/unistdio/u8-u8-asnprintf.c: New file.
68701         * lib/unistdio/u8-u8-asprintf.c: New file.
68702         * lib/unistdio/u8-u8-snprintf.c: New file.
68703         * lib/unistdio/u8-u8-sprintf.c: New file.
68704         * lib/unistdio/u8-u8-vasnprintf.c: New file.
68705         * lib/unistdio/u8-u8-vasprintf.c: New file.
68706         * lib/unistdio/u8-u8-vsnprintf.c: New file.
68707         * lib/unistdio/u8-u8-vsprintf.c: New file.
68708         * lib/unistdio/u16-asnprintf.c: New file.
68709         * lib/unistdio/u16-asprintf.c: New file.
68710         * lib/unistdio/u16-printf-parse.c: New file.
68711         * lib/unistdio/u16-snprintf.c: New file.
68712         * lib/unistdio/u16-sprintf.c: New file.
68713         * lib/unistdio/u16-vasnprintf.c: New file.
68714         * lib/unistdio/u16-vasprintf.c: New file.
68715         * lib/unistdio/u16-vsnprintf.c: New file.
68716         * lib/unistdio/u16-vsprintf.c: New file.
68717         * lib/unistdio/u16-u16-asnprintf.c: New file.
68718         * lib/unistdio/u16-u16-asprintf.c: New file.
68719         * lib/unistdio/u16-u16-snprintf.c: New file.
68720         * lib/unistdio/u16-u16-sprintf.c: New file.
68721         * lib/unistdio/u16-u16-vasnprintf.c: New file.
68722         * lib/unistdio/u16-u16-vasprintf.c: New file.
68723         * lib/unistdio/u16-u16-vsnprintf.c: New file.
68724         * lib/unistdio/u16-u16-vsprintf.c: New file.
68725         * lib/unistdio/u32-asnprintf.c: New file.
68726         * lib/unistdio/u32-asprintf.c: New file.
68727         * lib/unistdio/u32-printf-parse.c: New file.
68728         * lib/unistdio/u32-snprintf.c: New file.
68729         * lib/unistdio/u32-sprintf.c: New file.
68730         * lib/unistdio/u32-vasnprintf.c: New file.
68731         * lib/unistdio/u32-vasprintf.c: New file.
68732         * lib/unistdio/u32-vsnprintf.c: New file.
68733         * lib/unistdio/u32-vsprintf.c: New file.
68734         * lib/unistdio/u32-u32-asnprintf.c: New file.
68735         * lib/unistdio/u32-u32-asprintf.c: New file.
68736         * lib/unistdio/u32-u32-snprintf.c: New file.
68737         * lib/unistdio/u32-u32-sprintf.c: New file.
68738         * lib/unistdio/u32-u32-vasnprintf.c: New file.
68739         * lib/unistdio/u32-u32-vasprintf.c: New file.
68740         * lib/unistdio/u32-u32-vsnprintf.c: New file.
68741         * lib/unistdio/u32-u32-vsprintf.c: New file.
68742         * tests/unistdio/test-ulc-asnprintf1.c: New file.
68743         * tests/unistdio/test-ulc-asnprintf1.h: New file.
68744         * tests/unistdio/test-ulc-printf1.h: New file.
68745         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
68746         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
68747         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
68748         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
68749         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
68750         * tests/unistdio/test-ulc-vasprintf1.c: New file.
68751         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
68752         * tests/unistdio/test-ulc-vsprintf1.c: New file.
68753         * tests/unistdio/test-u8-asnprintf1.c: New file.
68754         * tests/unistdio/test-u8-asnprintf1.h: New file.
68755         * tests/unistdio/test-u8-printf1.h: New file.
68756         * tests/unistdio/test-u8-vasnprintf1.c: New file.
68757         * tests/unistdio/test-u8-vasnprintf2.c: New file.
68758         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
68759         * tests/unistdio/test-u8-vasnprintf3.c: New file.
68760         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
68761         * tests/unistdio/test-u8-vasprintf1.c: New file.
68762         * tests/unistdio/test-u8-vsnprintf1.c: New file.
68763         * tests/unistdio/test-u8-vsprintf1.c: New file.
68764         * tests/unistdio/test-u16-asnprintf1.c: New file.
68765         * tests/unistdio/test-u16-asnprintf1.h: New file.
68766         * tests/unistdio/test-u16-printf1.h: New file.
68767         * tests/unistdio/test-u16-vasnprintf1.c: New file.
68768         * tests/unistdio/test-u16-vasnprintf2.c: New file.
68769         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
68770         * tests/unistdio/test-u16-vasnprintf3.c: New file.
68771         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
68772         * tests/unistdio/test-u16-vasprintf1.c: New file.
68773         * tests/unistdio/test-u16-vsnprintf1.c: New file.
68774         * tests/unistdio/test-u16-vsprintf1.c: New file.
68775         * tests/unistdio/test-u32-asnprintf1.c: New file.
68776         * tests/unistdio/test-u32-asnprintf1.h: New file.
68777         * tests/unistdio/test-u32-printf1.h: New file.
68778         * tests/unistdio/test-u32-vasnprintf1.c: New file.
68779         * tests/unistdio/test-u32-vasnprintf2.c: New file.
68780         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
68781         * tests/unistdio/test-u32-vasnprintf3.c: New file.
68782         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
68783         * tests/unistdio/test-u32-vasprintf1.c: New file.
68784         * tests/unistdio/test-u32-vsnprintf1.c: New file.
68785         * tests/unistdio/test-u32-vsprintf1.c: New file.
68786         * modules/unistdio/base: New file.
68787         * modules/unistdio/u-printf-args: New file.
68788         * modules/unistdio/ulc-asnprintf: New file.
68789         * modules/unistdio/ulc-asprintf: New file.
68790         * modules/unistdio/ulc-fprintf: New file.
68791         * modules/unistdio/ulc-printf-parse: New file.
68792         * modules/unistdio/ulc-snprintf: New file.
68793         * modules/unistdio/ulc-sprintf: New file.
68794         * modules/unistdio/ulc-vasnprintf: New file.
68795         * modules/unistdio/ulc-vasprintf: New file.
68796         * modules/unistdio/ulc-vfprintf: New file.
68797         * modules/unistdio/ulc-vsnprintf: New file.
68798         * modules/unistdio/ulc-vsprintf: New file.
68799         * modules/unistdio/u8-asnprintf: New file.
68800         * modules/unistdio/u8-asprintf: New file.
68801         * modules/unistdio/u8-printf-parse: New file.
68802         * modules/unistdio/u8-snprintf: New file.
68803         * modules/unistdio/u8-sprintf: New file.
68804         * modules/unistdio/u8-vasnprintf: New file.
68805         * modules/unistdio/u8-vasprintf: New file.
68806         * modules/unistdio/u8-vsnprintf: New file.
68807         * modules/unistdio/u8-vsprintf: New file.
68808         * modules/unistdio/u8-u8-asnprintf: New file.
68809         * modules/unistdio/u8-u8-asprintf: New file.
68810         * modules/unistdio/u8-u8-snprintf: New file.
68811         * modules/unistdio/u8-u8-sprintf: New file.
68812         * modules/unistdio/u8-u8-vasnprintf: New file.
68813         * modules/unistdio/u8-u8-vasprintf: New file.
68814         * modules/unistdio/u8-u8-vsnprintf: New file.
68815         * modules/unistdio/u8-u8-vsprintf: New file.
68816         * modules/unistdio/u16-asnprintf: New file.
68817         * modules/unistdio/u16-asprintf: New file.
68818         * modules/unistdio/u16-printf-parse: New file.
68819         * modules/unistdio/u16-snprintf: New file.
68820         * modules/unistdio/u16-sprintf: New file.
68821         * modules/unistdio/u16-vasnprintf: New file.
68822         * modules/unistdio/u16-vasprintf: New file.
68823         * modules/unistdio/u16-vsnprintf: New file.
68824         * modules/unistdio/u16-vsprintf: New file.
68825         * modules/unistdio/u16-u16-asnprintf: New file.
68826         * modules/unistdio/u16-u16-asprintf: New file.
68827         * modules/unistdio/u16-u16-snprintf: New file.
68828         * modules/unistdio/u16-u16-sprintf: New file.
68829         * modules/unistdio/u16-u16-vasnprintf: New file.
68830         * modules/unistdio/u16-u16-vasprintf: New file.
68831         * modules/unistdio/u16-u16-vsnprintf: New file.
68832         * modules/unistdio/u16-u16-vsprintf: New file.
68833         * modules/unistdio/u32-asnprintf: New file.
68834         * modules/unistdio/u32-asprintf: New file.
68835         * modules/unistdio/u32-printf-parse: New file.
68836         * modules/unistdio/u32-snprintf: New file.
68837         * modules/unistdio/u32-sprintf: New file.
68838         * modules/unistdio/u32-vasnprintf: New file.
68839         * modules/unistdio/u32-vasprintf: New file.
68840         * modules/unistdio/u32-vsnprintf: New file.
68841         * modules/unistdio/u32-vsprintf: New file.
68842         * modules/unistdio/u32-u32-asnprintf: New file.
68843         * modules/unistdio/u32-u32-asprintf: New file.
68844         * modules/unistdio/u32-u32-snprintf: New file.
68845         * modules/unistdio/u32-u32-sprintf: New file.
68846         * modules/unistdio/u32-u32-vasnprintf: New file.
68847         * modules/unistdio/u32-u32-vasprintf: New file.
68848         * modules/unistdio/u32-u32-vsnprintf: New file.
68849         * modules/unistdio/u32-u32-vsprintf: New file.
68850         * modules/unistdio/ulc-asnprintf-tests: New file.
68851         * modules/unistdio/ulc-vasnprintf-tests: New file.
68852         * modules/unistdio/ulc-vasprintf-tests: New file.
68853         * modules/unistdio/ulc-vsnprintf-tests: New file.
68854         * modules/unistdio/ulc-vsprintf-tests: New file.
68855         * modules/unistdio/u8-asnprintf-tests: New file.
68856         * modules/unistdio/u8-vasnprintf-tests: New file.
68857         * modules/unistdio/u8-vasprintf-tests: New file.
68858         * modules/unistdio/u8-vsnprintf-tests: New file.
68859         * modules/unistdio/u8-vsprintf-tests: New file.
68860         * modules/unistdio/u16-asnprintf-tests: New file.
68861         * modules/unistdio/u16-vasnprintf-tests: New file.
68862         * modules/unistdio/u16-vasprintf-tests: New file.
68863         * modules/unistdio/u16-vsnprintf-tests: New file.
68864         * modules/unistdio/u16-vsprintf-tests: New file.
68865         * modules/unistdio/u32-asnprintf-tests: New file.
68866         * modules/unistdio/u32-vasnprintf-tests: New file.
68867         * modules/unistdio/u32-vasprintf-tests: New file.
68868         * modules/unistdio/u32-vsnprintf-tests: New file.
68869         * modules/unistdio/u32-vsprintf-tests: New file.
68870         * MODULES.html.sh (Unicode string functions): Add the new modules.
68871
68872 2007-07-01  Bruno Haible  <bruno@clisp.org>
68873
68874         * lib/sprintf.c (sprintf): Limit the available length estimation,
68875         to avoid address wraparound.
68876         * lib/vsprintf.c (vsprintf): Likewise.
68877         * modules/sprintf-posix (Dependencies): Add stdint.
68878         * modules/vsprintf-posix (Dependencies): Likewise.
68879
68880 2007-07-01  Bruno Haible  <bruno@clisp.org>
68881
68882         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
68883         Windows PATH as well. Conservative double-quoting. Comments.
68884
68885 2007-07-01  Bruno Haible  <bruno@clisp.org>
68886             Eric Blake  <ebb9@byu.net>
68887             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68888
68889         * gnulib-tool (self_abspathname): Fix algorithm to cope with
68890         empty components in $PATH, denoting '.'.
68891
68892 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68893
68894         * gnulib-tool: Fix indentation.
68895         (func_create_megatestdir): Likewise.
68896         Report by Bruno Haible.
68897
68898 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68899
68900         Sync from Automake.
68901         * build-aux/gnupload: Fix shell portability issues with for loops.
68902         Report by Karl Berry.
68903
68904 2007-06-29  Simon Josefsson  <simon@josefsson.org>
68905
68906         * build-aux/maint.mk (POURL): Use translationproject.org.
68907
68908 2007-06-27  Simon Josefsson  <simon@josefsson.org>
68909             Bruno Haible  <bruno@clisp.org>
68910
68911         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
68912         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
68913         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
68914         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
68915         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
68916
68917 2007-06-27  Bruno Haible  <bruno@clisp.org>
68918
68919         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
68920         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
68921
68922 2007-06-26  Karl Berry  <karl@gnu.org>
68923
68924         * MODULES.html.sh: remove xreadlink-with-size.
68925
68926 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68927
68928         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
68929         method that I hope also handles the double-include problem noted
68930         by Bruno Haible in
68931         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
68932
68933 2007-06-23  Bruno Haible  <bruno@clisp.org>
68934
68935         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68936         Don't let the 'mostlyclean' target fail if the last subdirectory could
68937         not be removed.
68938         Reported by Karl Berry.
68939
68940 2007-06-23  Bruno Haible  <bruno@clisp.org>
68941
68942         * gnulib-tool (echo): Add a speedier workaround for ksh.
68943         * tests/test-echo.sh: Likewise.
68944
68945 2007-06-23  Bruno Haible  <bruno@clisp.org>
68946
68947         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
68948         * tests/test-echo.sh: Likewise.
68949
68950 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68951
68952         * gnulib-tool (IFS): Initialize early, so we don't set it to
68953         empty later.
68954         (self_abspathname): Rewrite algorithm to set it, reindent.
68955         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
68956         (func_create_megatestdir): Merge some sed scripts.
68957
68958 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68959
68960         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
68961         exposed by Sun Studio 11 cc on Solaris 8.
68962
68963 2007-06-22  Bruno Haible  <bruno@clisp.org>
68964
68965         * gnulib-tool (echo): Ensure the echo primitive does not interpret
68966         backslashes.
68967         * tests/test-echo.sh: New file.
68968
68969 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68970
68971         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
68972         simplify `sed_replace_build_aux' scripts, they are portable but
68973         echoing them with `echo' is not.
68974         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
68975
68976 2007-06-21  Karl Berry  <karl@gnu.org>
68977
68978         * config/srclist.txt: guess we can't handle the licenses via
68979         srclist at the moment.
68980
68981 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
68982
68983         * MODULES.html.sh: Add include_next.
68984         * modules/include_next: New file.
68985
68986 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
68987
68988         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
68989         INCLUDE_NEXT.
68990         (gl_CHECK_NEXT_HEADERS): New macro.
68991         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
68992         the obsolescent gl_ABSOLUTE_HEADER.
68993         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
68994         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
68995         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
68996         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
68997         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
68998         * m4/math_h.m4 (gl_MATH_H): Likewise.
68999         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
69000         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
69001         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
69002         * m4/stdint.m4 (gl_STDINT_H): Likewise.
69003         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
69004         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
69005         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
69006         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
69007         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
69008         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
69009         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
69010         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
69011         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
69012         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
69013         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
69014         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
69015         * m4/inttypes.m4 (gl_INTTYPES_H): Define
69016         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
69017         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
69018         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
69019         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
69020         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
69021         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
69022         * lib/float_.h: Likewise.
69023         * lib/inttypes_.h: Likewise.
69024         * lib/math_.h: Likewise.
69025         * lib/search_.h: Likewise.
69026         * lib/signal_.h: Likewise.
69027         * lib/stdint_.h: Likewise.
69028         * lib/stdio_.h: Likewise.
69029         * lib/stdlib_.h: Likewise.
69030         * lib/string_.h: Likewise.
69031         * lib/sys_stat_.h: Likewise.
69032         * lib/sys_time_.h: Likewise.
69033         * lib/time_.h: Likewise.
69034         * lib/unistd_.h: Likewise.
69035         * lib/wchar_.h: Likewise.
69036         * lib/wctype_.h: Likewise.
69037         * lib/dirent_.h: Likewise.
69038         * lib/iconv_.h: Likewise.
69039         * lib/locale_.h: Likewise.
69040         * lib/netinet_in_.h: Likewise.
69041         * lib/sys_select_.h: Likewise.
69042         * lib/sys_socket_.h: Likewise.
69043         * lib/sysexits_.h: Likewise.
69044         * modules/fcntl (Depends-on): Depend on include_next, not
69045         absolute_header.
69046         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
69047         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
69048         * modules/fchdir: Likewise.
69049         * modules/float: Likewise.
69050         * modules/iconv_open: Likewise.
69051         * modules/inttypes: Likewise.
69052         * modules/locale: Likewise.
69053         * modules/math: Likewise.
69054         * modules/netinet_in: Likewise.
69055         * modules/search: Likewise.
69056         * modules/signal: Likewise.
69057         * modules/stdint: Likewise.
69058         * modules/stdio: Likewise.
69059         * modules/stdlib: Likewise.
69060         * modules/string: Likewise.
69061         * modules/sys_select: Likewise.
69062         * modules/sys_socket: Likewise.
69063         * modules/sys_stat: Likewise.
69064         * modules/sys_time: Likewise.
69065         * modules/sysexits: Likewise.
69066         * modules/time: Likewise.
69067         * modules/unistd: Likewise.
69068         * modules/wchar: Likewise.
69069         * modules/wctype: Likewise.
69070         * modules/sys_stat: Change maintainer to "all".
69071         * modules/unistd: Likewise.
69072
69073 2007-06-20  Karl Berry  <karl@gnu.org>
69074
69075         * config/srclist.txt: track www changes in license files.
69076
69077 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
69078
69079         * build-aux/bootstrap: Remove stray dot.
69080         Make sure build_aux settings are honored when linking
69081         gnulib_extra_files.
69082
69083 2007-06-19  Eric Blake  <ebb9@byu.net>
69084
69085         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
69086         Allow compilation on cygwin.
69087
69088 2007-06-19  Jim Meyering  <jim@meyering.net>
69089
69090         xreadlink-with-size: Remove module.  No longer used.
69091         Ex-callers now use xreadlink or mreadlink-with-size.
69092         * modules/xreadlink-with-size: Remove module.
69093         * lib/xreadlink-with-size.c: Remove file.
69094         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
69095         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
69096         just before the function definition *is* accurate.
69097
69098         Eliminate one way canonicalize_filename_mode could exit.
69099         * lib/canonicalize.c (canonicalize_filename_mode):
69100         Use mreadlink_with_size, not xreadlink_with_size.
69101
69102 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
69103
69104         Detect porting problems to FreeBSD/arm, which has time_t wider than
69105         long int.  Original problem reported for GNU diff by Xin Li in
69106         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
69107         * modules/getdate (Depends-on): Add intprops, verify.
69108         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
69109         is an integer type no wider than long int.
69110
69111 2007-06-18  Jim Meyering  <jim@meyering.net>
69112
69113         New module: mreadlink-with-size.
69114         * MODULES.html.sh: Add mreadlink-with-size.
69115         * modules/mreadlink-with-size: New module
69116         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
69117         not xreadlink-with-size.
69118         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
69119
69120 2007-06-16  Bruno Haible  <bruno@clisp.org>
69121
69122         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
69123         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
69124         Reported by Gary V. Vaughan <gary@gnu.org>.
69125
69126 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
69127
69128         Revamp lchown so that it lives in unistd.h where it belongs.
69129         * lib/lchown.h: Remove.
69130         * lib/dirchownmod.c: Don't include lib/lchown.h.
69131         * lib/fchownat.c: Likewise.
69132         * lib/openat.c: Likewise.
69133         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
69134         does not follow symlinks.
69135         (EOPNOTSUPP): Define if not defined.
69136         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
69137         is defined to 0.
69138         (lchown): New decl.
69139         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
69140         Do not check for lchown decl.
69141         Set REPLACE_LCHOWN.
69142         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
69143         REPLACE_LCHOWN.
69144         * modules/chown: Make it clear it follows symlinks.
69145         * modules/lchown: Make it clear it doesn't follow symlinks.
69146         (Files): Remove lib/lchown.h
69147         (Depends-on): Add unistd.
69148         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
69149         (Include): Include <unistd.h>, not "lchown.h".
69150         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
69151         REPLACE_LCHOWN.
69152
69153 2007-06-15  Jim Meyering  <jim@meyering.net>
69154
69155         Change license (GPL to LGPL) of fsusage and dependents.
69156         * modules/fsusage (License): Change to LGPL.
69157         * modules/full-read (License): Likewise.
69158         * modules/full-write (License): Likewise.
69159         * modules/safe-read (License): Likewise.
69160         * modules/safe-write (License): Likewise.
69161
69162 2007-06-14  Ben Pfaff  <blp@gnu.org>
69163
69164         Missing part of allocsa -> malloca transition.
69165         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
69166         gl_MALLOCA.
69167
69168 2007-06-12  Bruno Haible  <bruno@clisp.org>
69169
69170         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
69171         to ia64, x86_64, i386.
69172         Reported by Eric Blake.
69173
69174 2007-06-12  Bruno Haible  <bruno@clisp.org>
69175
69176         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
69177         cross-compiling to x86_64.
69178
69179 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
69180
69181         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
69182         glitch reported by Ralf Wildenhues in
69183         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
69184
69185         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
69186         Vin Shelton.
69187
69188 2007-06-11  Bruno Haible  <bruno@clisp.org>
69189
69190         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
69191         replacement string.
69192         Reported by Eric Blake.
69193
69194 2007-06-10  Bruno Haible  <bruno@clisp.org>
69195
69196         Prepare vasnprintf code for use with Unicode strings.
69197         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
69198         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
69199         TYPE_U32_STRING.
69200         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
69201         a_u32_string variants.
69202         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
69203         * lib/printf-args.c: Don't include config.h and the specification
69204         header if PRINTF_FETCHARGS is already defined.
69205         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
69206         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
69207         TYPE_U16_STRING, TYPE_U32_STRING.
69208         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
69209         u16_directive, u16_directives, u32_directive, u32_directives): New
69210         types.
69211         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
69212         New declarations.
69213         * lib/printf-parse.c: Don't include config.h and the specification
69214         header if PRINTF_PARSE is already defined. Eliminate the set of
69215         parameters for WIDE_CHAR_VERSION; the user of this file must provide
69216         them now. Include c-ctype.h.
69217         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
69218         directive and CHAR_T_ONLY_ASCII.
69219         * lib/vasnprintf.c: Don't include config.h and the specification header
69220         if VASNPRINTF is already defined.
69221         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
69222         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
69223         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
69224         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
69225         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
69226         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
69227         code accordingly.
69228         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
69229         pad_ourselves also in this case, with the 'c' and 's' directives, and
69230         with a different notion of "width".
69231         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
69232
69233 2007-06-10  Bruno Haible  <bruno@clisp.org>
69234
69235         * modules/unistr/u32-mbsnlen: New file.
69236         * lib/unistr/u32-mbsnlen.c: New file.
69237
69238         * modules/unistr/u16-mbsnlen: New file.
69239         * lib/unistr/u16-mbsnlen.c: New file.
69240
69241         * modules/unistr/u8-mbsnlen: New file.
69242         * lib/unistr/u8-mbsnlen.c: New file.
69243
69244         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
69245         declarations.
69246
69247 2007-06-10  Bruno Haible  <bruno@clisp.org>
69248
69249         * lib/string_.h (mbsnlen): New declaration.
69250         * lib/mbsnlen.c: New file.
69251         * m4/mbsnlen.m4: New file.
69252         * modules/mbsnlen: New file.
69253         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
69254         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
69255         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
69256
69257 2007-06-10  Bruno Haible  <bruno@clisp.org>
69258
69259         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
69260
69261 2007-06-10  Bruno Haible  <bruno@clisp.org>
69262
69263         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
69264         * lib/mbuiter.h: Likewise.
69265
69266 2007-06-10  Bruno Haible  <bruno@clisp.org>
69267
69268         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
69269         declaration.
69270
69271 2007-06-10  Karl Berry  <karl@gnu.org>
69272
69273         * config/srclist.txt: remove gettext entries, Bruno prefers
69274         to update individually.
69275
69276 2007-06-10  Bruno Haible  <bruno@clisp.org>
69277
69278         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
69279         'maxlen'. Ensure only length + width bytes are allocated, not
69280         length + 1 + width.
69281
69282 2007-06-09  Bruno Haible  <bruno@clisp.org>
69283
69284         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
69285         (CHAR_T): Remove macro.
69286         (VASNPRINTF): Update.
69287
69288 2007-06-09  Bruno Haible  <bruno@clisp.org>
69289
69290         * MODULES.html.sh (Unicode string functions): Add the new modules.
69291
69292         * modules/uniconv/u32-conv-to-enc: New file.
69293         * lib/uniconv/u32-conv-to-enc.c: New file.
69294         * modules/uniconv/u32-conv-to-enc-tests: New file.
69295         * tests/uniconv/test-u32-conv-to-enc.c: New file.
69296
69297         * modules/uniconv/u16-conv-to-enc: New file.
69298         * lib/uniconv/u16-conv-to-enc.c: New file.
69299         * lib/uniconv/u-conv-to-enc.h: New file.
69300         * modules/uniconv/u16-conv-to-enc-tests: New file.
69301         * tests/uniconv/test-u16-conv-to-enc.c: New file.
69302
69303         * modules/uniconv/u8-conv-to-enc: New file.
69304         * lib/uniconv/u8-conv-to-enc.c: New file.
69305         * modules/uniconv/u8-conv-to-enc-tests: New file.
69306         * tests/uniconv/test-u8-conv-to-enc.c: New file.
69307
69308         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
69309         u32_conv_to_encoding): New declarations.
69310
69311 2007-06-09  Bruno Haible  <bruno@clisp.org>
69312
69313         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
69314
69315 2007-06-09  Bruno Haible  <bruno@clisp.org>
69316
69317         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
69318         * modules/malloca: Renamed from modules/allocsa, updated.
69319         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
69320         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
69321         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
69322         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
69323         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
69324         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
69325         * modules/xmalloca: Renamed from modules/xallocsa, updated.
69326         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
69327         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
69328         * modules/c-strcasestr (Depends-on): Update.
69329         * lib/c-strcasestr.c: Update.
69330         * modules/c-strstr (Depends-on): Update.
69331         * lib/c-strstr.c: Update.
69332         * modules/canonicalize-lgpl (Depends-on): Update.
69333         * lib/canonicalize-lgpl.c: Update.
69334         * modules/clean-temp (Depends-on): Update.
69335         * lib/clean-temp.c: Update.
69336         * modules/csharpcomp (Depends-on): Update.
69337         * lib/csharpcomp.c: Update.
69338         * modules/csharpexec (Depends-on): Update.
69339         * lib/csharpexec.c: Update.
69340         * modules/javacomp (Depends-on): Update.
69341         * lib/javacomp.c: Update.
69342         * modules/javaexec (Depends-on): Update.
69343         * lib/javaexec.c: Update.
69344         * modules/mbscasestr (Depends-on): Update.
69345         * lib/mbscasestr.c: Update.
69346         * modules/mbsstr (Depends-on): Update.
69347         * lib/mbsstr.c: Update.
69348         * modules/setenv (Depends-on): Update.
69349         * lib/setenv.c: Update.
69350         * modules/strcasestr (Depends-on): Update.
69351         * lib/strcasestr.c: Update.
69352         * modules/striconveha (Depends-on): Update.
69353         * lib/striconveha.c: Update.
69354         * modules/relocatable-prog-wrapper (Files): Update.
69355         * lib/relocwrapper.c: Update.
69356         * build-aux/install-reloc: Update.
69357         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
69358
69359 2007-06-08  Bruno Haible  <bruno@clisp.org>
69360
69361         Port to uClibc.
69362         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
69363         * lib/fpurge.c (fpurge): Likewise.
69364         * lib/freading.c (freading): Likewise.
69365         * lib/fseeko.c (rpl_fseeko): Likewise.
69366         * lib/fseterr.c (fseterr): Likewise.
69367         * lib/fwriting.c (fwriting): Likewise.
69368         * tests/test-fflush.c (main): Avoid a failure on uClibc.
69369
69370 2007-06-08  Bruno Haible  <bruno@clisp.org>
69371
69372         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
69373         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
69374         * modules/gettext (Files): Add m4/intlmacosx.m4.
69375
69376 2007-06-07  Bruno Haible  <bruno@clisp.org>
69377
69378         * modules/localename-tests: New file.
69379         * tests/test-localename.c: New file.
69380
69381         New module 'localename'.
69382         * lib/localename.h: New file.
69383         * lib/localename.c: New file, from GNU gettext.
69384         * m4/localename.m4: New file.
69385         * modules/localename: New file.
69386
69387 2007-06-07  Bruno Haible  <bruno@clisp.org>
69388
69389         Work around the lack of <wchar.h> on some builds of uClibc.
69390         * doc/headers/wchar.texi: Update.
69391         * lib/wchar_.h: Include <wchar.h> only if it exists.
69392         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
69393         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
69394         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
69395         doesn't exist.
69396         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
69397         * modules/mbfile (Depends-on): Add wchar.
69398         * modules/mbiter (Depends-on): Likewise.
69399         * modules/mbuiter (Depends-on): Likewise.
69400         Reported by Simon Josefsson.
69401
69402 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
69403
69404         Work around problem reported by Steven M. Schweda in
69405         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
69406         Tru64 5.1B with the Compaq compiler environment installed declares
69407         an 'isblank' function but does not define it in the C library.
69408         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
69409         * lib/regex_internal.h (isblank): Likewise.
69410         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
69411         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
69412
69413 2007-06-05  Bruno Haible  <bruno@clisp.org>
69414
69415         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
69416         ia64.
69417         * modules/printf-safe: New file.
69418         * modules/fprintf-posix (Depends-on): Add printf-safe.
69419         * modules/printf-posix (Depends-on): Likewise.
69420         * modules/snprintf-posix (Depends-on): Likewise.
69421         * modules/sprintf-posix (Depends-on): Likewise.
69422         * modules/vasnprintf-posix (Depends-on): Likewise.
69423         * modules/vasprintf-posix (Depends-on): Likewise.
69424         * modules/vfprintf-posix (Depends-on): Likewise.
69425         * modules/vprintf-posix (Depends-on): Likewise.
69426         * modules/vsnprintf-posix (Depends-on): Likewise.
69427         * modules/vsprintf-posix (Depends-on): Likewise.
69428         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
69429         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
69430         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
69431         "no" on i386, x86_64, ia64.
69432         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
69433         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69434         on i386, x86_64, ia64.
69435         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
69436         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69437         on i386, x86_64, ia64.
69438         * tests/test-vasnprintf-posix.c: Include float.h.
69439         (LDBL80_WORDS): New macro.
69440         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69441         on i386, x86_64, ia64.
69442         * tests/test-vasprintf-posix.c: Include float.h.
69443         (LDBL80_WORDS): New macro.
69444         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69445         on i386, x86_64, ia64.
69446         * tests/test-snprintf-posix.c: Include float.h.
69447         * tests/test-sprintf-posix.c: Likewise.
69448         * tests/test-vsnprintf-posix.c: Likewise.
69449         * tests/test-vsprintf-posix.c: Likewise.
69450
69451 2007-06-05  Bruno Haible  <bruno@clisp.org>
69452
69453         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
69454         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
69455         non-IEEE numbers on i386, x86_64, ia64.
69456         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
69457         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
69458         * tests/test-isnanl.h: Include float.h.
69459         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
69460
69461 2007-06-05  Bruno Haible  <bruno@clisp.org>
69462
69463         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
69464         also the %a / %A. Handle the %a / %A code before this extra handling.
69465
69466 2007-06-05  Bruno Haible  <bruno@clisp.org>
69467
69468         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
69469         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
69470
69471 2007-06-05  Bruno Haible  <bruno@clisp.org>
69472
69473         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
69474         typo in variable name.
69475
69476 2007-06-05  Eric Blake  <ebb9@byu.net>
69477
69478         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
69479         Reported by Simon Josefsson.
69480
69481 2007-06-04  Bruno Haible  <bruno@clisp.org>
69482
69483         Avoid test failures on some PowerPC platforms.
69484         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
69485         Define differently for PowerPC.
69486         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
69487         Reported by Gary V. Vaughan <gary@gnu.org>.
69488
69489 2007-06-02  Bruno Haible  <bruno@clisp.org>
69490
69491         Fix test-stdint failure on FreeBSD/ia64.
69492         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
69493         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
69494         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
69495         * doc/headers/stdint.texi: Update.
69496
69497 2007-06-01  Bruno Haible  <bruno@clisp.org>
69498
69499         * tests/test-binary-io.c (main): Pass a third argument to open().
69500         Reported by Gary V. Vaughan <gary@gnu.org>.
69501
69502 2007-06-01  Bruno Haible  <bruno@clisp.org>
69503
69504         * doc/functions/frexpl.texi: Update for mingw.
69505
69506 2007-06-01  Bruno Haible  <bruno@clisp.org>
69507
69508         * tests/test-lseek.c (main): Disable test of errno for invalid third
69509         argument.
69510         * doc/functions/lseek.texi: Update.
69511         Reported by Gary V. Vaughan <gary@gnu.org>.
69512
69513 2007-05-28  Bruno Haible  <bruno@clisp.org>
69514
69515         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
69516
69517 2007-05-31  Eric Blake  <ebb9@byu.net>
69518
69519         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
69520         cross compiling.
69521
69522 2007-05-30  Eric Blake  <ebb9@byu.net>
69523         and Bruno Haible  <bruno@clisp.org>
69524
69525         Work around mingw test failures exposed by m4-1.4.9b.
69526         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
69527         * tests/test-unistd.c: Disable uid_t and git_t tests for the
69528         moment.
69529
69530 2007-05-30  Bruno Haible  <bruno@clisp.org>
69531
69532         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
69533         assuming that they are closed. Needed on HP-UX 11.
69534
69535 2007-05-29  Bruno Haible  <bruno@clisp.org>
69536
69537         Fix a problem with #include_next.
69538         * lib/dirent_.h: Split the double-inclusion guard.
69539         * lib/fcntl_.h: Likewise.
69540         * lib/float_.h: Likewise.
69541         * lib/iconv_.h: Likewise.
69542         * lib/inttypes_.h: Likewise.
69543         * lib/locale_.h: Likewise.
69544         * lib/math_.h: Likewise.
69545         * lib/netinet_in_.h: Likewise.
69546         * lib/search_.h: Likewise.
69547         * lib/signal_.h: Likewise.
69548         * lib/stdint_.h: Likewise.
69549         * lib/stdio_.h: Likewise.
69550         * lib/stdlib_.h: Likewise.
69551         * lib/string_.h: Likewise.
69552         * lib/sys_select_.h: Likewise.
69553         * lib/sys_socket_.h: Likewise.
69554         * lib/sys_stat_.h: Likewise.
69555         * lib/sys_time_.h: Likewise.
69556         * lib/sysexits_.h: Likewise.
69557         * lib/time_.h: Likewise.
69558         * lib/unistd_.h: Likewise.
69559         * lib/wchar_.h: Likewise.
69560         * lib/wctype_.h: Likewise.
69561
69562 2007-05-29  Bruno Haible  <bruno@clisp.org>
69563
69564         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
69565         for the moment.
69566
69567 2007-05-29  Bruno Haible  <bruno@clisp.org>
69568
69569         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
69570         invocation.
69571         Reported by Eric Blake.
69572
69573 2007-05-29  Bruno Haible  <bruno@clisp.org>
69574
69575         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
69576         compiling case.
69577
69578 2007-05-29  Eric Blake  <ebb9@byu.net>
69579             Bruno Haible  <bruno@clisp.org>
69580
69581         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
69582         cross compiles.
69583
69584 2007-05-28  Eric Blake  <ebb9@byu.net>
69585
69586         * modules/closein-tests (test_closein_LDADD): Support test on
69587         cygwin with libtool.
69588
69589 2007-05-28  Bruno Haible  <bruno@clisp.org>
69590
69591         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
69592         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
69593         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
69594         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
69595         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
69596         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
69597         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
69598         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
69599         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
69600
69601 2007-05-28  Eric Blake  <ebb9@byu.net>
69602
69603         Unconditionally include <config.h> in unit tests.
69604         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
69605         * tests/test-allocsa.c, tests/test-arcfour.c,
69606         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
69607         tests/test-array_list.c, tests/test-array_oset.c,
69608         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
69609         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
69610         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
69611         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
69612         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
69613         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
69614         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
69615         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
69616         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
69617         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
69618         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
69619         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
69620         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
69621         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
69622         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
69623         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
69624         test-md5.c, test-memmem.c, test-printf-posix.c,
69625         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
69626         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
69627         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
69628         test-strcasestr.c, test-striconv.c, test-striconveh.c,
69629         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
69630         test-vasnprintf-posix2.c, test-vasnprintf.c,
69631         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
69632         test-vfprintf-posix.c, test-vprintf-posix.c,
69633         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
69634         test-xvasprintf.c: Likewise.
69635
69636 2007-05-28  Bruno Haible  <bruno@clisp.org>
69637
69638         * gnulib-tool (func_import): Remember the --with-tests command-line
69639         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
69640         Reported by Eric Blake.
69641
69642 2007-05-28  Bruno Haible  <bruno@clisp.org>
69643
69644         * modules/ftell-tests: New file.
69645         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
69646         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
69647
69648         * lib/ftell.c: New file.
69649         * modules/ftell: New file.
69650         * m4/ftell.m4: New file.
69651         * doc/functions/ftell.texi: Update.
69652         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
69653         REPLACE_FTELL.
69654         * lib/stdio_.h (rpl_ftell): New declaration.
69655         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
69656         REPLACE_FTELL.
69657
69658 2007-05-28  Eric Blake  <ebb9@byu.net>
69659
69660         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
69661
69662 2007-05-28  Bruno Haible  <bruno@clisp.org>
69663
69664         * modules/fseek-tests: New file.
69665         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
69666         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
69667
69668         * lib/fseek.c: New file.
69669         * modules/fseek: New file.
69670         * m4/fseek.m4: New file.
69671         * doc/functions/fseek.texi: Update.
69672         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
69673         REPLACE_FSEEK.
69674         * lib/stdio_.h (rpl_fseek): New declaration.
69675         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
69676         REPLACE_FSEEK.
69677
69678 2007-05-28  Bruno Haible  <bruno@clisp.org>
69679
69680         * lib/stdio_.h (fflush): More comments.
69681
69682 2007-05-28  Bruno Haible  <bruno@clisp.org>
69683
69684         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
69685         runtime test.
69686
69687 2007-05-28  Eric Blake  <ebb9@byu.net>
69688
69689         Improve lseek module.
69690         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
69691         * lib/unistd_.h (lseek): Scale back link warning message.
69692         * tests/test-lseek.c: Beef up test.
69693         * tests/test-lseek.sh: Exercise more facets of lseek.
69694         Reported by Bruno Haible.
69695
69696 2007-05-28  Bruno Haible  <bruno@clisp.org>
69697
69698         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
69699         to define.
69700
69701 2007-05-27  Bruno Haible  <bruno@clisp.org>
69702
69703         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
69704
69705 2007-05-27  Bruno Haible  <bruno@clisp.org>
69706
69707         * modules/openmp: New file.
69708         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
69709         Noah Misch.
69710
69711 2007-05-26  Bruno Haible  <bruno@clisp.org>
69712
69713         * modules/chdir-long (Depends-on): Add fchdir.
69714         * modules/chdir-safer (Depends-on): Likewise.
69715         * modules/fts (Depends-on): Likewise.
69716         * modules/fts-lgpl (Depends-on): Likewise.
69717         * modules/openat (Depends-on): Likewise.
69718         * modules/savewd (Depends-on): Likewise.
69719
69720 2007-05-24  Eric Blake  <ebb9@byu.net>
69721
69722         Fix lseek on mingw.
69723         * modules/lseek: New module.
69724         * m4/lseek.m4: New file.
69725         * lib/lseek.c: New file.
69726         * modules/lseek-tests: New file.
69727         * tests/test-lseek.c: New file.
69728         * tests/test-lseek.sh: New file.
69729         * MODULES.html.sh: Document lseek module.
69730         * modules/fflush (Depends-on): Add lseek, fseeko.
69731         * modules/fseeko (Depends-on): Likewise.
69732         * modules/ftello (Depends-on): Likewise.
69733         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
69734         broken.
69735         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
69736         broken.
69737         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
69738         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
69739         * lib/ftello.c (rpl_ftello): Likewise.
69740         * tests/test-fseeko.c (main): Test this.
69741         * tests/test-fseeko.sh: Likewise.
69742         * tests/test-ftello.c (main): Likewise.
69743         * tests/test-ftello.sh: Likewise.
69744         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
69745         implies replacing fseek.
69746         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
69747         HAVE_FTELLO.
69748         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
69749         * modules/unistd (Makefile.am): Likewise.
69750         * lib/unistd_.h (lseek): Declare a replacement.
69751         * doc/functions/lseek.texi (lseek): Document this fix.
69752         * doc/functions/fseek.texi (fseek): Likewise.
69753         * doc/functions/ftell.texi (ftell): Likewise.
69754
69755 2007-05-24  Bruno Haible  <bruno@clisp.org>
69756
69757         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
69758         in the printed representation of a NaN.
69759         * tests/test-vasprintf-posix.c (test_function): Likewise.
69760         * tests/test-snprintf-posix.h (test_function): Likewise.
69761         * tests/test-sprintf-posix.h (test_function): Likewise.
69762         Reported by Eric Blake.
69763
69764 2007-05-23  Eric Blake  <ebb9@byu.net>
69765
69766         Fix fseeko/ftello on cygwin 1.5.24.
69767         * doc/functions/fseeko.texi (fseeko): Document the fix.
69768         * doc/functions/ftello.texi (ftello): Document the fix.
69769         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
69770         * doc/functions/stdout.text (stdout): New file.
69771         * doc/functions/stderr.text (stderr): New file.
69772         * doc/gnulib.texi (Function Substitutes): Use new files.
69773         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
69774         prior to 1.7.0.
69775         * tests/test-ftello.c (main): Likewise for ftello.
69776         * tests/test-fseeko.sh: New file.
69777         * tests/test-ftello.sh: New file.
69778         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
69779         with seekable stdin.
69780         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
69781         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
69782         (gl_REPLACE_FSEEKO): New macro.
69783         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
69784         * modules/fseeko (Files): Distribute fseeko.c.
69785         * modules/ftello (Files): Distribute ftello.c.
69786         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
69787         mode.
69788         * lib/ftello.c (rpl_ftello): New file.
69789         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
69790         fseeko, ftello.
69791         (gl_STDIN_LARGE_OFFSET): New macro.
69792         * modules/stdio (Makefile.am): Perform the replacement.
69793         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
69794
69795 2007-05-23  Bruno Haible  <bruno@clisp.org>
69796
69797         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
69798         GNULIB_POSIXCHECK is defined.
69799
69800 2007-05-21  Bruno Haible  <bruno@clisp.org>
69801
69802         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
69803         Check also the output for NaN arguments. When cross-compiling, guess
69804         no on IRIX.
69805         * lib/vasnprintf.c: Update comments.
69806         * tests/test-vasnprintf-posix.c (strisnan): New function.
69807         (test_function): Use it.
69808         * tests/test-vasprintf-posix.c (strisnan): New function.
69809         (test_function): Use it.
69810         * tests/test-snprintf-posix.h (strisnan): New function.
69811         (test_function): Use it.
69812         * tests/test-sprintf-posix.h (strisnan): New function.
69813         (test_function): Use it.
69814         Reported by Eric Blake.
69815
69816 2007-05-20  Bruno Haible  <bruno@clisp.org>
69817
69818         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
69819         numbers that fails on BeOS.
69820         * doc/functions/frexpl.texi: Update.
69821
69822 2007-05-20  Jim Meyering  <jim@meyering.net>
69823
69824         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
69825         forced upon us by glibc-2.6.
69826
69827 2007-05-20  Bruno Haible  <bruno@clisp.org>
69828
69829         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
69830         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
69831         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
69832         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
69833         NEED_PRINTF_INFINITE.
69834         (is_infinitel): New function.
69835         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
69836         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
69837         gl_PREREQ_VASNPRINTF_INFINITE.
69838         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
69839         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69840         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
69841         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
69842         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
69843         gl_PREREQ_VASNPRINTF_INFINITE.
69844         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69845         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69846         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69847         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69848         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69849         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69850         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69851         * doc/functions/fprintf.texi: Update.
69852         * doc/functions/printf.texi: Update.
69853         * doc/functions/snprintf.texi: Update.
69854         * doc/functions/sprintf.texi: Update.
69855         * doc/functions/vfprintf.texi: Update.
69856         * doc/functions/vprintf.texi: Update.
69857         * doc/functions/vsnprintf.texi: Update.
69858         * doc/functions/vsprintf.texi: Update.
69859
69860 2007-05-20  Bruno Haible  <bruno@clisp.org>
69861
69862         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
69863         was not found in libc.
69864         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
69865
69866 2007-05-20  Bruno Haible  <bruno@clisp.org>
69867
69868         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69869         printed as "-nan" instead of "nan".
69870         * tests/test-vasprintf-posix.c (test_function): Likewise.
69871         * tests/test-snprintf-posix.h (test_function): Likewise.
69872         * tests/test-sprintf-posix.h (test_function): Likewise.
69873         Needed for HP-UX 11.
69874
69875 2007-05-20  Jim Meyering  <jim@meyering.net>
69876
69877         Fix buggy test for the fchownat-deref bug.
69878         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
69879         symlink required for the run-test.  Without it, this test would
69880         always declare that fchownat doesn't work, and client code would
69881         unnecessarily use the replacement function with fixed libc.
69882         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
69883         Reported by Greg Schafer.
69884
69885 2007-05-19  Bruno Haible  <bruno@clisp.org>
69886
69887         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
69888         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
69889         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
69890         Needed for IRIX 6.5 and Solaris 2.5.1.
69891
69892 2007-05-19  Bruno Haible  <bruno@clisp.org>
69893
69894         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
69895         (test_function): Skip tests involving -0.0 on platforms where
69896         -0.0 = 0.0.
69897         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
69898         (test_function): Skip tests involving -0.0 on platforms where
69899         -0.0 = 0.0.
69900         * tests/test-snprintf-posix.h (have_minus_zero): New function.
69901         (test_function): Skip tests involving -0.0 on platforms where
69902         -0.0 = 0.0.
69903         * tests/test-sprintf-posix.h (have_minus_zero): New function.
69904         (test_function): Skip tests involving -0.0 on platforms where
69905         -0.0 = 0.0.
69906         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
69907         tests.
69908         * tests/test-printf-posix.h (test_function): Likewise.
69909         * tests/test-printf-posix.output: Remove all -0.0 related results.
69910         Needed for IRIX 6.5.
69911
69912 2007-05-19  Bruno Haible  <bruno@clisp.org>
69913
69914         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69915         printed as "nan0x7fffffff" instead of "nan".
69916         * tests/test-vasprintf-posix.c (test_function): Likewise.
69917         * tests/test-snprintf-posix.h (test_function): Likewise.
69918         * tests/test-sprintf-posix.h (test_function): Likewise.
69919         * tests/test-fprintf-posix.h (NaN): Remove macro.
69920         (test_function): Remove all NaN related tests.
69921         * tests/test-printf-posix.h (NaN): Remove macro.
69922         (test_function): Remove all NaN related tests.
69923         * tests/test-printf-posix.output: Remove all NaN related results.
69924         Needed for IRIX 6.5.
69925
69926 2007-05-19  Bruno Haible  <bruno@clisp.org>
69927
69928         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
69929         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
69930
69931 2007-05-19  Bruno Haible  <bruno@clisp.org>
69932
69933         * lib/float_.h: New file.
69934         * m4/float_h.m4: New file.
69935         * modules/float: New file.
69936         * modules/isnanl (Dependencies): Add float.
69937         * modules/isnanl-nolibm (Dependencies): Likewise.
69938         * modules/mathl (Dependencies): Likewise.
69939         * modules/printf-frexpl (Dependencies): Likewise.
69940         * modules/signbit (Dependencies): Likewise.
69941         * modules/vasnprintf (Dependencies): Likewise.
69942         * doc/headers/float.texi: Update.
69943
69944 2007-05-19  Jim Meyering  <jim@meyering.net>
69945
69946         * lib/utimens.c (gl_futimens): Rename from futimens,
69947         now that glibc-2.6 declares futimens.
69948         * lib/utimens.h: Likewise.
69949
69950 2007-05-19  Bruno Haible  <bruno@clisp.org>
69951
69952         Avoid test failures on mingw.
69953         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
69954         * tests/test-printf-posix.sh: Likewise.
69955         * tests/test-vfprintf-posix.sh: Likewise.
69956         * tests/test-vprintf-posix.sh: Likewise.
69957
69958 2007-05-19  Bruno Haible  <bruno@clisp.org>
69959
69960         Fix *printf result for NaN, Inf, -0.0 on mingw.
69961         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
69962         * lib/vasnprintf.c: Include math.h and isnan.h.
69963         (is_infinite_or_zero): New function.
69964         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
69965         values in the %f, %F, %e, %E, %g, %G directives.
69966         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
69967         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69968         gl_PRINTF_INFINITE and test its result. Invoke
69969         gl_PREREQ_VASNPRINTF_INFINITE.
69970         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69971         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69972         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69973         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69974         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69975         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69976         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69977         * doc/functions/fprintf.texi: Update.
69978         * doc/functions/printf.texi: Update.
69979         * doc/functions/snprintf.texi: Update.
69980         * doc/functions/sprintf.texi: Update.
69981         * doc/functions/vfprintf.texi: Update.
69982         * doc/functions/vprintf.texi: Update.
69983         * doc/functions/vsnprintf.texi: Update.
69984         * doc/functions/vsprintf.texi: Update.
69985
69986 2007-05-19  Bruno Haible  <bruno@clisp.org>
69987
69988         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
69989         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
69990         Instead of multiplying with 10^k, set extra_zeroes to k.
69991         (scale10_round_long_double): Remove function.
69992
69993 2007-05-18  Bruno Haible  <bruno@clisp.org>
69994
69995         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
69996         introduced on 2007-05-06.
69997
69998 2007-05-18  Bruno Haible  <bruno@clisp.org>
69999
70000         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
70001         %g directives.
70002         * tests/test-vasprintf-posix.c (test_function): Likewise.
70003         * tests/test-snprintf-posix.h (test_function): Likewise.
70004         * tests/test-sprintf-posix.h (test_function): Likewise.
70005
70006 2007-05-18  Bruno Haible  <bruno@clisp.org>
70007
70008         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
70009         (strmatch): New function.
70010         (test_function): Test the %f directive on numbers of various exponents.
70011         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
70012         (strmatch): New function.
70013         (test_function): Test the %f directive on numbers of various exponents.
70014         * tests/test-snprintf-posix.h (strmatch): New function.
70015         (test_function): Test the %f directive on numbers of various exponents.
70016         * tests/test-sprintf-posix.h (strmatch): New function.
70017         (test_function): Test the %f directive on numbers of various exponents.
70018         * tests/test-snprintf-posix.c (SIZEOF): New macro.
70019         * tests/test-sprintf-posix.c (SIZEOF): New macro.
70020         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
70021         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
70022
70023 2007-05-18  Bruno Haible  <bruno@clisp.org>
70024
70025         Add support for 'long double' number output.
70026         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
70027         * lib/vasnprintf.c: Include math.h and float+.h.
70028         (mp_limb_t): New type.
70029         (GMP_LIMB_BITS): New macro.
70030         (mp_twolimb_t): New type.
70031         (GMP_TWOLIMB_BITS): New macro.
70032         (mpn_t): New type.
70033         (multiply, divide, convert_to_decimal, decode_long_double,
70034         scale10_round_long_double, scale10_round_decimal_long_double,
70035         floorlog10l): New functions.
70036         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
70037         for the %f, %F, %e, %E, %g, %G directives.
70038         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
70039         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
70040         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
70041         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
70042         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
70043         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70044         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70045         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70046         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
70047         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
70048         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70049         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
70050         * modules/snprintf-posix (Depends-on): Likewise.
70051         * modules/sprintf-posix (Depends-on): Likewise.
70052         * modules/vasnprintf-posix (Depends-on): Likewise.
70053         * modules/vasprintf-posix (Depends-on): Likewise.
70054         * modules/vfprintf-posix (Depends-on): Likewise.
70055         * modules/vsnprintf-posix (Depends-on): Likewise.
70056         * modules/vsprintf-posix (Depends-on): Likewise.
70057         * modules/vasnprintf (Files): Add lib/float+.h.
70058         * doc/functions/fprintf.texi: Update.
70059         * doc/functions/printf.texi: Update.
70060         * doc/functions/snprintf.texi: Update.
70061         * doc/functions/sprintf.texi: Update.
70062         * doc/functions/vfprintf.texi: Update.
70063         * doc/functions/vprintf.texi: Update.
70064         * doc/functions/vsnprintf.texi: Update.
70065         * doc/functions/vsprintf.texi: Update.
70066
70067 2007-05-18  Bruno Haible  <bruno@clisp.org>
70068
70069         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
70070
70071 2007-05-18  Bruno Haible  <bruno@clisp.org>
70072
70073         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
70074         for printing 64-bit integers. Needed for mingw.
70075
70076 2007-05-18  Bruno Haible  <bruno@clisp.org>
70077
70078         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
70079         gl_FUNC_FREXPL_WORKS.
70080         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
70081
70082 2007-05-18  Bruno Haible  <bruno@clisp.org>
70083
70084         * modules/frexpl-nolibm-tests: New file.
70085
70086         * modules/frexpl-nolibm: New file.
70087         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
70088
70089 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
70090
70091         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
70092         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
70093         GCC 4.2, which otherwise issues a lot of warnings.
70094         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
70095         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
70096         Likewise.
70097         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
70098         * modules/iconv_open (iconv.h): Likewise.
70099         * modules/locale (locale.h): Likewise.
70100         * modules/netinet_in (netinet/in.h): Likewise.
70101         * modules/sys_select (sys_select.h): Likewise.
70102         * modules/sys_socket (sys/socket.h): Likewise.
70103         * modules/sys_stat (sys/stat.h): Likewise.
70104         * modules/sysexits (sysexits.h): Likewise.
70105         * modules/unistd (unistd.h): Likewise.
70106
70107 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70108
70109         * modules/closein-tests (Makefile.am): Distribute
70110         `test-closein.sh'.
70111
70112 2007-05-17  Bruno Haible  <bruno@clisp.org>
70113
70114         * tests/test-printf-posix.output: Renamed from
70115         tests/test-fprintf-posix.out.
70116         * modules/fprintf-posix-tests: Update.
70117         * modules/printf-posix-tests: Update.
70118         * modules/vfprintf-posix-tests: Update.
70119         * modules/vprintf-posix-tests: Update.
70120         * tests/test-fprintf-posix.sh: Update.
70121         * tests/test-printf-posix.sh: Update.
70122         * tests/test-vfprintf-posix.sh: Update.
70123         * tests/test-vprintf-posix.sh: Update.
70124         Reported by Ralf Wildenhues.
70125
70126 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
70127
70128         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
70129         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
70130         GCC 4.2, which otherwise issues a lot of warnings.
70131         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
70132         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
70133         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
70134         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
70135         it should no longer be needed.
70136         * lib/string_.h: Likewise.
70137         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
70138         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
70139         * modules/inttypes (inttypes.h): Likewise.
70140         * modules/math (math.h): Likewise.
70141         * modules/search (search.h): Likewise.
70142         * modules/signal (signal.h): Likewise.
70143         * modules/stdint (stdint.h): Likewise.
70144         * modules/stdio (stdio.h): Likewise.
70145         * modules/stdlib (stdlib.h): Likewise.
70146         * modules/string (string.h): Likewise.
70147         * modules/sys_time (sys/time.h): Likewise.
70148         * modules/time (time.h): Likewise.
70149         * modules/wchar (wchar.h): Likewise.
70150         * modules/wctype (wtype.h): Likewise.
70151
70152 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
70153
70154         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
70155
70156 2007-05-13  Bruno Haible  <bruno@clisp.org>
70157
70158         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
70159         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
70160         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
70161         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
70162         (gl_PREREQ_STRTOK_R): Don't require it here.
70163
70164 2007-05-13  Bruno Haible  <bruno@clisp.org>
70165
70166         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
70167         when used in C++ mode.
70168
70169 2007-05-12  Bruno Haible  <bruno@clisp.org>
70170
70171         * lib/linebuffer.h: Tweak doc.
70172         * lib/linebuffer.c: Likewise.
70173
70174 2007-05-12  James Youngman  <jay@gnu.org>
70175
70176         * lib/linebuffer.c (readlinebuffer_delim): New function,
70177         like readlinebuffer, but use a caller-specified delimiter.
70178         (readlinebuffer): Just call readlinebuffer_delim with '\n'
70179         as the delimiter.
70180         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
70181
70182 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
70183
70184         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
70185         * modules/openat (Files): Remove openat-die.c.
70186         (Depends-on): Add openat-die.
70187         * modules/openat-die: New module.
70188
70189 2007-05-06  Bruno Haible  <bruno@clisp.org>
70190
70191         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
70192         Update with info about Cygwin.
70193         * doc/functions/fprintf.texi: Update.
70194         * doc/functions/printf.texi: Update.
70195         * doc/functions/snprintf.texi: Update.
70196         * doc/functions/sprintf.texi: Update.
70197         * doc/functions/vfprintf.texi: Update.
70198         * doc/functions/vprintf.texi: Update.
70199         * doc/functions/vsnprintf.texi: Update.
70200         * doc/functions/vsprintf.texi: Update.
70201         Reported by Eric Blake.
70202
70203 2007-05-06  Bruno Haible  <bruno@clisp.org>
70204
70205         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
70206         padding ourselves for the floating-point directives.
70207         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
70208         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
70209         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70210         gl_PRINTF_FLAG_ZERO and test its result. Invoke
70211         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
70212         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70213         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
70214         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70215         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70216         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
70217         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
70218         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70219         * tests/test-snprintf-posix.h (test_function): Also check the width
70220         and some flags in the %f directive.
70221         * tests/test-sprintf-posix.h (test_function): Likewise.
70222         * tests/test-vasnprintf-posix.c (test_function): Likewise.
70223         * tests/test-vasprintf-posix.c (test_function): Likewise.
70224         * doc/functions/fprintf.texi: Update.
70225         * doc/functions/printf.texi: Update.
70226         * doc/functions/snprintf.texi: Update.
70227         * doc/functions/sprintf.texi: Update.
70228         * doc/functions/vfprintf.texi: Update.
70229         * doc/functions/vprintf.texi: Update.
70230         * doc/functions/vsnprintf.texi: Update.
70231         * doc/functions/vsprintf.texi: Update.
70232
70233 2007-05-06  Bruno Haible  <bruno@clisp.org>
70234
70235         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
70236         pass the ' flag character to sprintf or snprintf.
70237         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
70238         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
70239         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70240         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
70241         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
70242         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70243         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
70244         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70245         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70246         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
70247         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
70248         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70249         * tests/test-snprintf-posix.h (test_function): Also check the grouping
70250         flag.
70251         * tests/test-sprintf-posix.h (test_function): Likewise.
70252         * tests/test-vasnprintf-posix.c (test_function): Likewise.
70253         * tests/test-vasprintf-posix.c (test_function): Likewise.
70254         * doc/functions/fprintf.texi: Update.
70255         * doc/functions/printf.texi: Update.
70256         * doc/functions/snprintf.texi: Update.
70257         * doc/functions/sprintf.texi: Update.
70258         * doc/functions/vfprintf.texi: Update.
70259         * doc/functions/vprintf.texi: Update.
70260         * doc/functions/vsnprintf.texi: Update.
70261         * doc/functions/vsprintf.texi: Update.
70262
70263 2007-05-01  Bruno Haible  <bruno@clisp.org>
70264
70265         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
70266
70267 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
70268
70269         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
70270         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
70271
70272 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
70273
70274         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
70275         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
70276         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
70277
70278 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
70279
70280         * lib/argp-help.c (struct hol_entry): New member `ord'.
70281         (HOL_ENTRY_PTRCMP): Use ord for comparison
70282         (hol_sort): Initialize ord.
70283
70284 2007-05-01  Bruno Haible  <bruno@clisp.org>
70285
70286         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
70287         Reported by Eric Blake.
70288         * doc/gnulib.texi (Function Substitutes): Update.
70289
70290 2007-05-01  Bruno Haible  <bruno@clisp.org>
70291
70292         * doc/functions.texi: Remove file, now redundant through
70293         doc/functions/*.texi.
70294
70295 2007-05-01  Bruno Haible  <bruno@clisp.org>
70296
70297         * modules/argp (Depends-on): Add sleep.
70298
70299 2007-05-01  Bruno Haible  <bruno@clisp.org>
70300
70301         * modules/sleep-tests: New file.
70302         * tests/test-sleep.c: New file.
70303
70304         * modules/sleep: New file.
70305         * lib/sleep.c: New file.
70306         * m4/sleep.m4: New file.
70307         * lib/unistd_.h (sleep): New declaration.
70308         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
70309         HAVE_SLEEP.
70310         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
70311         * doc/functions/sleep.texi: Document the sleep module.
70312
70313 2007-05-01  Bruno Haible  <bruno@clisp.org>
70314
70315         * lib/sigprocmask.h: Remove file.
70316         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
70317         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
70318         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
70319         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
70320         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
70321         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
70322         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
70323         HAVE_SIGSET_T as a shell variable.
70324         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
70325         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
70326         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
70327         (Depends-on): Add signal. Remove verify.
70328         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
70329         (Include): Mention <signal.h> instead of sigprocmask.h.
70330         * NEWS: Mention the change.
70331         * lib/fatal-signal.c: Don't include sigprocmask.h.
70332
70333 2007-05-01  Bruno Haible  <bruno@clisp.org>
70334
70335         * modules/signal: New file.
70336         * lib/signal_.h: New file.
70337         * m4/signal_h.m4: New file.
70338
70339 2007-05-01  Bruno Haible  <bruno@clisp.org>
70340
70341         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
70342         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
70343         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
70344         HAVE_WCTYPE_CTMP_BUG into wctype.h.
70345
70346 2007-05-01  Bruno Haible  <bruno@clisp.org>
70347
70348         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
70349         configure time.
70350         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
70351         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
70352         * modules/sys_stat (Makefile.am): Substitute their values into
70353         sys/stat.h.
70354
70355 2007-05-01  Bruno Haible  <bruno@clisp.org>
70356
70357         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
70358         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
70359         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
70360
70361 2007-05-01  Bruno Haible  <bruno@clisp.org>
70362
70363         * doc/header/assert.texi: Undo last change: don't mention the gnulib
70364         'assert' module here.
70365
70366 2007-05-01  Bruno Haible  <bruno@clisp.org>
70367
70368         * doc/functions/*.texi: New files.
70369         * doc/functions/google-ranking.txt: New file.
70370         * doc/gnulib.texi (Function Substitutes): New chapter.
70371         (ctime, inet_ntoa): Remove sections.
70372         * doc/ctime.texi: Remove file.
70373         * doc/inet_ntoa.texi: Remove file.
70374         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
70375         dependencies.
70376         (%.info): New rule, specifying a --reference-limit.
70377
70378 2007-05-01  Bruno Haible  <bruno@clisp.org>
70379
70380         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
70381
70382 2007-05-01  Bruno Haible  <bruno@clisp.org>
70383
70384         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
70385         the portability of 'mkdir' to mingw systems.
70386
70387 2007-05-01  Bruno Haible  <bruno@clisp.org>
70388
70389         * doc/headers/google-ranking.txt: New file.
70390
70391 2007-04-30  Eric Blake  <ebb9@byu.net>
70392
70393         Prefer fseeko to fseek.
70394         * modules/getpass (Depends-on): Add fseeko.
70395         * lib/getpass.c (getpass): Use fseeko, not fseek.
70396
70397 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
70398
70399         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
70400         assumes the sorting is stable, while most qsort implementations
70401         are not.  Use argument addresses to ensure they never compare as
70402         equal.
70403
70404         * tests/test-argp-2.sh (usage-indent test): Fix output
70405         (func_compare): Restore diff options
70406         * tests/test-argp.c: Restore #include "progname.h"
70407
70408 2007-04-29  Bruno Haible  <bruno@clisp.org>
70409
70410         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
70411         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70412         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
70413         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
70414         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
70415         (configure.ac): Define CHECK_SNPRINTF_POSIX.
70416         (TESTS, check_PROGRAMS): Add test-snprintf.
70417         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
70418         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
70419         (TESTS, check_PROGRAMS): Add test-vsnprintf.
70420         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
70421         assertions that fail on HP-UX, OSF/1, or IRIX.
70422         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
70423
70424 2007-04-29  Bruno Haible  <bruno@clisp.org>
70425
70426         * MODULES.html.sh (posix_functions): Remove 'contents'.
70427
70428 2007-04-29  Karl Berry  <karl@gnu.org>
70429
70430         * config/srclist.txt (gendocs_template_min): new entry.
70431
70432 2007-04-29  Bruno Haible  <bruno@clisp.org>
70433
70434         Work around fpurge bug on BSD systems.
70435         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
70436         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
70437         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
70438         fpurge to rpl_fpurge if the system already has this function.
70439         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
70440         the case where the system already has this function. Correct invariants
70441         on BSD systems.
70442         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
70443         BSD systems.
70444
70445 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
70446
70447         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
70448         proposed by Sven Verdoolaege.
70449
70450         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
70451         options.
70452         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
70453         (usage and help tests): Update
70454
70455 2007-04-29  Bruno Haible  <bruno@clisp.org>
70456
70457         * tests/test-fflush.c (main): Use a file of size 17, not 10.
70458         Print more information in case of failure. Disable a test on BeOS.
70459
70460 2007-04-29  Bruno Haible  <bruno@clisp.org>
70461
70462         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
70463         This helps debugging on systems on which no gdb is available.
70464
70465 2007-04-29  Bruno Haible  <bruno@clisp.org>
70466
70467         * lib/freading.h: Improve comments.
70468         * lib/fwriting.h: Likewise.
70469         * tests/test-freading.c (main): Don't check freading immediately after
70470         repositioning. Needed for glibc.
70471
70472 2007-04-29  Bruno Haible  <bruno@clisp.org>
70473
70474         * lib/freading.c (freading): Trivial simplification.
70475
70476 2007-04-28  Bruno Haible  <bruno@clisp.org>
70477
70478         * tests/test-fwriting.c (main): Also test the interaction between
70479         fflush and fwriting.
70480         * modules/fwriting-tests (Depends-on): Add fflush.
70481
70482         * tests/test-freading.c (main): Also test the interaction between
70483         fflush and freading.
70484         * modules/freading-tests (Depends-on): Add fflush.
70485
70486 2007-04-28  Bruno Haible  <bruno@clisp.org>
70487
70488         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
70489         fseeko and ftello.
70490         Suggested by Eric Blake.
70491
70492 2007-04-28  Jim Meyering  <jim@meyering.net>
70493
70494         Avoid false-negative in gl_STDINT_H's C99 conformance test.
70495         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
70496         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
70497
70498 2007-04-27  Eric Blake  <ebb9@byu.net>
70499
70500         * doc/headers/assert.texi (assert.h): Document assert module use.
70501
70502 2007-04-27  Bruno Haible  <bruno@clisp.org>
70503
70504         * doc/headers/*.texi: New files.
70505         * doc/gnulib.texi (Header File Substitutes): New chapter.
70506         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
70507         dependencies.
70508         (standards.info ,standards.html, standards.dvi): Update dependencies.
70509         (mostlyclean, clean): New targets.
70510
70511 2007-04-27  Bruno Haible  <bruno@clisp.org>
70512
70513         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
70514         * modules/sysexits (Files, Makefile.am): Update.
70515
70516         * lib/sys_socket_.h: Renamed from lib/socket_.h.
70517         * modules/sys_socket (Files, Makefile.am): Update.
70518
70519         * lib/sys_stat_.h: Renamed from lib/stat_.h.
70520         * modules/sys_stat (Files, Makefile.am): Update.
70521
70522 2007-04-27  Eric Blake  <ebb9@byu.net>
70523
70524         * lib/freading.h: Improve comments.
70525         * lib/fwriting.h: Likewise.
70526         * lib/fflush.c: Likewise.
70527
70528         Fix closein for mingw.
70529         * modules/closein-tests: Add tests for closein.
70530         * tests/test-closein.c: New file.
70531         * tests/test-closein.sh: Likewise.
70532         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
70533         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
70534
70535 2007-04-27  Bruno Haible  <bruno@clisp.org>
70536
70537         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
70538         version is < 6.
70539         * lib/math_.h [__DECC]: Likewise.
70540         * lib/stdio_.h [__DECC]: Likewise.
70541         * lib/stdlib_.h [__DECC]: Likewise.
70542         * lib/string_.h [__DECC]: Likewise.
70543         * lib/time_.h [__DECC]: Likewise.
70544         * lib/wchar_.h [__DECC]: Likewise.
70545         * lib/wctype_.h [__DECC]: Likewise.
70546
70547 2007-04-27  Bruno Haible  <bruno@clisp.org>
70548
70549         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
70550
70551 2007-04-27  Bruno Haible  <bruno@clisp.org>
70552
70553         * lib/fflush.c: Add comments.
70554         * modules/fpurge-tests (Depends-on): Add fflush.
70555         * modules/freadable-tests (Depends-on): Likewise.
70556         * modules/fwritable-tests (Depends-on): Likewise.
70557
70558 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
70559
70560         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
70561         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
70562         Report by Bruno Haible <bruno@clisp.org>.
70563
70564 2007-04-26  Eric Blake  <ebb9@byu.net>
70565
70566         Fix fflush on mingw.
70567         * modules/fflush (Depends-on): Add freading.
70568         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
70569         but unread data.
70570
70571 2007-04-26  Eric Blake  <ebb9@byu.net>
70572         and Bruno Haible  <bruno@clisp.org>
70573
70574         Implement freading and fwriting.
70575         * lib/freading.c: New file.
70576         * lib/freading.h: Likewise.
70577         * m4/freading.m4: Likewise.
70578         * modules/freading: Likewise.
70579         * modules/freading-tests: Likewise.
70580         * tests/test-freading.c: Likewise.
70581         * lib/fwriting.c: New file.
70582         * lib/fwriting.h: Likewise.
70583         * m4/fwriting.m4: Likewise.
70584         * modules/fwriting: Likewise.
70585         * modules/fwriting-tests: Likewise.
70586         * tests/test-fwriting.c: Likewise.
70587         * MODULES.html.sh (File stream based Input/Output): Mention them.
70588
70589 2007-04-26  Bruno Haible  <bruno@clisp.org>
70590
70591         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
70592         'long' when we assume it.
70593         Suggested by Eric Blake.
70594
70595 2007-04-26  Bruno Haible  <bruno@clisp.org>
70596
70597         Ensure fseeko, ftello are declared on glibc systems.
70598         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
70599         * modules/fseeko (configure.ac-early): Likewise.
70600         * modules/ftello (configure.ac-early): Likewise.
70601         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
70602         AC_FUNC_FSEEKO for this.
70603         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
70604         (gl_CHECK_FSEEKO): Remove macro.
70605
70606 2007-04-26  Bruno Haible  <bruno@clisp.org>
70607
70608         * tests/test-fflush.c (main): Also check the ftell result after
70609         fflush and fseek/fseeko.
70610         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
70611         file descriptor position cache in the stream.
70612         * lib/fseeko.c (rpl_fseeko): Likewise.
70613
70614 2007-04-26  Bruno Haible  <bruno@clisp.org>
70615
70616         * modules/fflush-tests (Depends-on): Add fseeko.
70617
70618 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
70619             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70620
70621         * lib/argz_.h: ensure error_t definition is obtained in same
70622         mechanism system argz.h would have.
70623         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
70624         argz facilities are known bad.  Err on the side of caution if
70625         cross-compiling.
70626
70627 2007-04-25  Eric Blake  <ebb9@byu.net>
70628
70629         * lib/fpurge.c (includes): Use stdlib.h for free.
70630         * tests/test-fflush.c (main): Also test fflush-fseeko.
70631
70632 2007-04-25  Bruno Haible  <bruno@clisp.org>
70633
70634         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
70635         * lib/fseeko.c: New file.
70636         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
70637         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
70638         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
70639         gl_FUNC_FSEEKO.
70640         (gl_FUNC_FSEEKO): Invoke it.
70641         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
70642         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
70643         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
70644
70645 2007-04-25  Bruno Haible  <bruno@clisp.org>
70646
70647         * modules/fflush (Depends-on): Add ftello.
70648
70649 2007-04-25  Bruno Haible  <bruno@clisp.org>
70650
70651         * modules/ftello-tests: New file.
70652         * tests/test-ftello.c: New file.
70653
70654         * modules/ftello: New file.
70655         * m4/ftello.m4: New file.
70656         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
70657         HAVE_FTELLO.
70658         * lib/stdio_.h (ftello): New declaration.
70659         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
70660         HAVE_FTELLO.
70661
70662 2007-04-25  Bruno Haible  <bruno@clisp.org>
70663
70664         * modules/fseeko-tests: New file.
70665         * tests/test-fseeko.c: New file.
70666
70667         * modules/fseeko: New file.
70668         * m4/fseeko.m4: New file.
70669         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
70670         HAVE_FSEEKO.
70671         * lib/stdio_.h (fseeko): New declaration.
70672         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
70673         HAVE_FSEEKO.
70674
70675 2007-04-25  Bruno Haible  <bruno@clisp.org>
70676
70677         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
70678
70679 2007-04-25  Bruno Haible  <bruno@clisp.org>
70680
70681         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
70682         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
70683         * tests/test-unistd.c: Likewise.
70684         * tests/test-fcntl.c: Likewise.
70685
70686 2007-04-23  Eric Blake  <ebb9@byu.net>
70687
70688         * lib/fflush.c: Fix missing include.
70689         Reported by Bruno Haible.
70690
70691 2007-04-23  Bruno Haible  <bruno@clisp.org>
70692
70693         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
70694         Reported by Eric Blake.
70695
70696 2007-04-23  Bruno Haible  <bruno@clisp.org>
70697
70698         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
70699
70700 2007-04-23  Bruno Haible  <bruno@clisp.org>
70701
70702         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
70703
70704 2007-04-23  Bruno Haible  <bruno@clisp.org>
70705
70706         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
70707         Needed on HP-UX 11.
70708
70709 2007-04-16  Eric Blake  <ebb9@byu.net>
70710
70711         Make fflush rely on fpurge.
70712         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
70713         open coding all variants.
70714         * modules/fflush (Depends-on): Add fpurge and unistd.
70715         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
70716         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
70717
70718         Fix --with-tests compilation on cygwin.
70719         * modules/argmatch-tests (Makefile.am): List gnulib library first
70720         in LDADD.
70721         * modules/argp-tests (Makefile.am): Likewise.
70722         * modules/array-list-tests (Makefile.am): Likewise.
70723         * modules/array-oset-tests (Makefile.am): Likewise.
70724         * modules/avltree-list-tests (Makefile.am): Likewise.
70725         * modules/avltree-oset-tests (Makefile.am): Likewise.
70726         * modules/avltreehash-list-tests (Makefile.am): Likewise.
70727         * modules/carray-list-tests (Makefile.am): Likewise.
70728         * modules/dirname-tests (Makefile.am): Likewise.
70729         * modules/frexp-tests (Makefile.am): Likewise.
70730         * modules/isnanl-tests (Makefile.am): Likewise.
70731         * modules/linked-list-tests (Makefile.am): Likewise.
70732         * modules/linkedhash-list-tests (Makefile.am): Likewise.
70733         * modules/lock-tests (Makefile.am): Likewise.
70734         * modules/rbtree-list-tests (Makefile.am): Likewise.
70735         * modules/rbtree-oset-tests (Makefile.am): Likewise.
70736         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
70737         * modules/tls-tests (Makefile.am): Likewise.
70738         * modules/tsearch-tests (Makefile.am): Likewise.
70739         * modules/xvasprintf-tests (Makefile.am): Likewise.
70740
70741         Fix fpurge for cygwin.
70742         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
70743         value.
70744         * modules/fpurge-tests (Depends-on): Clean up trash.
70745
70746 2007-04-16  Simon Josefsson  <simon@josefsson.org>
70747
70748         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
70749
70750         * m4/autobuild.m4: Re-indent.
70751
70752 2007-04-13  Bruno Haible  <bruno@clisp.org>
70753
70754         * modules/fpurge-tests: New file.
70755         * tests/test-fpurge.c: New file.
70756
70757         * modules/fpurge: New file.
70758         * lib/fpurge.h: New file.
70759         * lib/fpurge.c: New file.
70760         * m4/fpurge.m4: New file.
70761
70762 2007-04-13  Bruno Haible  <bruno@clisp.org>
70763
70764         * modules/fbufmode-tests: New file.
70765         * tests/test-fbufmode.c: New file.
70766
70767         * modules/fbufmode: New file.
70768         * lib/fbufmode.h: New file.
70769         * lib/fbufmode.c: New file.
70770         * m4/fbufmode.m4: New file.
70771
70772 2007-04-13  Bruno Haible  <bruno@clisp.org>
70773
70774         * modules/fwritable-tests: New file.
70775         * tests/test-fwritable.c: New file.
70776
70777         * modules/fwritable: New file.
70778         * lib/fwritable.h: New file.
70779         * lib/fwritable.c: New file.
70780         * m4/fwritable.m4: New file.
70781
70782 2007-04-13  Bruno Haible  <bruno@clisp.org>
70783
70784         * modules/freadable-tests: New file.
70785         * tests/test-freadable.c: New file.
70786
70787         * modules/freadable: New file.
70788         * lib/freadable.h: New file.
70789         * lib/freadable.c: New file.
70790         * m4/freadable.m4: New file.
70791
70792 2007-04-13  Bruno Haible  <bruno@clisp.org>
70793
70794         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
70795         MOSTLYCLEANFILES.
70796
70797 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
70798
70799         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
70800         gzip bootstrap.conf to avoid dragging in i18n machinery.
70801         (gnulib_tool_option): Use it.
70802
70803 2007-04-13  Bruno Haible  <bruno@clisp.org>
70804
70805         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
70806         %F directives.
70807         * tests/test-vasprintf-posix.c (test_function): Likewise.
70808         * tests/test-snprintf-posix.h (test_function): Likewise.
70809         * tests/test-sprintf-posix.h (test_function): Likewise.
70810         * tests/test-fprintf-posix.h (test_function): Likewise.
70811         * tests/test-printf-posix.h (test_function): Likewise.
70812         * tests/test-fprintf-posix.out: Likewise.
70813
70814 2007-04-13  Bruno Haible  <bruno@clisp.org>
70815
70816         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
70817         * modules/tls-tests (configure.ac): Likewise.
70818         Reported by Arto C. Nirkko <anirkko@insel.ch>.
70819
70820 2007-04-13  Bruno Haible  <bruno@clisp.org>
70821
70822         * lib/tls.c (glthread_tls_get): Fix return type.
70823         Patch by Arto C. Nirkko <anirkko@insel.ch>.
70824
70825 2007-04-12  Eric Blake  <ebb9@byu.net>
70826
70827         * modules/gettime (Depends-on): Remove gettime.
70828         Reported by Dmitry V. Levin.
70829
70830 2007-04-12  Bruno Haible  <bruno@clisp.org>
70831
70832         * modules/fflush (Include): Mention <stdio.h>.
70833         * modules/strtoimax (Include): Mention <inttypes.h>.
70834         * modules/strtoumax (Include): Likewise.
70835
70836 2007-04-12  Eric Blake  <ebb9@byu.net>
70837
70838         * .cvsignore: New file.
70839         * .gitignore: Likewise.
70840
70841 2007-04-12  Bruno Haible  <bruno@clisp.org>
70842
70843         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
70844         not before, since $(LDADD) often contains libgnu.a.
70845         * modules/striconv-tests (test_striconv_LDADD): Likewise.
70846         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
70847         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
70848         Needed on Cygwin.
70849
70850 2007-04-12  Eric Blake  <ebb9@byu.net>
70851
70852         Work around glibc's failure to flush stdin on fclose.
70853         * lib/closein.c (close_stdin): Flush stdin before closing.
70854
70855         Work around glibc's failure to reset seekable stdin on exit.
70856         * modules/closein: New module.
70857         * lib/closein.c: New file.
70858         * lib/closein.h: Likewise.
70859         * m4/closein.m4: Likewise.
70860         * MODULES.html.sh (File stream based Input/Output): Document it.
70861
70862 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70863
70864         * gnulib-tool: Rename generated 'autobuild' script to
70865         'do-autobuild' in --create-megatestdir output.
70866
70867         * doc/gnulib.texi (Build robot for gnulib): Fix.
70868
70869 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70870
70871         * modules/sysexits (Depends-on): Add absolute-header.
70872
70873 2007-04-12  Eric Blake  <ebb9@byu.net>
70874
70875         No need to preserve errno on success.
70876         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
70877         Reported by Bruno Haible.
70878
70879 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70880
70881         * MODULES.html.sh (Support for maintaining and releasing
70882         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
70883
70884 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70885
70886         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
70887
70888 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70889
70890         * modules/autobuild: New module.
70891
70892         * m4/autobuild.m4: New file.
70893
70894 2007-04-11  Bruno Haible  <bruno@clisp.org>
70895
70896         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
70897         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
70898         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
70899         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
70900         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
70901         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70902         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70903         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70904         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70905         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70906         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
70907         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70908         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70909         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
70910         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70911         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70912         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
70913         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70914         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70915         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
70916         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70917         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70918         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
70919         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70920         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70921         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
70922         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70923         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70924         Reported by Eric Blake.
70925
70926 2007-04-11  Bruno Haible  <bruno@clisp.org>
70927
70928         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
70929
70930 2007-04-10  Bruno Haible  <bruno@clisp.org>
70931
70932         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
70933         for NaN and Infinity. Needed on FreeBSD 6.1.
70934         * tests/test-vasnprintf-posix.c (test_function): Undo last change
70935         regarding results for "%010a" of Infinity and NaN.
70936         * tests/test-vasprintf-posix.c (test_function): Likewise.
70937         * tests/test-snprintf-posix.h (test_function): Likewise.
70938         * tests/test-sprintf-posix.h (test_function): Likewise.
70939         * tests/test-fprintf-posix.h (test_function): Likewise.
70940         * tests/test-printf-posix.h (test_function): Likewise.
70941         * tests/test-fprintf-posix.out: Likewise.
70942
70943 2007-04-10  Bruno Haible  <bruno@clisp.org>
70944
70945         * modules/locale-tests: New file.
70946         * tests/test-locale.c: New file.
70947
70948         * modules/locale: New file.
70949         * lib/locale_.h: New file.
70950         * m4/locale_h.m4: New file.
70951
70952 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
70953             Bruno Haible  <bruno@clisp.org>
70954
70955         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
70956         be determined, test for availability of the copysignf, copysign,
70957         copysignl functions.
70958         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
70959         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
70960         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
70961
70962 2007-04-09  Eric Blake  <ebb9@byu.net>
70963
70964         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
70965         * modules/stdio (Makefile.am): Support fflush.
70966         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
70967         * modules/fflush: New file.
70968         * lib/fflush.c: Likewise.
70969         * m4/fflush.m4: Likewise.
70970         * modules/fflush-tests: New test.
70971         * tests/test-fflush.c: Likewise.
70972         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
70973
70974 2007-04-06  Bruno Haible  <bruno@clisp.org>
70975
70976         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
70977         (VASNPRINTF): Use signbit for faster determination whether to print a
70978         minus sign.
70979         * modules/vasnprintf (Files): Remove lib/float+.h.
70980         * modules/fprintf-posix (Depends-on): Add signbit.
70981         * modules/snprintf-posix (Depends-on): Likewise.
70982         * modules/sprintf-posix (Depends-on): Likewise.
70983         * modules/vasnprintf-posix (Depends-on): Likewise.
70984         * modules/vasprintf-posix (Depends-on): Likewise.
70985         * modules/vfprintf-posix (Depends-on): Likewise.
70986         * modules/vsnprintf-posix (Depends-on): Likewise.
70987         * modules/vsprintf-posix (Depends-on): Likewise.
70988
70989 2007-04-06  Bruno Haible  <bruno@clisp.org>
70990
70991         * tests/test-frexp.c (main): Test also the sign bit of zero results.
70992         * tests/test-frexpl.c (main): Likewise.
70993         * tests/test-ldexpl.c (main): Likewise.
70994         * modules/frexp-tests (Depends-on): Add signbit.
70995         * modules/frexpl-tests (Depdends-on): Likewise.
70996         * modules/ldexpl-tests (Depdends-on): Likewise.
70997
70998 2007-04-06  Bruno Haible  <bruno@clisp.org>
70999
71000         * modules/signbit-tests: New file.
71001         * tests/test-signbit.c: New file.
71002
71003         * modules/signbit: New file.
71004         * lib/signbitf.c: New file.
71005         * lib/signbitd.c: New file.
71006         * lib/signbitl.c: New file.
71007         * m4/signbit.m4: New file.
71008         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
71009         (signbit): New macro.
71010         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
71011         REPLACE_SIGNBIT.
71012         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
71013         REPLACE_FREXPL into math.h.
71014
71015 2007-04-06  Bruno Haible  <bruno@clisp.org>
71016
71017         * modules/isnanf-nolibm-tests: New file.
71018         * tests/test-isnanf.c: New file.
71019
71020         * modules/isnanf-nolibm: New file.
71021         * lib/isnanf.h: New file.
71022         * lib/isnanf.c: New file.
71023         * lib/isnan.c: Consider the USE_FLOAT macro.
71024         * m4/isnanf.m4: New file.
71025
71026 2007-04-06  Bruno Haible  <bruno@clisp.org>
71027
71028         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
71029         (Link): New section.
71030
71031         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
71032
71033 2007-04-06  Bruno Haible  <bruno@clisp.org>
71034
71035         Assume the 'long double' type.
71036         * m4/longdouble.m4: Remove file.
71037         * config/srclist.txt: Don't mention longdouble.m4.
71038         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
71039         * lib/float+.h: Likewise.
71040         * lib/frexp.c: Likewise.
71041         * lib/printf-args.h: Likewise.
71042         * lib/printf-args.c: Likewise.
71043         * lib/printf-frexp.c: Likewise.
71044         * lib/printf-parse.c: Likewise.
71045         * lib/vasnprintf.c: Likewise.
71046         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
71047         * m4/intl.m4: Likewise.
71048         * m4/isnanl.m4: Likewise.
71049         * m4/printf.m4: Likewise.
71050         * m4/printf-frexpl.m4: Likewise.
71051         * m4/vasnprintf.m4: Likewise.
71052         * modules/allocsa (Files): Remove m4/longdouble.m4.
71053         * modules/gettext (Files): Likewise.
71054         * modules/relocatable-prog-wrapper (Files): Likewise.
71055         * modules/vasnprintf (Files): Likewise.
71056         * modules/isnanl (Files): Likewise.
71057         (Include): Simplify.
71058         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
71059         (Include): Simplify.
71060         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
71061         (Include): Simplify.
71062         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
71063         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
71064         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
71065         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
71066         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
71067         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
71068         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
71069         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
71070         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
71071         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
71072         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
71073         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
71074         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
71075         * tests/test-isnanl.c: Likewise.
71076         * tests/test-snprintf-posix.h: Likewise.
71077         * tests/test-sprintf-posix.h: Likewise.
71078         * tests/test-vasnprintf-posix.c: Likewise.
71079         * tests/test-vasnprintf-posix2.c: Likewise.
71080         * tests/test-vasprintf-posix.c: Likewise.
71081
71082 2007-04-06  Bruno Haible  <bruno@clisp.org>
71083
71084         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
71085         * lib/math_.h [__DECC]: Include the overridden include file through
71086         #include_next, outside the double-inclusion guard.
71087         * lib/stdio_.h [__DECC]: Likewise.
71088         * lib/stdlib_.h [__DECC]: Likewise.
71089         * lib/string_.h [__DECC]: Likewise.
71090         * lib/time_.h [__DECC]: Likewise.
71091         * lib/wchar_.h [__DECC]: Likewise.
71092         * lib/wctype_.h [__DECC]: Likewise.
71093         * lib/inttypes_.h [__DECC]: Likewise.
71094         Reported by Albert Chin <china@thewrittenword.com> in
71095         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
71096
71097 2007-04-04  Eric Blake  <ebb9@byu.net>
71098
71099         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
71100         1.5.x.
71101
71102 2007-04-04  Bruno Haible  <bruno@clisp.org>
71103
71104         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
71105         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
71106
71107 2007-04-04  Bruno Haible  <bruno@clisp.org>
71108
71109         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
71110         results for "%010a" of Infinity and NaN.
71111         * tests/test-vasprintf-posix.c (test_function): Likewise.
71112         * tests/test-snprintf-posix.h (test_function): Likewise.
71113         * tests/test-sprintf-posix.h (test_function): Likewise.
71114         * tests/test-fprintf-posix.h (test_function): Remove these tests.
71115         * tests/test-printf-posix.h (test_function): Likewise.
71116         * tests/test-fprintf-posix.out: Update.
71117         Needed for FreeBSD 6.1.
71118
71119 2007-04-04  Bruno Haible  <bruno@clisp.org>
71120
71121         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
71122         directly used by the gnulib modules nor by gnulib-tool.
71123
71124 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
71125
71126         * DEPENDENCIES: Give overall description of version dependency
71127         desirability.  Use more-typical names for apps.
71128         Add shell, coreutils, diffutils, grep, tar, gzip.
71129
71130 2007-04-04  Simon Josefsson  <simon@josefsson.org>
71131
71132         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
71133
71134 2007-04-04  Karl Berry  <karl@gnu.org>
71135
71136         * MODULES.html.sh (func_module): missing '.
71137
71138 2007-04-03  Bruno Haible  <bruno@clisp.org>
71139
71140         * modules/argmatch-tests (Makefile.am): New variable
71141         test_argmatch_LDADD.
71142         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
71143         * modules/array-list-tests (Makefile.am): New variable
71144         test_array_list_LDADD.
71145         * modules/array-oset-tests (Makefile.am): New variable
71146         test_array_oset_LDADD.
71147         * modules/avltree-list-tests (Makefile.am): New variable
71148         test_avltree_list_LDADD.
71149         * modules/avltree-oset-tests (Makefile.am): New variable
71150         test_avltree_oset_LDADD.
71151         * modules/avltreehash-list-tests (Makefile.am): New variable
71152         test_avltreehash_list_LDADD.
71153         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
71154         test_canonicalize_lgpl_LDADD.
71155         * modules/carray-list-tests (Makefile.am): New variable
71156         test_carray_list_LDADD.
71157         * modules/dirname-tests (Makefile.am): New variable
71158         test_dirname_LDADD.
71159         * modules/linked-list-tests (Makefile.am): New variable
71160         test_linked_list_LDADD.
71161         * modules/linkedhash-list-tests (Makefile.am): New variable
71162         test_linkedhash_list_LDADD.
71163         * modules/rbtree-list-tests (Makefile.am): New variable
71164         test_rbtree_list_LDADD.
71165         * modules/rbtree-oset-tests (Makefile.am): New variable
71166         test_rbtree_oset_LDADD.
71167         * modules/rbtreehash-list-tests (Makefile.am): New variable
71168         test_rbtreehash_list_LDADD.
71169         * modules/xvasprintf-tests (Makefile.am): New variable
71170         test_xvasprintf_LDADD.
71171         Reported by Eric Blake.
71172
71173 2007-04-03  Eric Blake  <ebb9@byu.net>
71174
71175         * DEPENDENCIES: Weaken m4 requirements.
71176
71177 2007-04-03  Bruno Haible  <bruno@clisp.org>
71178
71179         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
71180         * modules/isnanl-tests (configure.ac): Likewise.
71181
71182 2007-04-03  Ben Pfaff  <blp@gnu.org>
71183
71184         * modules/iconv_open: Add $(srcdir)/ to source directory
71185         references in Makefile fragments that call gperf, to fix VPATH
71186         builds.
71187
71188 2007-04-03  Bruno Haible  <bruno@clisp.org>
71189
71190         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
71191         * lib/ldexpl.c: Undo last change.
71192
71193 2007-04-03  Bruno Haible  <bruno@clisp.org>
71194
71195         * modules/printf-frexpl (Depends-on): Undo last change.
71196         (Files): Add m4/ldexpl.m4.
71197
71198 2007-04-03  Bruno Haible  <bruno@clisp.org>
71199
71200         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
71201         * modules/isnanl (Link): New section.
71202
71203         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
71204         * modules/frexp (Link): New section.
71205
71206         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
71207         * modules/frexpl (Link): New section.
71208
71209         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
71210         * modules/ldexpl (Link): New section.
71211
71212 2007-04-03  Bruno Haible  <bruno@clisp.org>
71213
71214         * modules/TEMPLATE-EXTENDED: New file.
71215         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
71216
71217 2007-04-03  Bruno Haible  <bruno@clisp.org>
71218
71219         * DEPENDENCIES: New file.
71220         Suggested by Simon Josefsson.
71221
71222 2007-04-03  Bruno Haible  <bruno@clisp.org>
71223
71224         * doc/gnulib.texi: Escape @.
71225
71226 2007-04-03  James Youngman  <jay@gnu.org>
71227         and Paul Eggert  <eggert@cs.ucla.edu>
71228
71229         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
71230         birthtime on all systems that have birthtime, not just those which
71231         use st_birthtimensec rather than st_birthtim.  Putting zero in
71232         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
71233         that the birth time is not available for files on an NFS mount.
71234
71235 2007-04-03  Simon Josefsson  <simon@josefsson.org>
71236
71237         * modules/memxor: Move back from crypto/, suggested by Bruno.
71238         * modules/crypto/hmac-sha1: Fix memxor dependency.
71239
71240         * modules/crypto/gc: Moved from ../.
71241
71242 2007-04-02  Eric Blake  <ebb9@byu.net>
71243
71244         * lib/ldexpl.c (includes): Avoid libm.
71245
71246         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
71247
71248 2007-04-02  Bruno Haible  <bruno@clisp.org>
71249
71250         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
71251         on IRIX.
71252
71253 2007-04-02  Bruno Haible  <bruno@clisp.org>
71254
71255         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
71256         x86 or x86_64 platforms running MacOS X.
71257         Reported by Ryan Schmidt <@ryandesign.com>.
71258
71259 2007-04-02  Bruno Haible  <bruno@clisp.org>
71260
71261         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
71262         i386.
71263
71264 2007-04-01  Simon Josefsson  <simon@josefsson.org>
71265
71266         * modules/crypto/arcfour: Moved from ../.
71267         * modules/crypto/arcfour-tests: Moved from ../.
71268         * modules/crypto/arctwo: Moved from ../.
71269         * modules/crypto/arctwo-tests: Moved from ../.
71270         * modules/crypto/des: Moved from ../.
71271         * modules/crypto/des-tests: Moved from ../.
71272         * modules/crypto/gc-arcfour: Moved from ../.
71273         * modules/crypto/gc-arcfour-tests: Moved from ../.
71274         * modules/crypto/gc-arctwo: Moved from ../.
71275         * modules/crypto/gc-arctwo-tests: Moved from ../.
71276         * modules/crypto/gc-des: Moved from ../.
71277         * modules/crypto/gc-des-tests: Moved from ../.
71278         * modules/crypto/gc-hmac-md5: Moved from ../.
71279         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
71280         * modules/crypto/gc-hmac-sha1: Moved from ../.
71281         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
71282         * modules/crypto/gc-md2: Moved from ../.
71283         * modules/crypto/gc-md2-tests: Moved from ../.
71284         * modules/crypto/gc-md4: Moved from ../.
71285         * modules/crypto/gc-md4-tests: Moved from ../.
71286         * modules/crypto/gc-md5: Moved from ../.
71287         * modules/crypto/gc-md5-tests: Moved from ../.
71288         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
71289         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
71290         * modules/crypto/gc-random: Moved from ../.
71291         * modules/crypto/gc-rijndael: Moved from ../.
71292         * modules/crypto/gc-rijndael-tests: Moved from ../.
71293         * modules/crypto/gc-sha1: Moved from ../.
71294         * modules/crypto/gc-sha1-tests: Moved from ../.
71295         * modules/crypto/gc-tests: Moved from ../.
71296         * modules/crypto/hmac-md5: Moved from ../.
71297         * modules/crypto/hmac-md5-tests: Moved from ../.
71298         * modules/crypto/hmac-sha1: Moved from ../.
71299         * modules/crypto/hmac-sha1-tests: Moved from ../.
71300         * modules/crypto/md2: Moved from ../.
71301         * modules/crypto/md2-tests: Moved from ../.
71302         * modules/crypto/md4: Moved from ../.
71303         * modules/crypto/md4-tests: Moved from ../.
71304         * modules/crypto/md5: Moved from ../.
71305         * modules/crypto/md5-tests: Moved from ../.
71306         * modules/crypto/memxor: Moved from ../.
71307         * modules/crypto/rijndael: Moved from ../.
71308         * modules/crypto/rijndael-tests: Moved from ../.
71309         * modules/crypto/sha1: Moved from ../.
71310
71311 2007-03-30  James Youngman  <jay@gnu.org>
71312
71313         * tests/test-stat-time.c (prepare_test): use chmod() rather than
71314         rename() to change the ctime of a file (because ctime is unaffected
71315         by rename on jfs2 on AIX 5.1).
71316         (main): Start by doing cleanup, in case a previous run failed leaving
71317         test files behind.
71318
71319 2007-03-31  Bruno Haible  <bruno@clisp.org>
71320
71321         Support old proprietary implementations of iconv.
71322         * modules/iconv_open: New file.
71323         * lib/iconv_.h: New file.
71324         * m4/iconv_h.m4: New file.
71325         * lib/iconv_open.c: New file.
71326         * lib/iconv_open-aix.gperf: New file.
71327         * lib/iconv_open-hpux.gperf: New file.
71328         * lib/iconv_open-irix.gperf: New file.
71329         * lib/iconv_open-osf.gperf: New file.
71330         * m4/iconv_open.m4: New file.
71331         * modules/linebreak (Depends-on): Add iconv_open.
71332         * modules/striconv (Depends-on): Likewise.
71333         * modules/striconveh (Depends-on): Likewise.
71334         * modules/unicodeio (Depends-on): Likewise.
71335         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
71336         (iconv_t)(-1).
71337         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
71338         conversion if cd is (iconv_t)(-1).
71339         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
71340         is not possible.
71341
71342 2007-03-31  Bruno Haible  <bruno@clisp.org>
71343
71344         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
71345         work on Solaris either. Protect also second use of "autodetect_jp".
71346
71347 2007-03-31  Bruno Haible  <bruno@clisp.org>
71348
71349         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
71350         the function is not present.
71351
71352 2007-03-31  Bruno Haible  <bruno@clisp.org>
71353
71354         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
71355         the function is not present.
71356
71357 2007-03-31  Bruno Haible  <bruno@clisp.org>
71358
71359         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
71360         a bug in HP-UX iconv_open().
71361
71362 2007-03-31  Bruno Haible  <bruno@clisp.org>
71363
71364         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
71365         (Mathematics <math.h>): New section, add fpieee.
71366         (Input/output <stdio.h>): Add fseterr.
71367         (Mathematics <math.h>): New section, add printf-frexp.
71368         (Container data structures): Add sublist.
71369         (Core language properties): Add fpucw, inline.
71370         (Functions for greatest-width integer types <inttypes.h>): Add
71371         imaxabs, imaxdiv, inttypes.
71372         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
71373         isnanl-nolibm, ldexp.
71374         (Mathematics <math.h>): New section, add printf-frexpl.
71375         (Support for systems lacking POSIX:2001): Add fprintf-posix,
71376         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
71377         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
71378         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
71379         (Unicode string functions): Add unistr/u*-mbtoucr.
71380         (Java): Add javacomp-script, javaexec-script.
71381         (C#): Add csharpcomp-script, csharpexec-script.
71382         (Support for building libraries and executables): Add havelib,
71383         relocatable-*.
71384         (Support for maintaining and releasing projects): Renamed from
71385         'Support for maintaining and release projects'. Add announce-gen.
71386
71387 2007-03-31  Bruno Haible  <bruno@clisp.org>
71388
71389         * README: Talk primarily about git.
71390         (git and CVS): Renamed from CVS.
71391         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
71392         gnulib is available through git.
71393         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
71394
71395 2007-03-30  Bruno Haible  <bruno@clisp.org>
71396
71397         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
71398         * lib/poll_.h: Likewise.
71399         * lib/stat_.h: Likewise.
71400         * lib/sys_time_.h: Likewise.
71401         * lib/sysexit_.h: Likewise.
71402         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
71403         * lib/stdbool_.h: Likewise.
71404         * lib/byteswap_.h: Add double-inclusion guard.
71405
71406 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
71407
71408         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
71409
71410 2007-03-30  Karl Berry  <karl@gnu.org>
71411
71412         * config/srclist-update: double space after USA in the license
71413         substitution, since that's how it's usually (?) written.
71414
71415 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
71416
71417         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
71418         reported by Bruno Haible.
71419
71420 2007-03-29  Bruno Haible  <bruno@clisp.org>
71421
71422         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
71423         a bug in AIX iconv().
71424
71425 2007-03-29  Bruno Haible  <bruno@clisp.org>
71426
71427         * modules/ldexpl-tests: New file.
71428         * tests/test-ldexpl.c: New file.
71429
71430 2007-03-29  Bruno Haible  <bruno@clisp.org>
71431
71432         * lib/ldexpl.c: Include fpucw.h.
71433         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
71434         multiplication.
71435         * modules/ldexpl (Depends-on): Add fpucw.
71436
71437 2007-03-29  Bruno Haible  <bruno@clisp.org>
71438
71439         * modules/ldexpl: New file.
71440         * m4/ldexpl.m4: New file.
71441         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
71442         set.
71443         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
71444         REPLACE_LDEXPL.
71445         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
71446         REPLACE_LDEXPL.
71447         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
71448         gl_FUNC_LDEXPL_WORKS.
71449         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
71450         * modules/mathl (Files): Remove lib/ldexpl.c.
71451         (Depends-on): Add ldexpl.
71452
71453 2007-03-29  Bruno Haible  <bruno@clisp.org>
71454
71455         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
71456
71457 2007-03-29  Bruno Haible  <bruno@clisp.org>
71458
71459         * tests/test-striconveh.c (main): Don't assume that a direct conversion
71460         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
71461         and possibly also HP-UX.
71462         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
71463         work on AIX, IRIX, HP-UX, OSF/1.
71464         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
71465         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
71466         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
71467         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
71468         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
71469         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
71470
71471 2007-03-29  Bruno Haible  <bruno@clisp.org>
71472
71473         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
71474
71475 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
71476
71477         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
71478         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
71479
71480 2007-03-29  Eric Blake  <ebb9@byu.net>
71481
71482         * lib/acl-internal.h: Remove redundant include.
71483         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
71484         Cygwin when a file is locked.
71485
71486 2007-03-29  Bruno Haible  <bruno@clisp.org>
71487
71488         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
71489         file.
71490         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
71491
71492 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
71493
71494         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
71495         try to remove a parent directory if the child couldn't be removed
71496         (except for the first rmdir, which could fail because the child
71497         doesn't exist).  Problem reported by Jeff Blaine in
71498         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
71499
71500 2007-03-28  Bruno Haible  <bruno@clisp.org>
71501
71502         * lib/striconveh.c (utf8conv_carefully): New function.
71503         (mem_cd_iconveh_internal): Invoke it.
71504
71505 2007-03-28  Bruno Haible  <bruno@clisp.org>
71506
71507         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
71508         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
71509         input.
71510         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
71511         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
71512         unistr/u8-uctomb.
71513
71514 2007-03-28  Bruno Haible  <bruno@clisp.org>
71515
71516         * modules/unistr/u8-mbtoucr: New file.
71517         * lib/unistr/u8-mbtoucr.c: New file.
71518         * modules/unistr/u16-mbtoucr: New file.
71519         * lib/unistr/u16-mbtoucr.c: New file.
71520         * modules/unistr/u16-mbtoucr: New file.
71521         * lib/unistr/u16-mbtoucr.c: New file.
71522         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
71523
71524 2007-03-27  Simon Josefsson  <simon@josefsson.org>
71525             Bruno Haible  <bruno@clisp.org>
71526
71527         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
71528         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
71529         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
71530
71531         * m4/stdio_h.m4: Add stubs for vasprintf too.
71532
71533         * modules/stdio: Support vasprintf in sed command.
71534
71535         * modules/vasprintf: Depend on stdio for prototypes.  Remove
71536         vasprintf.h.  Add stdio module indicator.
71537
71538         * lib/stdio_.h: Declare asprintf and vasprintf, based on
71539         vasprintf.h.
71540
71541         * lib/vasprintf.h: File removed.
71542
71543         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
71544         * lib/vasprintf.c: Ditto.
71545         * lib/xvasprintf.c: Ditto.
71546         * tests/test-vasprintf-posix.c: Ditto.
71547         * tests/test-vasprintf.c: Ditto.
71548
71549 2007-03-27  Bruno Haible  <bruno@clisp.org>
71550
71551         Make vasnprintf multithread-safe.
71552         * lib/vasnprintf.c (decimal_point_char): New function.
71553         (VASNPRINTF): Use it.
71554         Suggested by Simon Josefsson.
71555
71556 2007-03-27  Eric Blake  <ebb9@byu.net>
71557
71558         Support sub-second birthtime on cygwin.
71559         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
71560         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
71561         (get_stat_birthtime): Also work with st_birthtim.
71562
71563 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
71564
71565         * lib/stat-time.h (USE_BIRTHTIME): Remove.
71566         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
71567         (get_stat_birthtime_ns): Do not try to use "spare" fields.
71568         (get_stat_birthtime_ns): Simplify compile-time tests.
71569         (get_stat_birthtime): Change the API to look like
71570         get_stat_mtime etc., except return a negative tv_nsec on error.
71571         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
71572         Don't check for "spare" fields.
71573         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
71574         or for struct stat.st_birthtime, as these tests aren't used.
71575         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
71576
71577 2007-03-27  Bruno Haible  <bruno@clisp.org>
71578
71579         * lib/stat-time.h: Include <sys/stat.h>.
71580
71581 2007-03-27  James Youngman  <jay@gnu.org>
71582
71583         * lib/stat-time.h (get_stat_birthtime): New function for
71584           retrieving st_birthtime as provided by UFS2 (hence *BSD).
71585         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
71586           and its variants.
71587         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
71588         * modules/stat-time-test: New file.
71589         * tests/test-stat-time.c: New test, devised by Bruno Haible.
71590
71591 2007-03-26  Bruno Haible  <bruno@clisp.org>
71592
71593         Better support of signalling NaNs.
71594         * lib/atanl.c: Include isnanl.h.
71595         (atanl): Perform test for NaN at the beginning of the function and
71596         through a call to isnanl.
71597         * lib/cosl.c: Include isnanl.h.
71598         (cosl): Perform test for NaN at the beginning of the function and
71599         through a call to isnanl.
71600         * lib/ldexpl.c: Include isnanl.h.
71601         (ldexpl): Perform test for NaN through a call to isnanl.
71602         * lib/logl.c: Include isnanl.h.
71603         (logl): Perform test for NaN at the beginning of the function and
71604         through a call to isnanl.
71605         * lib/sinl.c: Include isnanl.h.
71606         (sinl): Perform test for NaN at the beginning of the function and
71607         through a call to isnanl.
71608         * lib/sqrtl.c: Include isnanl.h.
71609         (sqrtl): Perform test for NaN at the beginning of the function and
71610         through a call to isnanl.
71611         * lib/tanl.c: Include isnanl.h.
71612         (tanl): Perform test for NaN at the beginning of the function and
71613         through a call to isnanl.
71614         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
71615         * modules/mathl (Depends-on): Add isnanl.
71616
71617 2007-03-26  Eric Blake  <ebb9@byu.net>
71618
71619         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
71620         regression in logic sense of previous patch.
71621
71622 2007-03-26  Bruno Haible  <bruno@clisp.org>
71623
71624         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
71625         unportable shell command "if ! ...".
71626         Reported by Ralf Wildenhues.
71627
71628 2007-03-25  Bruno Haible  <bruno@clisp.org>
71629
71630         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
71631         <sysexits.h> file, and only add EX_CONFIG.
71632         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
71633         absolute file name and whether it is sufficient. Substitute also
71634         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
71635         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
71636         ABSOLUTE_SYSEXITS_H into sysexits.h.
71637
71638 2007-03-25  Bruno Haible  <bruno@clisp.org>
71639
71640         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
71641         hints is NULL.
71642
71643 2007-03-25  Bruno Haible  <bruno@clisp.org>
71644
71645         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
71646         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
71647
71648 2007-03-25  Bruno Haible  <bruno@clisp.org>
71649
71650         * lib/vasnprintf.c: Include langinfo.h.
71651         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
71652         multithread-safe.
71653         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
71654         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
71655         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
71656         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
71657         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
71658         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
71659         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
71660         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
71661         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
71662         Reported by Simon Josefsson.
71663
71664 2007-03-25  Bruno Haible  <bruno@clisp.org>
71665
71666         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
71667         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
71668         * modules/vasnprintf (Depends-on): Add stdint.
71669
71670 2007-03-25  Bruno Haible  <bruno@clisp.org>
71671
71672         * modules/fpieee: New file.
71673         * m4/fpieee.m4: New file.
71674         * modules/isnan-nolibm (Depends-on): Add fpieee.
71675         * modules/isnanl-nolibm (Depends-on): Add fpieee.
71676         * modules/isnanl (Depends-on): Add fpieee.
71677
71678 2007-03-25  Bruno Haible  <bruno@clisp.org>
71679
71680         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
71681
71682 2007-03-25  Bruno Haible  <bruno@clisp.org>
71683
71684         Avoid test failures on IRIX 6.5.
71685         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
71686         (main): Use it.
71687         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
71688         macros.
71689         (main): Use them.
71690
71691 2007-03-25  Bruno Haible  <bruno@clisp.org>
71692
71693         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
71694         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
71695         exists but doesn't work.
71696         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
71697         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
71698         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
71699         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
71700         math.h.
71701
71702 2007-03-25  Bruno Haible  <bruno@clisp.org>
71703
71704         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
71705         returns inf. Needed on IRIX 6.5.
71706
71707 2007-03-25  Bruno Haible  <bruno@clisp.org>
71708
71709         * tests/test-frexpl.c: Include isnanl-nolibm.h.
71710         (main): Use isnanl instead of x != x idiom.
71711         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
71712
71713         * tests/test-frexp.c: Include isnan.h.
71714         (main): Use isnan instead of x != x idiom.
71715         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
71716
71717 2007-03-25  Bruno Haible  <bruno@clisp.org>
71718
71719         * tests/test-frexp.c (NaN): New function/macro.
71720         (main): Use it instead of 0.0 / 0.0.
71721         * tests/test-isnan.c (NaN): New function/macro.
71722         (main): Use it instead of 0.0 / 0.0.
71723         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
71724         (test_function): Use it instead of 0.0 / 0.0.
71725         * tests/test-vasprintf-posix.c (NaN): New function/macro.
71726         (test_function): Use it instead of 0.0 / 0.0.
71727         * tests/test-snprintf-posix.h (NaN): New function/macro.
71728         (test_function): Use it instead of 0.0 / 0.0.
71729         * tests/test-sprintf-posix.h (NaN): New function/macro.
71730         (test_function): Use it instead of 0.0 / 0.0.
71731         * tests/test-fprintf-posix.h (NaN): New function/macro.
71732         (test_function): Use it instead of 0.0 / 0.0.
71733         * tests/test-printf-posix.h (NaN): New function/macro.
71734         (test_function): Use it instead of 0.0 / 0.0.
71735
71736         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
71737
71738 2007-03-25  Bruno Haible  <bruno@clisp.org>
71739
71740         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
71741
71742 2007-03-25  Bruno Haible  <bruno@clisp.org>
71743
71744         * lib/regexec.c (merge_state_with_log): Make static.
71745
71746 2007-03-25  Bruno Haible  <bruno@clisp.org>
71747
71748         * lib/trigl.c (kernel_rem_pio2): Make static.
71749
71750 2007-03-25  Bruno Haible  <bruno@clisp.org>
71751
71752         * lib/sincosl.c (sincosl_table): Make static.
71753
71754 2007-03-25  Bruno Haible  <bruno@clisp.org>
71755
71756         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
71757         if the compiler does not support C99.
71758
71759 2007-03-25  Bruno Haible  <bruno@clisp.org>
71760
71761         * modules/time (Makefile.am): Ensure all rule action lines start with a
71762         tab.
71763
71764 2007-03-24  Bruno Haible  <bruno@clisp.org>
71765
71766         * modules/tsearch-tests: New file.
71767         * tests/test-tsearch.sh: New file.
71768         * tests/test-tsearch.c: New file, mostly copied from glibc.
71769
71770         * modules/search-tests: New file.
71771         * tests/test-search.c: New file.
71772
71773         * modules/search: New file.
71774         * lib/search_.h: New file, incorporating lib/tsearch.h.
71775         * m4/search_h.m4: New file.
71776         * lib/tsearch.h: Remove file.
71777         * lib/tsearch.c: Include search.h instead of tsearch.h.
71778         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
71779         HAVE_TSEARCH.
71780         * modules/tsearch (Files): Remove lib/tsearch.h.
71781         (Depends-on): Add search.
71782         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
71783         (Include): Change tsearch.h into search.h.
71784
71785 2007-03-24  Bruno Haible  <bruno@clisp.org>
71786
71787         * modules/fpucw: New file.
71788         * lib/fpucw.h: New file.
71789         * lib/frexp.c: Include fpucw.h.
71790         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71791         (FUNC): Use them.
71792         * lib/printf-frexp.c: Include fpucw.h.
71793         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71794         (FUNC): Use them.
71795         * lib/vasnprintf.c: Include fpucw.h.
71796         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
71797         'long double' calculations.
71798         * tests/test-frexpl.c: Include fpucw.h.
71799         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71800         * tests/test-printf-frexpl.c: Include fpucw.h.
71801         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71802         * modules/frexpl (Depends-on): Add fpucw.
71803         * modules/printf-frexpl (Depends-on): Likewise.
71804         * modules/fprintf-posix (Depends-on): Likewise.
71805         * modules/snprintf-posix (Depends-on): Likewise.
71806         * modules/sprintf-posix (Depends-on): Likewise.
71807         * modules/vasnprintf-posix (Depends-on): Likewise.
71808         * modules/vasprintf-posix (Depends-on): Likewise.
71809         * modules/vfprintf-posix (Depends-on): Likewise.
71810         * modules/vsnprintf-posix (Depends-on): Likewise.
71811         * modules/vsprintf-posix (Depends-on): Likewise.
71812         * modules/frexpl-tests (Depends-on): Likewise.
71813         * modules/printf-frexpl-tests (Depends-on): Likewise.
71814
71815 2007-03-24  Bruno Haible  <bruno@clisp.org>
71816
71817         * lib/float+.h: New file.
71818         * lib/isnan.c: Include float+.h.
71819         (SIZE): New macro.
71820         (FUNC): Compare only SIZE bytes of the value.
71821         * lib/vasnprintf.c: Include float+.h.
71822         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
71823         SIZEOF_LDBL or SIZEOF_DBL bytes.
71824         * modules/isnan-nolibm (Files): Add lib/float+.h.
71825         * modules/isnanl-nolibm (Files): Add lib/float+.h.
71826         * modules/isnanl (Files): Add lib/float+.h.
71827         * modules/vasnprintf (Files): Add lib/float+.h.
71828
71829 2007-03-24  Bruno Haible  <bruno@clisp.org>
71830
71831         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
71832         include isnanl-nolibm.h.
71833
71834 2007-03-24  Bruno Haible  <bruno@clisp.org>
71835
71836         * tests/test-read-file.c (main): Don't produce spurious output for
71837         expected situations. Make the test fail if it encountered unexpected
71838         results.
71839
71840 2007-03-24  Bruno Haible  <bruno@clisp.org>
71841
71842         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
71843         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
71844
71845 2007-03-24  Bruno Haible  <bruno@clisp.org>
71846
71847         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
71848
71849 2007-03-24  Bruno Haible  <bruno@clisp.org>
71850
71851         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
71852         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
71853
71854         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
71855         * modules/utf8-ucs4: Turn into a symbolic link to module
71856         unistr/u8-mbtouc.
71857
71858         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
71859         utf8-ucs4-unsafe.
71860         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
71861         unistr/u8-mbtouc-unsafe.
71862
71863         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
71864         * modules/utf16-ucs4: Turn into a symbolic link to module
71865         unistr/u16-mbtouc.
71866
71867         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
71868         utf16-ucs4-unsafe.
71869         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
71870         unistr/u16-mbtouc-unsafe.
71871
71872         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
71873         * modules/ucs4-utf8: Turn into a symbolic link to module
71874         unistr/u8-ubtomb.
71875
71876         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
71877         * modules/ucs4-utf16: Turn into a symbolic link to module
71878         unistr/u16-ubtomb.
71879
71880 2007-03-24  Bruno Haible  <bruno@clisp.org>
71881
71882         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
71883         Enable the function only if HAVE_INLINE.
71884         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
71885         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71886         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
71887         Enable the function only if HAVE_INLINE.
71888         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
71889         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71890         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
71891         Enable the function only if HAVE_INLINE.
71892         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
71893         Enable the function only if HAVE_INLINE.
71894         * modules/utf8-ucs4: Update.
71895         * modules/utf8-ucs4-unsafe: Update.
71896         * modules/utf16-ucs4: Update.
71897         * modules/utf16-ucs4-unsafe: Update.
71898         * modules/ucs4-utf8: Update.
71899         * modules/ucs4-utf16: Update.
71900
71901 2007-03-24  Bruno Haible  <bruno@clisp.org>
71902
71903         * lib/utf8-ucs4.h: Remove file.
71904         * lib/utf8-ucs4-unsafe.h: Remove file.
71905         * lib/utf16-ucs4.h: Remove file.
71906         * lib/utf16-ucs4-unsafe.h: Remove file.
71907         * lib/ucs4-utf8.h: Remove file.
71908         * lib/ucs4-utf16.h: Remove file.
71909         * lib/unistr.h: Include their previous contents.
71910         * m4/utf-ucs4.m4: Remove file.
71911         * m4/ucs4-utf.m4: Remove file.
71912         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
71913         (Depends-on): Add unistr/base.
71914         (configure.ac): Remove gl_UTF_UCS4.
71915         (Makefile.am): Update.
71916         (Include): Change to unistr.h.
71917         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
71918         (Depends-on): Add unistr/base.
71919         (configure.ac): Remove gl_UTF_UCS4.
71920         (Makefile.am): Update.
71921         (Include): Change to unistr.h.
71922         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
71923         (Depends-on): Add unistr/base.
71924         (configure.ac): Remove gl_UTF_UCS4.
71925         (Makefile.am): Update.
71926         (Include): Change to unistr.h.
71927         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
71928         (Depends-on): Add unistr/base.
71929         (configure.ac): Remove gl_UTF_UCS4.
71930         (Makefile.am): Update.
71931         (Include): Change to unistr.h.
71932         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
71933         (Depends-on): Add unistr/base.
71934         (configure.ac): Remove gl_UCS4_UTF.
71935         (Makefile.am): Update.
71936         (Include): Change to unistr.h.
71937         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
71938         (Depends-on): Add unistr/base.
71939         (configure.ac): Remove gl_UCS4_UTF.
71940         (Makefile.am): Update.
71941         (Include): Change to unistr.h.
71942         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
71943         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
71944         utf8-ucs4-unsafe.h.
71945         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
71946         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
71947         utf16-ucs4-unsafe.h.
71948         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
71949         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
71950         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
71951         * lib/unistr/u8-strchr.c: Likewise.
71952         * lib/unistr/u8-strrchr.c: Likewise.
71953         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
71954         * lib/unistr/u16-strchr.c: Likewise.
71955         * lib/unistr/u16-strrchr.c: Likewise.
71956         * lib/striconveh.c: Update.
71957         * lib/linebreak.c: Update.
71958
71959 2007-03-24  Bruno Haible  <bruno@clisp.org>
71960
71961         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
71962         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
71963
71964 2007-03-22  Bruno Haible  <bruno@clisp.org>
71965
71966         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
71967
71968 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
71969
71970         * MODULES.html.sh (File system functions): New module write-any-file.
71971         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
71972         * m4/write-any-file.m4: New files.
71973
71974 2007-03-23  Eric Blake  <ebb9@byu.net>
71975
71976         * gnulib-tool: Rearrange space-tab sequences, since some editors
71977         like to eat them.
71978
71979 2007-03-23  Eric Blake  <ebb9@byu.net>
71980
71981         * lib/version-etc.c (version_etc_va): Update license wording to
71982         be more concise.  Recommended by Richard Stallman.
71983
71984 2007-03-22  Bruno Haible  <bruno@clisp.org>
71985
71986         * lib/poll.c (MSG_PEEK): New fallback definition.
71987
71988 2007-03-22  Bruno Haible  <bruno@clisp.org>
71989
71990         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
71991         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
71992         (main): Update.
71993         Fixes a compilation error on BeOS.
71994
71995 2007-03-22  Bruno Haible  <bruno@clisp.org>
71996
71997         * modules/frexpl-tests: New file.
71998         * tests/test-frexpl.c: New file.
71999
72000         * modules/frexpl: New file.
72001         * m4/frexpl.m4: New file.
72002         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
72003         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
72004         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
72005         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
72006         (Depends-on): Add frexpl. Remove isnanl-nolibm.
72007         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
72008
72009 2007-03-22  Bruno Haible  <bruno@clisp.org>
72010
72011         * lib/frexpl.c: Share code with lib/frexp.c.
72012         * modules/mathl (Files): Add lib/frexp.c.
72013         (Depends-on): Add isnanl-nolibm.
72014
72015 2007-03-22  Bruno Haible  <bruno@clisp.org>
72016
72017         * modules/printf-frexp (Files): Add m4/frexp.m4.
72018         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
72019         only if the found frexp function actually works.
72020
72021 2007-03-22  Bruno Haible  <bruno@clisp.org>
72022
72023         * lib/frexp.c: Remove older implementation that uses divisions.
72024
72025 2007-03-21  Bruno Haible  <bruno@clisp.org>
72026
72027         * modules/frexp-tests: New file.
72028         * tests/test-frexp.c: New file.
72029
72030         * modules/frexp: New file.
72031         * lib/frexp.c: New file.
72032         * m4/frexp.m4: New file.
72033         * lib/math_.h (frexp): New declaration.
72034         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
72035         REPLACE_FREXP.
72036         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
72037
72038 2007-03-21  Bruno Haible  <bruno@clisp.org>
72039
72040         * modules/isnanl-tests: New file.
72041         * tests/test-isnanl.c: New file.
72042
72043         * modules/isnanl: New file.
72044         * lib/isnanl.h: New file.
72045         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
72046         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
72047         gl_FUNC_ISNANL_WORKS.
72048         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
72049         New macros.
72050
72051 2007-03-21  Bruno Haible  <bruno@clisp.org>
72052
72053         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
72054         lib/isnanl.h.
72055         (Include): Update.
72056         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
72057         * lib/vasnprintf.c: Update.
72058         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
72059         tests/test-isnanl.h, remove tests/test-isnanl.c.
72060         (Makefile.am): Update.
72061         * tests/test-isnanl-nolibm.c: New file.
72062         * tests/test-isnanl.h: New file.
72063         * tests/test-isnanl.c: Remove file.
72064
72065 2007-03-21  Jim Meyering  <jim@meyering.net>
72066
72067         When trying to open ".", treat ESTALE like EACCES.
72068         * lib/savewd.c (savewd_save): Resort to forking not just upon
72069         failure with EACCES, but also when errno is ESTALE.
72070
72071 2007-03-20  Bruno Haible  <bruno@clisp.org>
72072
72073         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
72074         Needed on AIX 5.1. Reported by Matthew Woehlke.
72075
72076 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
72077
72078         Suggestions by Bruno Haible:
72079         * lib/acl-internal.h: Include "gettext.h" rather than rolling
72080         our own.
72081         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
72082         * modules/acl (Depends-on): Add gettext.
72083
72084 2007-03-19  Bruno Haible  <bruno@clisp.org>
72085
72086         * modules/iconvme: Remove file.
72087         * lib/iconvme.h: Remove file.
72088         * lib/iconvme.c: Remove file.
72089         * m4/iconvme.m4: Remove file.
72090
72091 2007-03-19  Bruno Haible  <bruno@clisp.org>
72092
72093         * doc/relocatable-maint.texi: Break long shell script line.
72094         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
72095
72096 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
72097
72098         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
72099         handle file_has_acl.
72100         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
72101         * lib/acl.c: Move header inclusions and related macro defns into
72102         lib/acl-internal.h.
72103         (S_ISLNK): Remove defn, since that's now done for us.
72104         (file_has_acl): Move to lib/file-has-acl.c.
72105         Call acl_trivial if available.  This is the crucial part of the fix.
72106         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
72107         shared within the library.  Rewrite a bit, partly to make it compatible
72108         with the GNU coding style.
72109         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
72110         Remove unnecessary double-quotes.
72111         Don't test for acl_to_text; the build will catch that.
72112         Replace acl_entries if it doesn't exist and it is needed.
72113         Check for -lsec and acl_trivial (as used on Solaris 10).
72114         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
72115         lib/file-has-acl.c.
72116         (Depends-on): Add sys_stat, for S_ISLNK.
72117
72118 2007-03-19  Ben Pfaff  <blp@gnu.org>
72119
72120         * doc/gnulib.texi: Fix typos.
72121         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
72122
72123 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
72124
72125         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
72126         If size is zero here, buf must be zero.
72127
72128 2007-03-19  Simon Josefsson  <simon@josefsson.org>
72129
72130         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
72131         <bruno@clisp.org>.
72132
72133 2007-03-18  Bruno Haible  <bruno@clisp.org>
72134
72135         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
72136         Suggested by Eric Blake.
72137
72138 2007-03-18  Ben Pfaff  <blp@gnu.org>
72139
72140         * doc/relocatable.texi: Recommend using as prefix a directory
72141         that does not exist and will never be created.  Based on
72142         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
72143         and others.
72144
72145 2007-03-17  Bruno Haible  <bruno@clisp.org>
72146
72147         * lib/fchownat.c: Include lchown.h.
72148
72149 2007-03-17  Bruno Haible  <bruno@clisp.org>
72150
72151         Fix endless loop when the given allocated size was > INT_MAX.
72152         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
72153         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
72154         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
72155         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
72156         * lib/sprintf.c (sprintf): Likewise.
72157
72158 2007-03-17  Bruno Haible  <bruno@clisp.org>
72159
72160         * tests/test-argp-2.sh (func_compare): Output a context diff.
72161
72162 2007-03-17  Bruno Haible  <bruno@clisp.org>
72163
72164         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
72165         locale's decimal-point character.
72166
72167 2007-03-17  Bruno Haible  <bruno@clisp.org>
72168
72169         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
72170         before comparing it. Needed because on some platforms (e.g. x86) a
72171         'long double' occupies less bytes than sizeof (long double).
72172
72173 2007-03-17  Bruno Haible  <bruno@clisp.org>
72174
72175         * tests/test-crc.c (main): Make printf statements 64-bit clean.
72176         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
72177         * tests/test-getaddrinfo.c (simple): Likewise.
72178         * tests/test-read-file.c (main): Likewise.
72179
72180 2007-03-17  Bruno Haible  <bruno@clisp.org>
72181
72182         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
72183
72184 2007-03-17  Bruno Haible  <bruno@clisp.org>
72185
72186         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
72187         unused variable.
72188
72189 2007-03-17  Bruno Haible  <bruno@clisp.org>
72190
72191         * tests/test-c-strcasecmp.c: Include c-strcase.h.
72192         * tests/test-c-strncasecmp.c: Likewise.
72193
72194 2007-03-17  Bruno Haible  <bruno@clisp.org>
72195
72196         * modules/stdlib (Depends-on): Add unistd.
72197         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
72198         Needed for MacOS X 10.3.
72199
72200 2007-03-17  Bruno Haible  <bruno@clisp.org>
72201
72202         * lib/unistr/u-strdup.h: Include <stdlib.h>.
72203
72204 2007-03-17  Bruno Haible  <bruno@clisp.org>
72205
72206         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
72207
72208 2007-03-17  Bruno Haible  <bruno@clisp.org>
72209
72210         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
72211         to reflect files copied from gnulib (with or without modifications).
72212         Suggested by Jim Meyering.
72213
72214 2007-03-17  Eric Blake  <ebb9@byu.net>
72215
72216         * NEWS: Document stdlib change from 2007-02-18.
72217
72218 2007-03-17  Jim Meyering  <jim@meyering.net>
72219
72220         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
72221         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
72222         someone uses a name containing shell meta-characters.
72223         Reported by Alfred M. Szmidt.
72224
72225         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
72226
72227 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
72228
72229         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
72230         and copy gettext configuration files only if configure.ac contains
72231         a use of AM_GNU_GETTEXT_VERSION.
72232
72233 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
72234
72235         * build-aux/bootstrap (gnulib_name): New variable.
72236         (gnulib_tool_options): Use it.
72237
72238 2007-03-13  Simon Josefsson  <simon@josefsson.org>
72239
72240         * tests/test-des.c: Use new namespace.
72241
72242 2007-03-15  Bruno Haible  <bruno@clisp.org>
72243
72244         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
72245         Reported by James Youngman <jay@gnu.org>.
72246
72247 2007-03-15  Bruno Haible  <bruno@clisp.org>
72248
72249         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
72250         declared prototype. Needed with cc on OSF/1 5.1.
72251
72252 2007-03-15  Bruno Haible  <bruno@clisp.org>
72253
72254         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
72255         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
72256         (struct gl_list_implementation): Add dispose_fn argument to the
72257         'create_empty', 'create' methods.
72258         (struct gl_list_impl_base): Add field 'dispose_fn'.
72259         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
72260         argument.
72261         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
72262         dispose_fn argument.
72263         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
72264         dispose_fn on the dropped values.
72265         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
72266         dispose_fn argument.
72267         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
72268         dropped values.
72269         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
72270         (gl_tree_remove_node): Call dispose_fn on the dropped value.
72271         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
72272         (gl_tree_remove_node): Call dispose_fn on the dropped value.
72273         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
72274         argument.
72275         (gl_tree_list_free): Call dispose_fn on the dropped values.
72276         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
72277         the dropped values.
72278         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
72279         Add dispose_fn argument.
72280         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
72281         Call dispose_fn on the dropped values.
72282         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
72283         Add dispose_fn argument.
72284         (gl_sublist_create): Initialize the 'dispose_fn' field.
72285         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
72286         * tests/test-array_list.c (main): Update.
72287         * tests/test-carray_list.c (main): Update.
72288         * tests/test-avltree_list.c (main): Update.
72289         * tests/test-rbtree_list.c (main): Update.
72290         * tests/test-avltreehash_list.c (main): Update.
72291         * tests/test-rbtreehash_list.c (main): Update.
72292         * tests/test-linked_list.c (main): Update.
72293         * tests/test-linkedhash_list.c (main): Update.
72294         * tests/test-array_oset.c (main): Update.
72295
72296 2007-03-15  Bruno Haible  <bruno@clisp.org>
72297
72298         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
72299         (gl_oset_create_empty): Add dispose_fn argument.
72300         (struct gl_oset_implementation): Add dispose_fn argument to
72301         'create_empty' method.
72302         (struct gl_oset_impl_base): Add dispose_fn field.
72303         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
72304         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
72305         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
72306         values.
72307         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
72308         (gl_tree_oset_free): Call dispose_fn on the dropped values.
72309         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
72310         dropped value.
72311         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
72312         dropped value.
72313         * tests/test-array_oset.c (main): Update.
72314         * tests/test-avltree_oset.c (main): Update.
72315         * tests/test-rbtree_oset.c (main): Update.
72316         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
72317
72318 2007-03-13  Bruno Haible  <bruno@clisp.org>
72319
72320         * tests/test-stdbool.c (i): Update after last patch.
72321
72322 2007-03-12  Bruno Haible  <bruno@clisp.org>
72323
72324         * lib/quotearg.c: Include <wctype.h> early, before the definition of
72325         the iswprint macro. Needed on Solaris 2.5.1.
72326
72327 2007-03-12  Bruno Haible  <bruno@clisp.org>
72328
72329         * tests/test-printf-frexp.c (main): Declare x as volatile.
72330
72331 2007-03-12  Simon Josefsson  <simon@josefsson.org>
72332
72333         * doc/gnulib.texi (Build robot for gnulib): New section.
72334
72335 2007-03-12  Jim Meyering  <jim@meyering.net>
72336
72337         * build-aux/bootstrap: New file.
72338         * build-aux/bootstrap.conf: New file, from coreutils.
72339
72340 2007-03-11  Bruno Haible  <bruno@clisp.org>
72341
72342         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
72343
72344 2007-03-12  Simon Josefsson  <simon@josefsson.org>
72345
72346         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
72347         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
72348         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
72349
72350 2007-03-11  Bruno Haible  <bruno@clisp.org>
72351
72352         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
72353         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
72354
72355 2007-03-11  Bruno Haible  <bruno@clisp.org>
72356
72357         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
72358         formula. Needed for SunPRO C 5.0.
72359
72360 2007-03-11  Bruno Haible  <bruno@clisp.org>
72361
72362         * modules/long-options (Depends-on): Add getopt.
72363
72364 2007-03-11  Bruno Haible  <bruno@clisp.org>
72365
72366         * modules/modechange (Depends-on): Add stdbool.
72367
72368 2007-03-11  Bruno Haible  <bruno@clisp.org>
72369
72370         * modules/i-ring (Depends-on): Add stdbool.
72371
72372 2007-03-11  Bruno Haible  <bruno@clisp.org>
72373
72374         * modules/gc-des (Depends-on): Add stdbool.
72375
72376 2007-03-11  Bruno Haible  <bruno@clisp.org>
72377
72378         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
72379
72380 2007-03-11  Bruno Haible  <bruno@clisp.org>
72381
72382         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
72383
72384 2007-03-11  Bruno Haible  <bruno@clisp.org>
72385
72386         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
72387
72388 2007-03-11  Bruno Haible  <bruno@clisp.org>
72389
72390         * lib/vasnprintf.c (sprintf): Undefine.
72391
72392 2007-03-11  Bruno Haible  <bruno@clisp.org>
72393
72394         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
72395         initializers in SunPRO C and Compaq C compilers.
72396
72397 2007-03-11  Bruno Haible  <bruno@clisp.org>
72398
72399         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
72400         decrementing code ANSI C compliant.
72401
72402 2007-03-11  Bruno Haible  <bruno@clisp.org>
72403
72404         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
72405         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
72406
72407 2007-03-11  Bruno Haible  <bruno@clisp.org>
72408
72409         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
72410         <stdbool.h> substitute doesn't pass.
72411
72412 2007-03-11  Bruno Haible  <bruno@clisp.org>
72413
72414         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
72415
72416 2007-03-11  Bruno Haible  <bruno@clisp.org>
72417
72418         * gnulib-tool (func_create_megatestdir): Create also an autobuild
72419         script, for submission to autobuild.josefsson.org.
72420
72421 2007-03-10  Bruno Haible  <bruno@clisp.org>
72422
72423         * modules/canonicalize-lgpl-tests: New file.
72424         * tests/test-canonicalize-lgpl.sh: New file.
72425         * tests/test-canonicalize-lgpl.c: New file.
72426
72427         * modules/c-strcase-tests: New file.
72428         * tests/test-c-strcase.sh: New file.
72429         * tests/test-c-strcasecmp.c: New file.
72430         * tests/test-c-strncasecmp.c: New file.
72431
72432         * modules/atexit-tests: New file.
72433         * tests/test-atexit.sh: New file.
72434         * tests/test-atexit.c: New file.
72435
72436 2007-03-10  Bruno Haible  <bruno@clisp.org>
72437
72438         * tests/test-binary-io.sh: Use temporary filenames that are not so
72439         likely to clash with those of other tests (in a parallel make).
72440         * tests/test-binary-io.c: Likewise.
72441
72442 2007-03-10  Bruno Haible  <bruno@clisp.org>
72443
72444         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
72445         fallback; use #error instead.
72446         Suggested by Simon Josefsson.
72447
72448 2007-03-10  Bruno Haible  <bruno@clisp.org>
72449
72450         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
72451         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
72452         first and the last.
72453
72454 2007-03-10  Bruno Haible  <bruno@clisp.org>
72455
72456         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
72457
72458 2007-03-10  Bruno Haible  <bruno@clisp.org>
72459
72460         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
72461         "make distcheck".
72462         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
72463         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
72464         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
72465
72466 2007-03-10  Bruno Haible  <bruno@clisp.org>
72467
72468         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
72469         variable.
72470         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
72471         variable.
72472
72473 2007-03-09  Eric Blake  <ebb9@byu.net>
72474         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
72475
72476         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
72477         types are not being provided by gnulib.
72478         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
72479         types are supported.
72480
72481 2007-03-10  Bruno Haible  <bruno@clisp.org>
72482
72483         * lib/stdio_.h (__attribute__): New macro.
72484         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
72485         vsprintf): Specify __attribute__ __format__ for GCC.
72486         Suggested by Eric Blake.
72487
72488 2007-03-09  Bruno Haible  <bruno@clisp.org>
72489
72490         * modules/printf-posix-tests: New file.
72491         * tests/test-printf-posix.sh: New file.
72492         * tests/test-printf-posix.c: New file.
72493
72494         * modules/printf-posix: New file.
72495         * lib/printf.c: New file.
72496         * m4/printf-posix-rpl.m4: New file.
72497         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
72498         REPLACE_PRINTF.
72499         * lib/stdio_.h (printf): New declaration.
72500         (format, __format__, ____printf____, ____scanf____, ____strftime____,
72501         ____strfmon____): New macros.
72502         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
72503         REPLACE_PRINTF.
72504
72505 2007-03-09  Bruno Haible  <bruno@clisp.org>
72506
72507         * tests/test-vasnprintf-posix2.sh: New file.
72508         * tests/test-vasnprintf-posix2.c: New file.
72509         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
72510         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
72511         (Makefile.am): Activate test-vasnprintf-posix2.sh.
72512
72513         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
72514         a locale dependent decimal point, rather than always '.'.
72515
72516 2007-03-09  Eric Blake  <ebb9@byu.net>
72517
72518         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
72519         spite of platforms like Tandem/NSK that define it to -1.
72520
72521 2007-03-08  Bruno Haible  <bruno@clisp.org>
72522
72523         * modules/vprintf-posix-tests: New file.
72524         * tests/test-vprintf-posix.sh: New file.
72525         * tests/test-vprintf-posix.c: New file.
72526         * tests/test-printf-posix.h: New file.
72527
72528         * modules/vprintf-posix: New file.
72529         * lib/vprintf.c: New file.
72530         * m4/vprintf-posix.m4: New file.
72531         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
72532         REPLACE_VPRINTF.
72533         * lib/stdio_.h (vprintf): New declaration.
72534         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
72535         REPLACE_VPRINTF.
72536
72537 2007-03-08  Bruno Haible  <bruno@clisp.org>
72538
72539         * modules/fprintf-posix-tests: New file.
72540         * tests/test-fprintf-posix.sh: New file.
72541         * tests/test-fprintf-posix.c: New file.
72542
72543         * modules/fprintf-posix: New file.
72544         * lib/fprintf.c: New file.
72545         * m4/fprintf-posix.m4: New file.
72546         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
72547         REPLACE_FPRINTF.
72548         * lib/stdio_.h (fprintf): New declaration.
72549         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
72550         REPLACE_FPRINTF.
72551
72552 2007-03-08  Bruno Haible  <bruno@clisp.org>
72553
72554         * modules/vfprintf-posix-tests: New file.
72555         * tests/test-vfprintf-posix.sh: New file.
72556         * tests/test-vfprintf-posix.c: New file.
72557         * tests/test-fprintf-posix.h: New file.
72558         * tests/test-fprintf-posix.out: New file.
72559
72560         * modules/vfprintf-posix: New file.
72561         * lib/vfprintf.c: New file.
72562         * m4/vfprintf-posix.m4: New file.
72563         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
72564         REPLACE_VFPRINTF.
72565         * lib/stdio_.h (vfprintf): New declaration.
72566         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
72567         REPLACE_VFPRINTF.
72568
72569 2007-03-08  Bruno Haible  <bruno@clisp.org>
72570
72571         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
72572
72573 2007-03-08  Bruno Haible  <bruno@clisp.org>
72574
72575         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
72576         instead of 'expr' invocations.
72577         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
72578         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
72579         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
72580         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
72581         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
72582         Suggested by Paul Eggert.
72583
72584 2007-03-08  Bruno Haible  <bruno@clisp.org>
72585
72586         * modules/fseterr-tests: New file.
72587         * tests/test-fseterr.c: New file.
72588
72589         * modules/fseterr: New file.
72590         * lib/fseterr.h: New file.
72591         * lib/fseterr.c: New file.
72592
72593 2007-03-08  Bruno Haible  <bruno@clisp.org>
72594
72595         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
72596         * lib/getopt_.h: Likewise.
72597         * lib/mbswidth.h: Likewise.
72598         * lib/setenv.h: Likewise.
72599         * lib/vasnprintf.h: Likewise.
72600         * lib/vasprintf.h: Likewise.
72601         * lib/verror.h: Likewise.
72602         * lib/xsetenv.h: Likewise.
72603         * lib/xvasprintf.h: Likewise.
72604
72605 2007-03-08  Jim Meyering  <jim@meyering.net>
72606
72607         * users.txt: Add parted.
72608
72609         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
72610
72611 2007-03-07  Bruno Haible  <bruno@clisp.org>
72612
72613         * m4/printf.m4: Make the shell script snippets copy&pastable.
72614
72615 2007-03-02  Bruno Haible  <bruno@clisp.org>
72616
72617         * lib/netinet_in_.h: New file.
72618         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
72619         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
72620         * modules/netinet_in (Files): Add lib/netinet_in_.h.
72621         (Depends-on): Add absolute-header.
72622         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
72623         into netinet/in.h.
72624
72625 2007-03-03  Bruno Haible  <bruno@clisp.org>
72626
72627         * lib/sys_select_.h: New file.
72628         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
72629         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
72630         * modules/sys_select (Files): Add lib/sys_select_.h.
72631         (Depends-on): Add absolute-header.
72632         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
72633         into sys/select.h.
72634
72635 2007-03-02  Bruno Haible  <bruno@clisp.org>
72636
72637         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
72638         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
72639         values.
72640         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
72641         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
72642         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
72643         * modules/sys_socket (Depends-on): Add absolute-header.
72644         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
72645         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
72646         (Include): Remove requirement of inclusion of <sys/types.h>.
72647
72648 2007-03-02  Bruno Haible  <bruno@clisp.org>
72649
72650         * lib/byteswap_.h (bswap_32): Fix formula.
72651
72652 2007-03-06  Bruno Haible  <bruno@clisp.org>
72653
72654         * modules/sprintf-posix-tests: New file.
72655         * tests/test-sprintf-posix.c: New file.
72656
72657         * modules/sprintf-posix: New file.
72658         * lib/sprintf.c: New file.
72659         * m4/sprintf-posix.m4: New file.
72660         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
72661         REPLACE_SPRINTF.
72662         * lib/stdio_.h (sprintf): New declaration.
72663         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
72664         REPLACE_SPRINTF.
72665
72666 2007-03-06  Bruno Haible  <bruno@clisp.org>
72667
72668         * modules/vsprintf-posix-tests: New file.
72669         * tests/test-vsprintf-posix.c: New file.
72670         * tests/test-sprintf-posix.h: New file.
72671
72672         * modules/vsprintf-posix: New file.
72673         * lib/vsprintf.c: New file.
72674         * m4/vsprintf-posix.m4: New file.
72675         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
72676         REPLACE_VSPRINTF.
72677         * lib/stdio_.h (vsprintf): New declaration.
72678         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
72679         REPLACE_VSPRINTF.
72680
72681 2007-03-06  Bruno Haible  <bruno@clisp.org>
72682
72683         * modules/vsnprintf (Depend-on): Remove minmax.
72684
72685 2007-03-06  Bruno Haible  <bruno@clisp.org>
72686
72687         * modules/snprintf-posix-tests: New file.
72688         * tests/test-snprintf-posix.c: New file.
72689
72690         * modules/snprintf-posix: New file.
72691         * m4/snprintf-posix.m4: New file.
72692         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
72693         gl_FUNC_SNPRINTF.
72694         (gl_FUNC_SNPRINTF): Invoke it.
72695         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
72696         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
72697         is set.
72698         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
72699
72700 2007-03-06  Bruno Haible  <bruno@clisp.org>
72701
72702         * modules/vsnprintf-posix-tests: New file.
72703         * tests/test-vsnprintf-posix.c: New file.
72704         * tests/test-snprintf-posix.h: New file.
72705
72706         * modules/vsnprintf-posix: New file.
72707         * m4/vsnprintf-posix.m4: New file.
72708         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
72709         gl_FUNC_VSNPRINTF.
72710         (gl_FUNC_VSNPRINTF): Invoke it.
72711         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
72712         * lib/stdio_.h (vsnprintf): Define as a replacement if
72713         REPLACE_VSNPRINTF is set.
72714         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
72715
72716 2007-03-06  Bruno Haible  <bruno@clisp.org>
72717
72718         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
72719         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
72720
72721 2007-03-06  Bruno Haible  <bruno@clisp.org>
72722
72723         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
72724         (asinl): Declare also if HAVE_DECL_ASINL is set.
72725         (atanl): Declare also if HAVE_DECL_ATANL is set.
72726         (ceill): Declare also if HAVE_DECL_CEILL is set.
72727         (cosl): Declare also if HAVE_DECL_COSL is set.
72728         (expl): Declare also if HAVE_DECL_EXPL is set.
72729         (floorl): Declare also if HAVE_DECL_FLOORL is set.
72730         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
72731         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
72732         (logl): Declare also if HAVE_DECL_LOGL is set.
72733         (sinl): Declare also if HAVE_DECL_SINL is set.
72734         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
72735         (tanl): Declare also if HAVE_DECL_TANL is set.
72736         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
72737         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
72738         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
72739         declaration of frexpl, ldexpl.
72740         * modules/printf-frexpl (Depends-on): Add math.
72741         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
72742
72743 2007-03-05  Bruno Haible  <bruno@clisp.org>
72744
72745         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
72746         frexpl and ldexpl are declared.
72747         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
72748
72749 2007-03-05  Bruno Haible  <bruno@clisp.org>
72750
72751         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
72752         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
72753
72754 2007-03-05  Bruno Haible  <bruno@clisp.org>
72755
72756         * lib/stdio_.h: Include <stddef.h>.
72757
72758 2007-03-05  Bruno Haible  <bruno@clisp.org>
72759
72760         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
72761
72762 2007-03-05  Bruno Haible  <bruno@clisp.org>
72763
72764         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
72765         NetBSD 4, from Ralf Wildenhues.
72766
72767 2007-03-04  Bruno Haible  <bruno@clisp.org>
72768
72769         * lib/vasprintf.h: Update #if logic for the case when the functions
72770         exist but are overridden.
72771
72772 2007-03-04  Bruno Haible  <bruno@clisp.org>
72773
72774         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
72775         implementations: glibc-2.4 and MacOS X 10.3.
72776         * tests/test-vasnprintf-posix.c (test_function): Test also the case
72777         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
72778         * tests/test-vasprintf-posix.c (test_function): Likewise.
72779
72780 2007-03-04  Bruno Haible  <bruno@clisp.org>
72781
72782         * modules/vasprintf-posix-tests: New file.
72783         * tests/test-vasprintf-posix.c: New file.
72784
72785         * modules/vasprintf-posix: New file.
72786         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
72787         defined.
72788         * m4/vasprintf-posix.m4: New file.
72789         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
72790         gl_FUNC_VASPRINTF.
72791         (gl_FUNC_VASPRINTF): Invoke it.
72792         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
72793         here.
72794         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
72795
72796 2007-03-04  Bruno Haible  <bruno@clisp.org>
72797
72798         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
72799         REPLACE_GETTIMEOFDAY.
72800         * modules/sys_time (Makefile.am): Likewise.
72801         * m4/sys_time_h.m4: Likewise.
72802         * m4/gettimeofday.m4: Likewise.
72803
72804 2007-03-04  Bruno Haible  <bruno@clisp.org>
72805
72806         * modules/vasnprintf-posix-tests: New file.
72807         * tests/test-vasnprintf-posix.c: New file.
72808
72809         * modules/vasnprintf-posix: New file.
72810         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
72811         printf-frexpl.h.
72812         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
72813         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
72814         REPLACE_VASNPRINTF is defined.
72815         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
72816         gl_FUNC_VASNPRINTF.
72817         (gl_FUNC_VASNPRINTF): Invoke it.
72818         * m4/vasnprintf-posix.m4: New file.
72819         * m4/printf.m4: New file.
72820
72821 2007-03-04  Bruno Haible  <bruno@clisp.org>
72822
72823         Compile progreloc.c only if --enable-relocatable is specified.
72824         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
72825         if --enable-relocatable was specified.
72826         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
72827         lib_SOURCES.
72828
72829 2007-03-04  Jim Meyering  <jim@meyering.net>
72830
72831         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
72832         Use it consistently, rather than enumerating errno constants.
72833
72834 2007-03-04  Bruno Haible  <bruno@clisp.org>
72835
72836         * modules/xvasprintf-tests: New file.
72837         * tests/test-xvasprintf.c: New file.
72838
72839         * modules/vasprintf-tests: New file.
72840         * tests/test-vasprintf.c: New file.
72841
72842         * modules/vasnprintf-tests: New file.
72843         * tests/test-vasnprintf.c: New file.
72844
72845         * modules/vsnprintf-tests: New file.
72846         * tests/test-vsnprintf.c: New file.
72847
72848         * modules/snprintf-tests: New file.
72849         * tests/test-snprintf.c: New file.
72850
72851 2007-03-04  Bruno Haible  <bruno@clisp.org>
72852
72853         Compile relocatable.c only if --enable-relocatable is specified.
72854         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
72855         gl_RELOCATABLE_LIBRARY.
72856         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
72857         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
72858         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
72859         gl_RELOCATABLE_LIBRARY.
72860         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
72861         (Makefile.am): Remove lib_SOURCES.
72862         * modules/relocatable-lib-lgpl (configure.ac): Invoke
72863         gl_RELOCATABLE_LIBRARY.
72864         (Makefile.am): Remove lib_SOURCES.
72865         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
72866         always.
72867         * modules/relocatable-prog-wrapper (configure.ac): Invoke
72868         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
72869
72870 2007-03-04  Bruno Haible  <bruno@clisp.org>
72871
72872         * modules/argmatch-tests: New file.
72873         * tests/test-argmatch.c: New file.
72874
72875         * tests/test-allocsa.c (main): Halve the number of loop runs.
72876
72877         * modules/alloca-opt-tests: New file.
72878         * tests/test-alloca-opt.c: New file.
72879
72880 2007-03-04  Jim Meyering  <jim@meyering.net>
72881
72882         Work around difference between Linux ACLs and Solaris 10 ZFS.
72883         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
72884         for EINVAL.
72885
72886 2007-03-03  Bruno Haible  <bruno@clisp.org>
72887
72888         * modules/relocatable-prog (Depends-on): Add back progreloc's
72889         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
72890
72891 2007-03-03  Bruno Haible  <bruno@clisp.org>
72892
72893         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
72894         * modules/relocatable-lib: New file.
72895
72896 2007-03-03  Bruno Haible  <bruno@clisp.org>
72897
72898         * modules/relocatable-prog: Renamed from modules/relocatable.
72899         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
72900
72901 2007-03-03  Bruno Haible  <bruno@clisp.org>
72902
72903         * modules/relocatable-script (Files): Add doc/relocatable.texi,
72904         m4/relocatable-lib.m4.
72905         (Depends-on): Remove 'relocatable'.
72906         (configure.ac): Add gl_RELOCATABLE_NOP.
72907
72908 2007-03-03  Bruno Haible  <bruno@clisp.org>
72909
72910         * modules/relocatable-prog-wrapper: New file.
72911         * modules/relocatable (Depends-on): Add it. Remove all other
72912         dependencies except progname.
72913         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
72914
72915         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
72916         (gl_FUNC_STRERROR): Nop.
72917         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
72918
72919         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
72920         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
72921
72922         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
72923         (gl_FUNC_READLINK): Update.
72924
72925         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
72926
72927 2007-03-03  Bruno Haible  <bruno@clisp.org>
72928
72929         * lib/xreadlink.c: Include <unistd.h> unconditionally.
72930         * modules/xreadlink (Depends-on): Add unistd.
72931         * modules/xreadlink-with-size (Depends-on): Likewise.
72932
72933 2007-03-03  Bruno Haible  <bruno@clisp.org>
72934
72935         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
72936         extracted from gt_FUNC_SETENV.
72937         (gt_FUNC_SETENV): Remove macro.
72938         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
72939         remove gt_FUNC_SETENV.
72940
72941 2007-03-03  Bruno Haible  <bruno@clisp.org>
72942
72943         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
72944         ENABLE_RELOCATABLE here.
72945         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
72946
72947 2007-03-03  Bruno Haible  <bruno@clisp.org>
72948
72949         * modules/rbtreehash-list-tests (Depends-on): Add progname.
72950         * tests/test-rbtreehash_list.c: Include progname.h.
72951         (main): Call set_program_name.
72952
72953         * modules/rbtree-oset-tests (Depends-on): Add progname.
72954         * tests/test-rbtree_oset.c: Include progname.h.
72955         (main): Call set_program_name.
72956
72957         * modules/rbtree-list-tests (Depends-on): Add progname.
72958         * tests/test-rbtree_list.c: Include progname.h.
72959         (main): Call set_program_name.
72960
72961         * modules/linked-list-tests (Depends-on): Add progname.
72962         * tests/test-linked_list.c: Include progname.h.
72963         (main): Call set_program_name.
72964
72965 2007-03-03  Bruno Haible  <bruno@clisp.org>
72966
72967         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
72968         All uses of __restrict changed to _Restrict_.
72969         * lib/glob_.h (__restrict): Remove macro.
72970
72971 2007-03-02  Bruno Haible  <bruno@clisp.org>
72972
72973         * modules/gettext (configure.ac): Require gettext infrastructure
72974         from version 0.16.1.
72975
72976 2007-03-02  Bruno Haible  <bruno@clisp.org>
72977
72978         * modules/linkedhash-list-tests (Depends-on): Add progname.
72979         * tests/test-linkedhash_list.c: Include progname.h.
72980         (main): Call set_program_name.
72981
72982         * modules/carray-list-tests (Depends-on): Add progname.
72983         * tests/test-carray_list.c: Include progname.h.
72984         (main): Call set_program_name.
72985
72986         * modules/avltreehash-list-tests (Depends-on): Add progname.
72987         * tests/test-avltreehash_list.c: Include progname.h.
72988         (main): Call set_program_name.
72989
72990         * modules/avltree-oset-tests (Depends-on): Add progname.
72991         * tests/test-avltree_oset.c: Include progname.h.
72992         (main): Call set_program_name.
72993
72994         * modules/avltree-list-tests (Depends-on): Add progname.
72995         * tests/test-avltree_list.c: Include progname.h.
72996         (main): Call set_program_name.
72997
72998         * modules/array-oset-tests (Depends-on): Add progname.
72999         * tests/test-array_oset.c: Include progname.h.
73000         (main): Call set_program_name.
73001
73002         * modules/array-list-tests (Depends-on): Add progname.
73003         * tests/test-array_list.c: Include progname.h.
73004         (main): Call set_program_name.
73005
73006         * modules/argp-tests (Depends-on): Add progname.
73007         * tests/test-argp.c: Include argp.h first. Include progname.h.
73008         (main): Call set_program_name.
73009
73010 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
73011
73012         * doc/gnulib-tool.texi (Initial import): Reword description of
73013         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
73014         limited effect even if defined after the first system include.
73015
73016 2007-03-01  Bruno Haible  <bruno@clisp.org>
73017
73018         * build-aux/config.libpath: Update to libtool-1.5.22.
73019         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
73020
73021 2007-03-01  Bruno Haible  <bruno@clisp.org>
73022
73023         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
73024         foo_CFLAGS.
73025         Reported by Ralf Wildenhues.
73026
73027 2007-03-01  Bruno Haible  <bruno@clisp.org>
73028
73029         * build-aux/install-reloc: Remove object files left over by some
73030         compilers.
73031         Reported by Ralf Wildenhues.
73032
73033 2007-03-01  Bruno Haible  <bruno@clisp.org>
73034
73035         * build-aux/install-reloc: Break long lines.
73036
73037 2007-03-01  Bruno Haible  <bruno@clisp.org>
73038
73039         * doc/relocatable.texi: Document that it may not work on OpenBSD.
73040         Reported by Ralf Wildenhues.
73041
73042 2007-03-01  Bruno Haible  <bruno@clisp.org>
73043
73044         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
73045         include ordering constraints.
73046
73047 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
73048
73049         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
73050         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
73051         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
73052         as another example.
73053         * lib/time_.h: Fix misspelling.
73054         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
73055         Require gl_HEADER_TIME_H_DEFAULTS.
73056         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
73057         * m4/time_r.m4 (gl_TIME_R): Likewise.
73058         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
73059
73060 2007-03-01  Bruno Haible  <bruno@clisp.org>
73061
73062         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
73063         * m4/utimens.m4 (gl_UTIMENS): Likewise.
73064
73065 2007-03-01  Jim Meyering  <jim@meyering.net>
73066
73067         * modules/xreadlink (Maintainer): Add my name.
73068         * modules/xreadlink-with-size (Depends-on): Alphabetize.
73069
73070 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
73071             Bruno Haible  <bruno@clisp.org>
73072
73073         * build-aux/install-reloc: Compile also c-ctype.c.
73074         * build-aux/relocatable.sh.in: New file.
73075         * doc/relocatable.texi: New file.
73076         * doc/relocatable-maint.texi: New file.
73077         * doc/gnulib.texi: Include relocatable-maint.texi.
73078         * lib/progreloc.c: Include unistd.h unconditionally.
73079         * lib/relocwrapper.c: Include unistd.h unconditionally.
73080         Include c-ctype.h.
73081         (add_dotbin): Use c_tolower.
73082         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
73083         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
73084         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
73085         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
73086         to m4/relocatable-lib.m4.
73087         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
73088         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
73089         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
73090         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
73091         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
73092         * modules/relocatable: New file.
73093         * modules/relocatable-lib: New file.
73094         * modules/relocatable-script: New file.
73095
73096 2007-02-28  Bruno Haible  <bruno@clisp.org>
73097
73098         Import --enable-relocatable infrastructure.
73099         * build-aux/config.libpath: New file, from GNU gettext.
73100         * build-aux/install-reloc: New file, from GNU gettext.
73101         * build-aux/reloc-ldflags: New file, from GNU gettext.
73102         * lib/relocatable.h: New file, from GNU gettext.
73103         * lib/relocatable.c: New file, from GNU gettext.
73104         * lib/relocwrapper.c: New file, from GNU gettext.
73105         * m4/relocatable.m4: New file, from GNU gettext.
73106
73107 2007-02-28  Bruno Haible  <bruno@clisp.org>
73108
73109         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
73110
73111         * modules/xreadlink: New file, from GNU gettext with modifications.
73112         * lib/xreadlink.c: New file, from GNU gettext.
73113         * lib/xreadlink.h: Add comments.
73114         (xreadlink): New declaration.
73115
73116         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
73117         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
73118         lib/xreadlink-with-size.c.
73119         (configure.ac): Remove gl_XREADLINK invocation.
73120         (Makefile.am): Augment lib_SOURCES.
73121         * m4/xreadlink.m4: Remove file.
73122         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
73123         (xreadlink_with_size): Renamed from xreadink.
73124         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
73125         * modules/canonicalize (Depends-on): Replace xreadlink with
73126         xreadlink-with-size.
73127         * lib/canonicalize.c (canonicalize_filename_mode): Update.
73128
73129 2007-02-25  Jim Meyering  <jim@meyering.net>
73130
73131         * build-aux/announce-gen: When complaining about excess arguments,
73132         list them.
73133
73134 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
73135
73136         * README: Document signed integer overflow situation more
73137         accurately.
73138
73139 2007-02-25  Bruno Haible  <bruno@clisp.org>
73140
73141         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
73142         'a' or 'A' conversion.
73143
73144 2007-02-25  Bruno Haible  <bruno@clisp.org>
73145
73146         * modules/filename: Renamed from modules/pathname.
73147         (Files): Replace lib/pathname.h with lib/filename.h. Replace
73148         lib/concatpath.c with lib/concat-filename.c.
73149         (Makefile.am): Update.
73150         (Include): Replace pathname.h with filename.h.
73151         * lib/filename.h: Renamed from lib/pathname.h.
73152         (concatenated_filename): Renamed from concatenated_pathname.
73153         * lib/concat-filename.c: Renamed from lib/concatpath.c.
73154         (concatenated_filename): Renamed from concatenated_pathname.
73155         * lib/findprog.c: Include filename.h instead of pathname.h.
73156         (find_in_path): Update.
73157         * lib/javacomp.c: Include filename.h instead of pathname.h.
73158         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
73159         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
73160         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
73161         is_oldgcj_14_13_usable, is_javac_usable): Update.
73162         * lib/javaexec.c: Include filename.h instead of pathname.h.
73163         (execute_java_class): Update.
73164         * modules/findprog: Update.
73165         * modules/javacomp: Update.
73166         * modules/javaexec: Update.
73167         * MODULES.html.sh (File system functions): Add 'filename', remove
73168         'pathname'.
73169
73170 2007-02-25  Bruno Haible  <bruno@clisp.org>
73171
73172         * modules/printf-frexpl-tests: New file.
73173         * tests/test-printf-frexpl.c: New file.
73174
73175         * modules/printf-frexpl: New file.
73176         * lib/printf-frexpl.h: New file.
73177         * lib/printf-frexpl.c: New file.
73178         * m4/printf-frexpl.m4: New file.
73179
73180 2007-02-25  Bruno Haible  <bruno@clisp.org>
73181
73182         * modules/printf-frexp-tests: New file.
73183         * tests/test-printf-frexp.c: New file.
73184
73185         * modules/printf-frexp: New file.
73186         * lib/printf-frexp.h: New file.
73187         * lib/printf-frexp.c: New file.
73188         * m4/printf-frexp.m4: New file.
73189
73190 2007-02-25  Bruno Haible  <bruno@clisp.org>
73191
73192         Assume automake >= 1.10 for the tests.
73193         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
73194         * modules/arctwo-tests: Likewise.
73195         * modules/argp-tests: Likewise.
73196         * modules/avltree-list-tests: Likewise.
73197         * modules/avltree-oset-tests: Likewise.
73198         * modules/avltreehash-list-tests: Likewise.
73199         * modules/carray-list-tests: Likewise.
73200         * modules/crc-tests: Likewise.
73201         * modules/des-tests: Likewise.
73202         * modules/gc-arcfour-tests: Likewise.
73203         * modules/gc-arctwo-tests: Likewise.
73204         * modules/gc-des-tests: Likewise.
73205         * modules/gc-hmac-md5-tests: Likewise.
73206         * modules/gc-hmac-sha1-tests: Likewise.
73207         * modules/gc-md2-tests: Likewise.
73208         * modules/gc-md4-tests: Likewise.
73209         * modules/gc-md5-tests: Likewise.
73210         * modules/gc-pbkdf2-sha1-tests: Likewise.
73211         * modules/gc-rijndael-tests: Likewise.
73212         * modules/gc-sha1-tests: Likewise.
73213         * modules/gc-tests: Likewise.
73214         * modules/getaddrinfo-tests: Likewise.
73215         * modules/hmac-md5-tests: Likewise.
73216         * modules/hmac-sha1-tests: Likewise.
73217         * modules/linked-list-tests: Likewise.
73218         * modules/linkedhash-list-tests: Likewise.
73219         * modules/lock-tests: Likewise.
73220         * modules/md2-tests: Likewise.
73221         * modules/md4-tests: Likewise.
73222         * modules/md5-tests: Likewise.
73223         * modules/rbtree-list-tests: Likewise.
73224         * modules/rbtree-oset-tests: Likewise.
73225         * modules/rbtreehash-list-tests: Likewise.
73226         * modules/read-file-tests: Likewise.
73227         * modules/rijndael-tests: Likewise.
73228         * modules/stdint-tests: Likewise.
73229         * modules/tls-tests: Likewise.
73230
73231 2007-02-24  Bruno Haible  <bruno@clisp.org>
73232
73233         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
73234         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
73235         function; instead check whether isnan with a double argument links.
73236         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
73237         function; instead check whether isnan with a 'long double' argument
73238         links.
73239         Reported by Eric Blake <ebb9@byu.net>.
73240
73241 2007-02-24  Bruno Haible  <bruno@clisp.org>
73242
73243         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
73244         defined.
73245         * lib/isnanl.c: Remove all code. Just include isnan.c.
73246         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
73247
73248 2007-02-25  Jim Meyering  <jim@meyering.net>
73249
73250         Avoid conflicting types for 'unsetenv' on FreeBSD.
73251         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
73252         conflicting with FreeBSD's (5.0 and 6.1) function declaration
73253         in stdlib.h.
73254
73255 2007-02-24  Bruno Haible  <bruno@clisp.org>
73256
73257         * modules/isnanl-nolibm-tests: New file.
73258         * tests/test-isnanl.c: New file.
73259
73260         * modules/isnanl-nolibm: New file.
73261         * lib/isnanl.h: New file.
73262         * lib/isnanl.c: New file.
73263         * m4/isnanl.m4: New file.
73264
73265 2007-02-24  Bruno Haible  <bruno@clisp.org>
73266
73267         * modules/isnan-nolibm-tests: New file.
73268         * tests/test-isnan.c: New file.
73269
73270         * modules/isnan-nolibm: New file.
73271         * lib/isnan.h: New file.
73272         * lib/isnan.c: New file.
73273         * m4/isnan.m4: New file.
73274
73275 2007-02-24  Bruno Haible  <bruno@clisp.org>
73276
73277         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
73278         assume that an exponent fits in 20 bits.
73279
73280 2007-02-24  Jim Meyering  <jim@meyering.net>
73281
73282         * m4/regex.m4: Update the description of the configure-time option,
73283         --without-included-regex, to state accurately what the defaults are,
73284         and perhaps to give people an idea why using this option is risky.
73285
73286 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
73287
73288         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
73289         loops on small arguments.  This attempts to avoid the problem
73290         Bruno Haible reported for AIX 4.3.2 in
73291         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
73292
73293 2007-02-23  Bruno Haible  <bruno@clisp.org>
73294
73295         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
73296         Needed for help2man.
73297
73298 2007-02-23  Karl Berry  <karl@gnu.org>
73299
73300         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
73301         exists, foo.h should be cvs-ignored, not committed.
73302
73303 2007-02-23  Eric Blake  <ebb9@byu.net>
73304
73305         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
73306         * lib/stat-time.h (includes): Likewise.
73307         * lib/utimecmp.c (includes): Likewise.
73308         * lib/utimens.h (includes): Likewise.
73309         * lib/getdate.y (includes): Also include "timespec.h" for use
73310         internal to the module.
73311         * modules/utimens (Depends-on): Revert yesterday's patch.
73312         * modules/nanosleep (Depends-on): Add missing dependency.
73313
73314 2007-02-22  Bruno Haible  <bruno@clisp.org>
73315
73316         * lib/glob.c: Don't include getlogin_r.h.
73317
73318 2007-02-22  Jim Meyering  <jim@meyering.net>
73319
73320         * modules/utimens (Depends-on): Add timespec, required for
73321         utimens.h's inclusion of timespec.h.
73322
73323 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
73324
73325         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
73326         long unreadable paths in GNU/Linux.  Problem reported by Andreas
73327         Schwab in
73328         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
73329         I'll try to think of a better way to fix the Solaris problem.
73330
73331         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
73332         like glibc; on Solaris 10, it fails with errno == EINVAL.
73333         POSIX says the behavior is unspecified if the first argument is NULL,
73334         so play it safe and never pass NULL to the system getcwd.
73335
73336 2007-02-21  Jim Meyering  <jim@meyering.net>
73337
73338         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
73339         of gettimeofday.  It would conflict with the one now always
73340         provided via sys_time_.h.  Reported by Matthew Woehlke, as
73341         an IRIX 6.5 build failure.
73342
73343 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
73344
73345         Minor fixups to port to Solaris 10 with Sun C 5.8.
73346         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
73347         * modules/getcwd (Depends-on): Add dirfd.
73348         * lib/putenv.c (putenv): #undef it.
73349         (rpl_putenv): New decl.
73350         (malloc, free): Include <stdlib.h> rather than prototyping separately.
73351
73352 2007-02-20  Bruno Haible  <bruno@clisp.org>
73353
73354         * modules/stdio-tests: New file.
73355         * tests/test-stdio.c: New file.
73356
73357         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
73358         (Depends-on): Add stdio.
73359         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
73360         (Include): Use <stdio.h> instead of vsnprintf.h.
73361         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
73362         HAVE_DECL_VSNPRINTF.
73363         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
73364
73365         * modules/snprintf (Files): Remove lib/snprintf.h.
73366         (Depends-on): Add stdio.
73367         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
73368         (Include): Use <stdio.h> instead of snprintf.h.
73369         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
73370         HAVE_DECL_SNPRINTF.
73371         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
73372         * lib/getaddrinfo.c: Likewise.
73373
73374         * modules/stdio: New file.
73375         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
73376         * lib/snprintf.h: Remove file.
73377         * lib/vsnprintf.h: Remove file.
73378         * lib/.cppi-disable: Remove snprintf.h.
73379         * m4/stdio_h.m4: New file.
73380         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
73381
73382 2007-02-20  Jim Meyering  <jim@meyering.net>
73383
73384         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
73385         used by e.g., mingw.  From Bruno Haible.
73386
73387 2007-02-19  Bruno Haible  <bruno@clisp.org>
73388
73389         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
73390         warnings.
73391         Reported by Ben Pfaff <blp@cs.stanford.edu>.
73392
73393 2007-02-19  Bruno Haible  <bruno@clisp.org>
73394
73395         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
73396         from mingw users.
73397
73398 2007-02-19  Bruno Haible  <bruno@clisp.org>
73399
73400         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
73401         warnings.
73402         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
73403
73404 2007-02-19  Jim Meyering  <jim@meyering.net>
73405
73406         Don't use FD after a successful "fdopendir (fd)".
73407         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
73408         Reset it by calling dirfd on the just-obtained DIR*.
73409
73410         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
73411         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
73412
73413 2007-02-18  Bruno Haible  <bruno@clisp.org>
73414
73415         * lib/readlink.c: Include <unistd.h>.
73416         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
73417         HAVE_READLINK.
73418         * modules/readlink (Depends-on): Add unistd.
73419         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73420         (Include): Add <unistd.h>.
73421
73422         * lib/getlogin_r.h: Remove file.
73423         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
73424         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
73425         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
73426         HAVE_DECL_GETLOGIN_R.
73427         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
73428         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73429         (Include): Use <unistd.h> instead of getlogin_r.h.
73430
73431         * lib/getcwd.h: Remove file.
73432         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
73433         * lib/xgetcwd.c: Likewise.
73434         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
73435         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
73436         * modules/getcwd (Files): Remove lib/getcwd.h.
73437         (Depends-on): Add unistd.
73438         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73439         (Include): Use <unistd.h> instad of getcwd.h.
73440
73441         * lib/ftruncate.c: Include <unistd.h> first.
73442         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
73443         Set HAVE_FTRUNCATE.
73444         * modules/ftruncate (Depends-on): Add unistd.
73445         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73446
73447         * lib/fchdir.c: Include <unistd.h> first.
73448         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
73449         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
73450         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
73451         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73452         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
73453
73454         * lib/dup2.c: Include <unistd.h> first.
73455         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
73456         HAVE_DUP2.
73457         * modules/dup2 (Depends-on): Add unistd.
73458         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73459
73460         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
73461         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
73462         REPLACE_CHOWN. Don't define chown as a macro here.
73463         * modules/chown (Depends-on): Add unistd.
73464         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73465
73466         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
73467         Add definition for GL_LINK_WARNING.
73468         (chown, dup2): New declarations.
73469         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
73470         link warning.
73471         (ftruncate): New declaration.
73472         (getcwd): New declaration, taken from old getcwd.h.
73473         (getlogin_r): New declaration, taken from old getlogin_r.h.
73474         (readlink): New declaration.
73475         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
73476         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
73477         (gl_PREREQ_UNISTD): Remove macro.
73478         (gl_UNISTD_MODULE_INDICATOR): New macro.
73479         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
73480         many new variables. Don't set UNISTD_H.
73481         * modules/unistd (Description): Change.
73482         (Depends-on): Add link-warning.
73483         (configure.ac): Update.
73484         (Makefile.am): Create unistd.h always. Substitute many new variables
73485         into it.
73486
73487 2007-02-18  Bruno Haible  <bruno@clisp.org>
73488
73489         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
73490         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
73491         HAVE_GETSUBOPT.
73492         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
73493         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
73494         * lib/getsubopt.h: Remove file.
73495         * modules/getsubopt (Files): Remove lib/getsubopt.h.
73496         (Depends-on): Add stdlib.
73497         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73498         (Includes): Use <stdlib.h> instead of getsubopt.h.
73499         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
73500         Set HAVE_GETSUBOPT.
73501         * lib/getsubopt.c: Don't include getsubopt.h.
73502
73503 2007-02-18  Bruno Haible  <bruno@clisp.org>
73504
73505         * modules/fchdir (Depends-on): Add dup2.
73506
73507 2007-02-18  Bruno Haible  <bruno@clisp.org>
73508
73509         * lib/stdlib_.h: Handle glibc's special invocation convention
73510         specially.
73511
73512 2007-02-18  Bruno Haible  <bruno@clisp.org>
73513
73514         * modules/stdlib-tests: New file.
73515         * tests/test-stdlib.c: New file.
73516
73517         * modules/mkstemp (Files): Remove lib/mkstemp.h.
73518         (Depends-on): Add stdlib.
73519         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73520         (Includes): Use <stdlib.h> instead of mkstemp.h.
73521         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
73522         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
73523         * lib/mkstemp.c: Don't include mkstemp.h.
73524         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
73525         * lib/stdlib--.h: Don't include mkstemp.h.
73526
73527         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
73528         (Depends-on): Add stdlib.
73529         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73530         (Includes): Use <stdlib.h> instead of mkdtemp.h.
73531         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
73532         HAVE_MKDTEMP.
73533         * lib/mkdtemp.c: Don't include mkdtemp.h.
73534         * lib/clean-temp.c: Don't include mkdtemp.h.
73535
73536         * modules/exit (Files): Remove lib/exit.h.
73537         (Depends-on): Add stdlib.
73538         (Makefile.am): Remove lib_SOURCES.
73539         (Include): Use <stdlib.h> instead of exit.h.
73540         * lib/argmatch.c: Don't include exit.h.
73541         * lib/execute.c: Likewise.
73542         * lib/pagealign_alloc.c: Likewise.
73543         * lib/pipe.c: Likewise.
73544         * lib/wait-process.c: Likewise.
73545         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
73546         * lib/exitfail.c: Likewise.
73547         * lib/savewd.c: Likewise.
73548         * lib/xsetenv.c: Likewise.
73549
73550         * modules/stdlib: New file.
73551         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
73552         and extra comments about mkstemp().
73553         * lib/exit.h: Remove file.
73554         * lib/mkdtemp.h: Remove file.
73555         * lib/mkstemp.h: Remove file.
73556         * m4/stdlib_h.m4: New file.
73557         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
73558
73559 2007-02-18  Bruno Haible  <bruno@clisp.org>
73560
73561         * modules/math-tests: New file.
73562         * tests/test-math.c: New file.
73563
73564         * modules/math: New file.
73565         * modules/mathl (Files): Remove lib/mathl.h.
73566         (Depends-on): Add math.
73567         (Makefile.am): Don't mention mathl.h.
73568         (Include): Use <math.h> instead of mathl.h.
73569         * lib/math_.h: New file.
73570         * lib/mathl.h: Remove file.
73571         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
73572         mathl.h.
73573         * lib/asinl.c: Likewise.
73574         * lib/atanl.c: Likewise.
73575         * lib/ceill.c: Likewise.
73576         * lib/cosl.c: Likewise.
73577         * lib/expl.c: Likewise.
73578         * lib/floorl.c: Likewise.
73579         * lib/frexpl.c: Likewise.
73580         * lib/ldexpl.c: Likewise.
73581         * lib/logl.c: Likewise.
73582         * lib/sincosl.c: Likewise.
73583         * lib/sinl.c: Likewise.
73584         * lib/sqrtl.c: Likewise.
73585         * lib/tanl.c: Likewise.
73586         * lib/trigl.c: Likewise.
73587         * m4/math_h.m4: New file.
73588         * MODULES.html.sh (Mathematics): Add math.
73589
73590 2007-02-17  Bruno Haible  <bruno@clisp.org>
73591
73592         * modules/wctype-tests: New file.
73593         * tests/test-wctype.c: New file.
73594
73595         * modules/wchar-tests: New file.
73596         * tests/test-wchar.c: New file.
73597
73598         * modules/unistd-tests: New file.
73599         * tests/test-unistd.c: New file.
73600
73601         * modules/time-tests: New file.
73602         * tests/test-time.c: New file.
73603
73604         * modules/sysexits-tests: New file.
73605         * tests/test-sysexits.c: New file.
73606
73607         * modules/sys_time-tests: New file.
73608         * tests/test-sys_time.c: New file.
73609
73610         * modules/sys_stat-tests: New file.
73611         * tests/test-sys_stat.c: New file.
73612
73613         * modules/sys_socket-tests: New file.
73614         * tests/test-sys_socket.c: New file.
73615
73616         * modules/sys_select-tests: New file.
73617         * tests/test-sys_select.c: New file.
73618
73619         * modules/string-tests: New file.
73620         * tests/test-string.c: New file.
73621
73622         * modules/stdbool-tests: New file.
73623         * tests/test-stdbool.c: New file.
73624
73625         * modules/netinet_in-tests: New file.
73626         * tests/test-netinet_in.c: New file.
73627
73628         * modules/inttypes-tests: New file.
73629         * tests/test-inttypes.c: New file.
73630
73631         * modules/fcntl-tests: New file.
73632         * tests/test-fcntl.c: New file.
73633
73634         * modules/byteswap-tests: New file.
73635         * tests/test-byteswap.c: New file.
73636
73637         * modules/arpa_inet-tests: New file.
73638         * tests/test-arpa_inet.c: New file.
73639
73640 2007-02-17  Bruno Haible  <bruno@clisp.org>
73641
73642         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
73643         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
73644         if the corresponding module is not enabled. Emit link warnings if
73645         the function is used nevertheless.
73646         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
73647         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
73648         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
73649         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
73650         * modules/inttypes (Depends-on): Add link-warning.
73651         (Makefile.am): Copy the contents of build-aux/link-warning.h into
73652         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
73653         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
73654         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
73655         * modules/imaxdiv (configure.ac): Likewise.
73656         * modules/strtoimax (configure.ac): Likewise.
73657         * modules/strtoumax (configure.ac): Likewise.
73658
73659 2007-02-17  Bruno Haible  <bruno@clisp.org>
73660
73661         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
73662         gl_STRING_MODULE_INDICATOR_DEFAULTS.
73663         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
73664         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
73665
73666 2007-02-17  Bruno Haible  <bruno@clisp.org>
73667
73668         * modules/link-warning: New file.
73669         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
73670         * lib/string_.h (GL_LINK_WARNING): Remove definition.
73671         * modules/string (Depends-on): Add link-warning.
73672         (Makefile.am): Copy the contents of build-aux/link-warning.h into
73673         string.h.
73674         * MODULES.html.sh (Support for building libraries and executables): Add
73675         link-warning.
73676
73677 2007-02-17  Bruno Haible  <bruno@clisp.org>
73678
73679         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
73680         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
73681         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
73682         long lines.
73683
73684 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
73685             Bruno Haible  <bruno@clisp.org>
73686
73687         * modules/tmpfile: New file.
73688         * lib/tmpfile.c: New file.
73689         * m4/tmpfile.m4: New file.
73690         * MODULES.html.sh (func_all_modules): New section "Input/output".
73691
73692 2007-02-15  Bruno Haible  <bruno@clisp.org>
73693
73694         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
73695         (supports_delete_on_close): New function.
73696         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
73697
73698 2007-02-14  Bruno Haible  <bruno@clisp.org>
73699
73700         * modules/mbspcasecmp-tests: New file.
73701         * tests/test-mbspcasecmp.sh: New file.
73702         * tests/test-mbspcasecmp.c: New file.
73703
73704         New module mbspcasecmp.
73705         * modules/mbspcasecmp: New file.
73706         * lib/mbspcasecmp.c: New file.
73707         * lib/string_.h (strncasecmp): Change warning message.
73708         (mbspcasecmp): New declaration.
73709         * m4/mbspcasecmp.m4: New file.
73710         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73711         GNULIB_MBSPCASECMP.
73712         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
73713         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
73714
73715 2007-02-14  Bruno Haible  <bruno@clisp.org>
73716
73717         * modules/mbsncasecmp-tests: New file.
73718         * tests/test-mbsncasecmp.sh: New file.
73719         * tests/test-mbsncasecmp.c: New file.
73720
73721         New module mbsncasecmp.
73722         * modules/mbsncasecmp: New file.
73723         * lib/mbsncasecmp.c: New file.
73724         * lib/string_.h (mbsncasecmp): New declaration.
73725         * m4/mbsncasecmp.m4: New file.
73726         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73727         GNULIB_MBSNCASECMP.
73728         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
73729         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
73730
73731 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
73732
73733         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
73734         Verify that it doesn't overlap with our flags.
73735         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
73736         do not have the desired effect in multibyte locales; instead, use
73737         mbscasecmp.
73738         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
73739         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
73740         we don't require GNU fnmatch ourselves (if our users require it, they
73741         should do so explicitly).
73742
73743         Fix regex code so it doesn't rely on strcasecmp.
73744         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
73745         Otherwise, include gnulib's langinfo.h.
73746         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
73747         undesirable behavior in non-C locales.  Instead, rely on localecharset.
73748         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
73749         * modules/regex (FILES): Remove m4/codeset.m4.
73750         (Depends-on): Add localcharset.  Remove strcase.
73751
73752 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73753
73754         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
73755         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
73756
73757 2007-02-13  Bruno Haible  <bruno@clisp.org>
73758
73759         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
73760         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73761
73762 2007-02-12  Bruno Haible  <bruno@clisp.org>
73763
73764         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73765         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
73766         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
73767         time warning rather than a link error.
73768
73769 2007-02-12  Bruno Haible  <bruno@clisp.org>
73770
73771         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
73772         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
73773         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73774
73775 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73776
73777         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
73778         args, not 2.
73779
73780 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73781
73782         New module 'time', so that apps can include <time.h> as per
73783         POSIX and GNU instead of separate include files like time_r.h
73784         and timegm.h.  This implementation tries out a simpler approach
73785         for replacing decls in standard include files (as compared to
73786         the string module), somewhat as an experiment.
73787
73788         * config/srclist.txt: Comment out mktime.c for now.
73789         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
73790         since it doesn't apply any more.  Use generic wording instead.
73791         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
73792         'time'.
73793         * lib/time_.h, m4/time_h.m4, modules/time: New files.
73794         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
73795         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
73796         Don't include <sys/types.h>; no longer needed since we assume C89.
73797         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
73798         * lib/strftime.c: Likewise.
73799         * lib/time_r.c: Likewise.
73800         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
73801         * lib/nanosleep.c: Include <time.h> first, to check interface.
73802         * lib/strptime.c: Likewise.
73803         * lib/time_r.c: Likewise.
73804         * lib/timegm.c: Likewise.
73805         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
73806         needed.
73807         * lib/timegm.c: Don't include timegm.h; no longer needed.
73808         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
73809         time.h now handles any problems in that area.
73810         (struct timespec, nanosleep): Remove; time.h now arranges for these.
73811         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
73812         that time.h defines struct timespec.
73813         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
73814         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
73815         handles that.
73816         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
73817         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
73818         needed.  Set REPLACE_LOCALTIME.
73819         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
73820         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
73821         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
73822         nanosleep; time_h.m4 now does that.  Don't require
73823         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
73824         module handles this now.
73825         * modules/getdate (Depends-on): Remove timespec.  Add time.
73826         * modules/nanosleep (Depends-on): Likewise.
73827         * modules/stat-time (Depends-on): Likewise.
73828         * modules/nanosleep (Include): Include time.h, not timespec.h.
73829         * modules/strptime (Files): Remove lib/strptime.h.
73830         (Depends-on): Add extensions, time.
73831         (Include): Include time.h, not strptime.h.
73832         * modules/time_r (Files): Remove lib/time_r.h.
73833         (Depends-on): Add time.
73834         (Include): Include time.h, not time_r.h.
73835         * modules/timegm: Likewise.
73836         * modules/timespec (Description): Now does timespec-related decls
73837         of our own, instead of struct timespec itself.
73838         (Depends-on): Add time; remove extensions.
73839         (Maintainer): Add self.
73840         * modules/utimecmp (Depends-on): Add time; remove timespec.
73841         * modules/utimens (Depends-on): Likewise.
73842         * modules/xnanosleep (Depends-on): Likewise.
73843
73844 2007-02-11  Bruno Haible  <bruno@clisp.org>
73845
73846         * lib/c-strstr.c: Include allocsa.h.
73847         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73848         * lib/c-strcasestr.c: Include allocsa.h.
73849         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73850         * lib/strcasestr.c: Include allocsa.h.
73851         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73852         * lib/mbsstr.c: Include allocsa.h.
73853         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73854         allocsa/freesa instead of malloc/free.
73855         * lib/mbscasestr.c: Include allocsa.h.
73856         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73857         allocsa/freesa instead of malloc/free.
73858         * modules/c-strstr (Depends-on): Add allocsa.
73859         * modules/c-strcasestr (Depends-on): Likewise.
73860         * modules/strcasestr (Depends-on): Likewise.
73861         * modules/mbsstr (Depends-on): Likewise.
73862         * modules/mbscasestr (Depends-on): Likewise.
73863
73864 2007-02-11  Bruno Haible  <bruno@clisp.org>
73865
73866         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
73867
73868         * modules/mbsspn-tests: New file.
73869         * tests/test-mbsspn.sh: New file.
73870         * tests/test-mbsspn.c: New file.
73871
73872 2007-02-11  Bruno Haible  <bruno@clisp.org>
73873
73874         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
73875
73876         * modules/mbspbrk-tests: New file.
73877         * tests/test-mbspbrk.sh: New file.
73878         * tests/test-mbspbrk.c: New file.
73879
73880 2007-02-11  Bruno Haible  <bruno@clisp.org>
73881
73882         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
73883         unneeded cast.
73884
73885         * modules/mbscspn-tests: New file.
73886         * tests/test-mbscspn.sh: New file.
73887         * tests/test-mbscspn.c: New file.
73888
73889 2007-02-11  Bruno Haible  <bruno@clisp.org>
73890
73891         * modules/mbscasecmp-tests: New file.
73892         * tests/test-mbscasecmp.sh: New file.
73893         * tests/test-mbscasecmp.c: New file.
73894
73895 2007-02-11  Bruno Haible  <bruno@clisp.org>
73896
73897         Ensure O(n) worst-case complexity of mbscasestr.
73898         * lib/mbscasestr.c: Include stdbool.h.
73899         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73900         functions.
73901         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
73902         the bookkeeping indicates that it's worth it.
73903         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
73904
73905         * modules/mbscasestr-tests: New file.
73906         * tests/test-mbscasestr1.c: New file.
73907         * tests/test-mbscasestr2.sh: New file.
73908         * tests/test-mbscasestr2.c: New file.
73909         * tests/test-mbscasestr3.sh: New file.
73910         * tests/test-mbscasestr3.c: New file.
73911         * tests/test-mbscasestr4.sh: New file.
73912         * tests/test-mbscasestr4.c: New file.
73913         * m4/locale-tr.m4: New file.
73914
73915 2007-02-11  Bruno Haible  <bruno@clisp.org>
73916
73917         Ensure O(n) worst-case complexity of mbsstr.
73918         * lib/mbsstr.c: Include stdbool.h.
73919         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73920         functions.
73921         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
73922         bookkeeping indicates that it's worth it.
73923         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
73924
73925         * modules/mbsstr-tests: New file.
73926         * tests/test-mbsstr1.c: New file.
73927         * tests/test-mbsstr2.sh: New file.
73928         * tests/test-mbsstr2.c: New file.
73929         * tests/test-mbsstr3.sh: New file.
73930         * tests/test-mbsstr3.c: New file.
73931         * m4/locale-fr.m4: New file.
73932
73933 2007-02-11  Bruno Haible  <bruno@clisp.org>
73934
73935         * lib/mbsrchr.c (mbsrchr): Fix bug.
73936
73937         * modules/mbsrchr-tests: New file.
73938         * tests/test-mbsrchr.sh: New file.
73939         * tests/test-mbsrchr.c: New file.
73940
73941 2007-02-11  Bruno Haible  <bruno@clisp.org>
73942
73943         * lib/mbschr.c (mbschr): Fix bug.
73944
73945         * modules/mbschr-tests: New file.
73946         * tests/test-mbschr.sh: New file.
73947         * tests/test-mbschr.c: New file.
73948         * m4/locale-zh.m4: New file.
73949
73950 2007-02-11  Bruno Haible  <bruno@clisp.org>
73951
73952         Support for copying multibyte string iterators.
73953         * lib/mbiter.h: Include <string.h>.
73954         (mbiter_multi_copy): New function.
73955         (mbi_copy): New macro.
73956         * lib/mbuiter.h: Include <string.h>.
73957         (mbuiter_multi_copy): New function.
73958         (mbui_copy): New macro.
73959
73960 2007-02-11  Bruno Haible  <bruno@clisp.org>
73961
73962         New module mbslen.
73963         * modules/mbslen: New file.
73964         * lib/mbslen.c: New file.
73965         * lib/string_.h (mbslen): New declaration.
73966         * m4/mbslen.m4: New file.
73967         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73968         GNULIB_MBSLEN.
73969         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
73970         * MODULES.html.sh (Internationalization functions): Add mbslen.
73971
73972 2007-02-11  Bruno Haible  <bruno@clisp.org>
73973
73974         Ensure O(n) worst-case complexity of strcasestr substitute.
73975         * lib/strcasestr.c: Include stdbool.h.
73976         (knuth_morris_pratt): New function.
73977         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73978         bookkeeping indicates that it's worth it.
73979         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
73980
73981         * modules/strcasestr-tests: New file.
73982         * tests/test-strcasestr.c: New file.
73983
73984 2007-02-11  Bruno Haible  <bruno@clisp.org>
73985
73986         Ensure O(n) worst-case complexity of c_strcasestr.
73987         * lib/c-strcasestr.c: Include stdbool.h, string.h.
73988         (knuth_morris_pratt): New function.
73989         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
73990         the bookkeeping indicates that it's worth it.
73991         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
73992
73993         * modules/c-strcasestr-tests: New file.
73994         * tests/test-c-strcasestr.c: New file.
73995
73996 2007-02-11  Bruno Haible  <bruno@clisp.org>
73997
73998         Ensure O(n) worst-case complexity of c_strstr.
73999         * lib/c-strstr.c: Include stdbool.h, string.h.
74000         (knuth_morris_pratt): New function.
74001         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
74002         bookkeeping indicates that it's worth it.
74003         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
74004
74005         * lib/c-strstr.c: Complete rewrite for maintainability.
74006
74007         * modules/c-strstr-tests: New file.
74008         * tests/test-c-strstr.c: New file.
74009
74010 2007-02-11  Bruno Haible  <bruno@clisp.org>
74011
74012         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
74013         5.2.1 and earlier, whereby \055 was treated just like the range
74014         delimiter '-'.
74015         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
74016
74017 2007-02-08  Bruno Haible  <bruno@clisp.org>
74018
74019         * modules/regex (Depends-on): Add stdbool.
74020         Reported by Dalibor Topic <robilad@kaffe.org>.
74021
74022 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
74023
74024         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
74025         Prefer returning from main to exiting from it.
74026         Remove unnecessary parens after sizeof.
74027
74028 2007-02-05  Bruno Haible  <bruno@clisp.org>
74029
74030         New module mbssep.
74031         * modules/mbssep: New file.
74032         * lib/mbssep.c: New file.
74033         * lib/string_.h (strsep): Add a conditional link warning.
74034         (mbssep): New declaration.
74035         * m4/mbssep.m4: New file.
74036         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
74037         GNULIB_MBSSEP.
74038         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
74039         * MODULES.html.sh (Internationalization functions): Add mbssep.
74040
74041 2007-02-05  Bruno Haible  <bruno@clisp.org>
74042
74043         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
74044         Optimize search in case of 1 delimiter.
74045
74046 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
74047
74048         * lib/acl.h: Include sys/types.h before sys/acl.h.
74049
74050 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
74051
74052         Merge upstream fix for glibc bugzilla #3957:
74053
74054         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
74055
74056         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
74057         bit for RE_HAT_LISTS_NOT_NEWLINE.
74058         (build_charclass_op): Remove bogus comment.
74059
74060 2007-02-05  Simon Josefsson  <simon@josefsson.org>
74061
74062         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
74063
74064 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
74065
74066         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
74067         * lib/memmem.c [!defined _LIBC]: Include config.h.
74068
74069 2007-02-04  Bruno Haible  <bruno@clisp.org>
74070
74071         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
74072         warning message.
74073
74074 2007-02-04  Bruno Haible  <bruno@clisp.org>
74075
74076         New module mbstok_r.
74077         * modules/mbstok_r: New file.
74078         * lib/mbstok_r.c: New file.
74079         * lib/string_.h (strtok_r): Change argument names to match the
74080         comments. Add a conditional link warning.
74081         (mbstok_r): New declaration.
74082         * m4/mbstok_r.m4: New file.
74083         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
74084         GNULIB_MBSTOK_R.
74085         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
74086         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
74087
74088 2007-02-04  Bruno Haible  <bruno@clisp.org>
74089
74090         New module mbsspn.
74091         * modules/mbsspn: New file.
74092         * lib/mbsspn.c: New file.
74093         * lib/string_.h (strspn): Add a conditional link warning.
74094         (mbsspn): New declaration.
74095         * m4/mbsspn.m4: New file.
74096         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
74097         GNULIB_MBSSPN.
74098         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
74099         * MODULES.html.sh (Internationalization functions): Add mbsspn.
74100
74101 2007-02-04  Bruno Haible  <bruno@clisp.org>
74102
74103         New module mbspbrk.
74104         * modules/mbspbrk: New file.
74105         * lib/mbspbrk.c: New file.
74106         * lib/string_.h (strpbrk): Add a conditional link warning.
74107         (mbspbrk): New declaration.
74108         * m4/mbspbrk.m4: New file.
74109         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
74110         GNULIB_MBSPBRK.
74111         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
74112         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
74113
74114 2007-02-04  Bruno Haible  <bruno@clisp.org>
74115
74116         New module mbscspn.
74117         * modules/mbscspn: New file.
74118         * lib/mbscspn.c: New file.
74119         * lib/string_.h (strcspn): Add a conditional link warning.
74120         (mbscspn): New declaration.
74121         * m4/mbscspn.m4: New file.
74122         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
74123         GNULIB_MBSCSPN.
74124         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
74125         * MODULES.html.sh (Internationalization functions): Add mbscspn.
74126
74127 2007-02-04  Bruno Haible  <bruno@clisp.org>
74128
74129         New module mbscasestr, reduced goal of strcasestr.
74130         * modules/mbscasestr: New file.
74131         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
74132         (mbscasestr): Renamed from strcasestr.
74133         * lib/strcasestr.c: Don't include mbuiter.h.
74134         (strcasestr): Remove support for multibyte locales.
74135         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
74136         Change the conditional link warning.
74137         (mbscasestr): New declaration.
74138         * m4/mbscasestr.m4: New file.
74139         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
74140         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
74141         REPLACE_STRCASESTR.
74142         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
74143         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
74144         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
74145         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
74146         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
74147         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
74148         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
74149         (Depends-on): Remove mbuiter.
74150         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
74151
74152 2007-02-04  Bruno Haible  <bruno@clisp.org>
74153
74154         Simplify handling of strncasecmp.
74155         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
74156         the conditional link warning.
74157         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
74158         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
74159         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
74160         * modules/strcase (configure.ac): Don't invoke
74161         gl_STRING_MODULE_INDICATOR.
74162         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
74163
74164 2007-02-04  Bruno Haible  <bruno@clisp.org>
74165
74166         New module mbscasecmp, reduced goal of strcasecmp.
74167         * modules/mbscasecmp: New file.
74168         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
74169         (mbscasecmp): Renamed from strcasecmp.
74170         * lib/strcasecmp.c: Don't include mbuiter.h.
74171         (strcasecmp): Remove support for multibyte locales.
74172         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
74173         Change the conditional link warning.
74174         (mbscasecmp): New declaration.
74175         * m4/mbscasecmp.m4: New file.
74176         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
74177         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
74178         REPLACE_STRCASECMP.
74179         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
74180         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
74181         GNULIB_MBSCASECMP.
74182         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
74183         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
74184         * modules/strcase (Files): Remove m4/mbrtowc.m4.
74185         (Depends-on): Remove mbuiter.
74186         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
74187
74188 2007-02-04  Bruno Haible  <bruno@clisp.org>
74189
74190         New module mbsstr. Remove module strstr.
74191         * modules/mbsstr: New file.
74192         * modules/strstr: Remove file.
74193         * lib/mbsstr.c: Renamed from lib/strstr.c.
74194         (mbsstr): Renamed from strstr.
74195         * lib/string_.h (strstr): Remove declaration. Change the conditional
74196         link warning.
74197         (mbsstr): New declaration.
74198         * m4/mbsstr.m4: New file.
74199         * m4/strstr.m4: Remove file.
74200         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
74201         REPLACE_STRSTR.
74202         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
74203         Don't initialize GNULIB_STRSTR.
74204         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
74205         substitute GNULIB_STRSTR and REPLACE_STRSTR.
74206         * MODULES.html.sh (Internationalization functions): Add mbsstr.
74207         (Support for systems lacking ANSI C 89): Remove strstr.
74208
74209 2007-02-04  Bruno Haible  <bruno@clisp.org>
74210
74211         New module mbsrchr.
74212         * modules/mbsrchr: New file.
74213         * lib/mbsrchr.c: New file.
74214         * lib/string_.h (strrchr): Add a conditional link warning.
74215         (mbsrchr): New declaration.
74216         * m4/mbsrchr.m4: New file.
74217         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
74218         GNULIB_MBSRCHR.
74219         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
74220         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
74221
74222 2007-02-04  Bruno Haible  <bruno@clisp.org>
74223
74224         New module mbschr.
74225         * modules/mbschr: New file.
74226         * lib/mbschr.c: New file.
74227         * lib/string_.h (strchr): Add a conditional link warning.
74228         (mbschr): New declaration.
74229         * m4/mbschr.m4: New file.
74230         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
74231         GNULIB_MBSCHR.
74232         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
74233         * MODULES.html.sh (Internationalization functions): Add mbschr.
74234
74235 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
74236
74237         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
74238
74239         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
74240
74241 2007-02-04  Bruno Haible  <bruno@clisp.org>
74242
74243         New module description section 'configure.ac-early'.
74244         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
74245         (func_get_autoconf_early_snippet): New function.
74246         (func_import, func_create_testdir): Use it. Remove special cases for
74247         modules 'extensions' and 'lock'.
74248         * modules/extensions (configure.ac-early): Require
74249         gl_USE_SYSTEM_EXTENSIONS.
74250         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
74251
74252 2007-02-04  Bruno Haible  <bruno@clisp.org>
74253
74254         Make use of gcj-4.3's -fsource and -ftarget option.
74255         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
74256         and if so try the options -fsource and -ftarget.
74257         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
74258         source_version, ftarget_option, target_version arguments.
74259         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
74260         (is_envjavac_oldgcj_14_14_usable): Renamed from
74261         is_envjavac_gcj_14_14_usable.
74262         (is_envjavac_oldgcj_14_13_usable): Renamed from
74263         is_envjavac_gcj_14_13_usable.
74264         (is_gcj_present): Update.
74265         (is_gcj_43, is_gcj43_usable): New functions.
74266         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
74267         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
74268         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
74269         try the options -fsource and -ftarget.
74270
74271 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
74272
74273         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
74274         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
74275         larger value.
74276
74277 2007-02-03  Jim Meyering  <jim@meyering.net>
74278
74279         Give tools a better chance to allocate space for very large buffers.
74280         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
74281
74282         Make pwd and readlink work also when run with an unreadable parent dir
74283         on systems with openat support.
74284         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
74285         provided getcwd function, even when we have openat support.
74286         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
74287
74288 2007-02-02  Bruno Haible  <bruno@clisp.org>
74289
74290         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
74291         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
74292         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
74293         portability problems if one of these functions is only used on specific
74294         platforms.
74295         Reported by Paul Eggert.
74296
74297 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
74298
74299         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
74300         is causing more trouble than it's curing.
74301         * lib/regex_internal.h (__mempcpy): Remove.
74302         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
74303         (and make the code a tad smaller to boot).
74304         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
74305
74306 2007-02-02  Jim Meyering  <jim@meyering.net>
74307
74308         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
74309         section, not in the Makefile.am: one.
74310
74311 2007-02-02  Eric Blake  <ebb9@byu.net>
74312
74313         * lib/strchrnul.c: Always include config.h first.
74314
74315         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
74316         gnulib strstr is not necessary here.
74317
74318 2007-02-02  Simon Josefsson  <simon@josefsson.org>
74319
74320         * m4/socklen.m4: Fix typo.
74321
74322 2007-02-02  Eric Blake  <ebb9@byu.net>
74323
74324         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
74325         * modules/netinet_in (Makefile.am): Likewise.
74326
74327 2007-02-01  Bruno Haible  <bruno@clisp.org>
74328
74329         * lib/string_.h (GL_LINK_WARNING): New macro.
74330         (strcasecmp, strstr, strcasestr): If provided by the system,
74331         conditionally define as a macro that leads to a warning instead of to
74332         an error.
74333         (strncasecmp): Conditionally define as a macro that leads to a warning.
74334
74335 2007-02-01  Karl Berry  <karl@gnu.org>
74336
74337         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
74338
74339 2007-02-01  Bruno Haible  <bruno@clisp.org>
74340
74341         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
74342         renamings.
74343
74344 2007-02-01  Eric Blake  <ebb9@byu.net>
74345
74346         * modules/regex (Depends-on): Revert dependence on mempcpy.
74347         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
74348         module's definition of mempcpy.
74349         Reported by Paul Eggert.
74350
74351 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
74352
74353         * lib/string_.h: If the gnulib module XYZ is not present, undefine
74354         the symbol XYZ before redefining it.  This fixes a problem with
74355         programs that don't use XYZ, when compiled on systems that define
74356         XYZ to something else.
74357
74358 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
74359
74360         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
74361         occurs when "mkdir -m foo" creates a setgid directory that is (1)
74362         writeable to group or other and (2) is intended to have a special
74363         mode bit that is set or cleared.  In such a case, the directory
74364         should be neither group- nor other-writeable until the special
74365         mode bits are right.
74366
74367 2007-01-31  Eric Blake  <ebb9@byu.net>
74368
74369         * modules/mountlist (Depends-on): Add strstr.
74370
74371         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
74372         bug.
74373         * modules/string (Makefile.am): Remove redundant replacement.
74374         * modules/regex (Depends-on): Add mempcpy.
74375
74376 2007-01-31  Bruno Haible  <bruno@clisp.org>
74377
74378         New module description field 'Link'.
74379         * gnulib-tool (func_usage): Document --extract-link-directive.
74380         (sed_extract_prog): Recognize 'Link' directive.
74381         (func_get_link_directive): New function.
74382         (func_import): Show summary of link directives.
74383         Handle --extract-link-directive option.
74384         * modules/acl (Link): New section.
74385         * modules/clock-time (Link): New section.
74386         * modules/euidaccess (Link): New section.
74387         * modules/gettext (Link): New section.
74388         * modules/iconv (Link): New section.
74389         * modules/lock (Link): New section.
74390         * modules/nanosleep (Link): New section.
74391         * modules/readline (Link): New section.
74392
74393 2007-01-27  Bruno Haible  <bruno@clisp.org>
74394
74395         Enforce the use of gnulib modules for unportable <string.h> functions.
74396         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
74397         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
74398         (gl_HEADER_STRING_H_BODY): Require it.
74399         * lib/string_.h: If the gnulib module XYZ is not present, redefine
74400         the symbol XYZ to one that gives a link error.
74401         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
74402         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
74403         * modules/mempcpy (configure.ac): Likewise.
74404         * modules/memrchr (configure.ac): Likewise.
74405         * modules/stpcpy (configure.ac): Likewise.
74406         * modules/stpncpy (configure.ac): Likewise.
74407         * modules/strcase (configure.ac): Likewise.
74408         * modules/strcasestr (configure.ac): Likewise.
74409         * modules/strchrnul (configure.ac): Likewise.
74410         * modules/strdup (configure.ac): Likewise.
74411         * modules/strndup (configure.ac): Likewise.
74412         * modules/strnlen (configure.ac): Likewise.
74413         * modules/strpbrk (configure.ac): Likewise.
74414         * modules/strsep (configure.ac): Likewise.
74415         * modules/strstr (configure.ac): Likewise.
74416         * modules/strtok_r (configure.ac): Likewise.
74417
74418 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
74419
74420         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
74421
74422 2007-01-30  Jim Meyering  <jim@meyering.net>
74423
74424         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
74425
74426 2007-01-29  Bruno Haible  <bruno@clisp.org>
74427
74428         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
74429         * lib/execute.c: Likewise.
74430         * lib/pipe.c: Likewise.
74431         * lib/printf-args.h: Likewise.
74432         * lib/printf-args.c: Likewise.
74433         * lib/printf-parse.c: Likewise.
74434         * lib/vasnprintf.c: Likewise.
74435
74436 2007-01-29  Eric Blake  <ebb9@byu.net>
74437
74438         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
74439         declaration.
74440
74441 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
74442
74443         * lib/strptime.h (strptime): Use 'restrict' for args where
74444         POSIX requires this.
74445         * lib/strptime.c (strptime): Likewise.
74446         Change license notice from LGPL to GPL, since gnulib-tool will
74447         change this as needed.
74448         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
74449         defined.
74450         Include "strptime.h" first, to check interface.
74451         Do not #undef _LIBC and _NL_CURRENT.
74452         Do not include <stdlib.h>; no longer needed.
74453         Include "time_r.h" and declare ptime_locale_status
74454         only if _LIBC is not defined.
74455         (__P): Remove unused macro.
74456         (match_string): Bring back glibc version, but use it only if _LIBC
74457         is defined.
74458         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
74459         Remove unnecessary assertion and abort() call.
74460         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
74461         * m4/strptime.m4: Fix serial number comment.
74462         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
74463         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
74464         (Depends-on): Add time_r.
74465
74466 2007-01-29  Bruno Haible  <bruno@clisp.org>
74467
74468         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74469         strptime.
74470         * modules/strptime (Depends-on): Add stdbool.
74471         * lib/strptime.h: Include <time.h> always. Add comments.
74472
74473 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74474
74475         * modules/strptime: New file.
74476         * lib/strptime.h: New file.
74477         * lib/strptime.c: New file.
74478         * m4/strptime.m4: New file.
74479
74480 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
74481
74482         * MODULES.html.sh: New module mpsort.
74483         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
74484
74485         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
74486         a circularity problem with HP-UX ia64 reported by Bob Proulx in
74487         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
74488         All uses changed.
74489         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
74490         All uses changed.
74491         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
74492         to _Restrict_.
74493         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
74494         the parameter matches the prototype.
74495
74496 2007-01-28  Jim Meyering  <jim@meyering.net>
74497
74498         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
74499         sys/time.h here, reverting that part of the previous patch:
74500         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
74501
74502 2007-01-28  Bruno Haible  <bruno@clisp.org>
74503
74504         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
74505         value of $(SYS_TIME_H).
74506         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
74507         remove it conditionally, too. [added by Jim Meyering]
74508         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
74509         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
74510         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
74511         GETTIMEOFDAY_REPLACEMENT to 1.
74512
74513 2007-01-28  Bruno Haible  <bruno@clisp.org>
74514
74515         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
74516         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
74517         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
74518         Set UNISTD_H instead of UNISTD_H2.
74519         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
74520
74521 2007-01-28  Bruno Haible  <bruno@clisp.org>
74522
74523         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
74524         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
74525
74526 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74527
74528         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
74529         (func_create_testdir): Ensure C locale for `grep' and `tr'
74530         character ranges.
74531         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
74532         ACLOCAL_AMFLAGS parsing state machine.
74533
74534 2007-01-27  Bruno Haible  <bruno@clisp.org>
74535
74536         * modules/unistr/base: Update.
74537
74538 2007-01-27  Bruno Haible  <bruno@clisp.org>
74539
74540         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
74541         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
74542         * modules/unistr/u32-mbtouc-unsafe: Renamed from
74543         modules/unistr/u32-mbtouc.
74544         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
74545         * lib/unistr.h: Update.
74546         * lib/linebreak.c: Update.
74547         * modules/unistr/u32-mbtouc: Renamed from
74548         modules/unistr/u32-mbtouc-safe.
74549         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
74550         * lib/unistr.h: Update.
74551         * lib/unistr/u32-to-u8.c: Update.
74552         * lib/unistr/u32-to-u16.c: Update.
74553
74554 2007-01-27  Bruno Haible  <bruno@clisp.org>
74555
74556         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
74557         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
74558         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
74559         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
74560         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
74561         * modules/unistr/u16-mbtouc-unsafe: Renamed from
74562         modules/unistr/u16-mbtouc.
74563         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
74564         * lib/unistr.h: Update.
74565         * lib/linebreak.c: Update.
74566         * modules/linebreak: Update.
74567         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
74568         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
74569         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
74570         * modules/unistr/u16-mbtouc: Renamed from
74571         modules/unistr/u16-mbtouc-safe.
74572         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
74573         * lib/unistr.h: Update.
74574         * lib/unistr/u16-to-u8.c: Update.
74575         * modules/unistr/u16-to-u8: Update.
74576         * lib/unistr/u16-to-u32.c: Update.
74577         * modules/unistr/u16-to-u32: Update.
74578
74579 2007-01-27  Bruno Haible  <bruno@clisp.org>
74580
74581         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
74582         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
74583         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
74584         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
74585         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
74586         * modules/unistr/u8-mbtouc-unsafe: Renamed from
74587         modules/unistr/u8-mbtouc.
74588         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
74589         * lib/unistr.h: Update.
74590         * lib/striconveh.c: Update.
74591         * modules/striconveh: Update.
74592         * lib/linebreak.c: Update.
74593         * modules/linebreak: Update.
74594         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
74595         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
74596         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
74597         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
74598         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
74599         * lib/unistr.h: Update.
74600         * lib/striconveh.c: Update.
74601         * modules/striconveh: Update.
74602         * lib/unistr/u8-to-u16.c: Update.
74603         * modules/unistr/u8-to-u16: Update.
74604         * lib/unistr/u8-to-u32.c: Update.
74605         * modules/unistr/u8-to-u32: Update.
74606
74607 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74608
74609         Sync from Libtool.
74610         * lib/argz.c: Do not include strings.h nor memory.h, include
74611         string.h unconditionally.  Patch by Simon Josefsson.
74612
74613 2007-01-27  Bruno Haible  <bruno@clisp.org>
74614
74615         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
74616         from gl_HEADER_STRING_H_BODY.
74617         (gl_HEADER_STRING_H_BODY): Require it.
74618         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
74619         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
74620         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
74621         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
74622         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
74623         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
74624         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
74625         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
74626         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
74627         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
74628         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
74629         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
74630         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
74631         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
74632         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
74633
74634 2007-01-27  Bruno Haible  <bruno@clisp.org>
74635
74636         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
74637         check_PROGRAMS into noinst_PROGRAMS.
74638         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
74639         check_PROGRAMS in this case.
74640         (func_import): Set for_test to false.
74641         (func_create_testdir): Set for_test to true.
74642
74643 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
74644             Bruno Haible  <bruno@clisp.org>
74645
74646         * modules/strcasestr (Files): Remove lib/strcasestr.h.
74647         (Depends-on): Add string.
74648         (Includes): Use <string.h> instead of strcasestr.h.
74649         * modules/string (Makefile.am): Also substitute the value of
74650         REPLACE_STRCASESTR.
74651         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
74652         assume strcasestr is declared in <string.h> not <strings.h>. Also
74653         set REPLACE_STRCASESTR.
74654         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
74655         REPLACE_STRCASESTR.
74656         * lib/strcasestr.h: Remove file.
74657         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
74658         * lib/string_.h (strcasestr): New declaration.
74659
74660 2007-01-27  Bruno Haible  <bruno@clisp.org>
74661
74662         * lib/string_.h: Use 'extern'.
74663
74664 2007-01-27  Jim Meyering  <jim@meyering.net>
74665
74666         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
74667         of set-but-not-used local, "q".
74668
74669         * lib/mempcpy.c: Include <config.h> before <string.h>.
74670         This fixes a compilation error on HP-UX, due to the system's
74671         "restrict"-using mempcpy prototype.
74672
74673 2007-01-26  Bruno Haible  <bruno@clisp.org>
74674
74675         Small optimization.
74676         * lib/javacomp.c: Include c-strstr.h.
74677          (is_envjavac_gcj): Use c_strstr instead of strstr.
74678         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
74679
74680 2007-01-26  Bruno Haible  <bruno@clisp.org>
74681
74682         * MODULES.html.sh (Unicode string functions): Add the new modules.
74683
74684         * modules/uniconv/u32-strconv-to-locale: New file.
74685         * lib/uniconv/u32-strconv-to-locale.c: New file.
74686
74687         * modules/uniconv/u16-strconv-to-locale: New file.
74688         * lib/uniconv/u16-strconv-to-locale.c: New file.
74689
74690         * modules/uniconv/u8-strconv-to-locale: New file.
74691         * lib/uniconv/u8-strconv-to-locale.c: New file.
74692
74693         * modules/uniconv/u32-strconv-from-locale: New file.
74694         * lib/uniconv/u32-strconv-from-locale.c: New file.
74695
74696         * modules/uniconv/u16-strconv-from-locale: New file.
74697         * lib/uniconv/u16-strconv-from-locale.c: New file.
74698
74699         * modules/uniconv/u8-strconv-from-locale: New file.
74700         * lib/uniconv/u8-strconv-from-locale.c: New file.
74701
74702         * modules/uniconv/u32-strconv-to-enc: New file.
74703         * lib/uniconv/u32-strconv-to-enc.c: New file.
74704         * modules/uniconv/u32-strconv-to-enc-tests: New file.
74705         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
74706
74707         * modules/uniconv/u16-strconv-to-enc: New file.
74708         * lib/uniconv/u16-strconv-to-enc.c: New file.
74709         * lib/uniconv/u-strconv-to-enc.h: New file.
74710         * modules/uniconv/u16-strconv-to-enc-tests: New file.
74711         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
74712
74713         * modules/uniconv/u8-strconv-to-enc: New file.
74714         * lib/uniconv/u8-strconv-to-enc.c: New file.
74715         * modules/uniconv/u8-strconv-to-enc-tests: New file.
74716         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
74717
74718         * modules/uniconv/u32-strconv-from-enc: New file.
74719         * lib/uniconv/u32-strconv-from-enc.c: New file.
74720         * modules/uniconv/u32-strconv-from-enc-tests: New file.
74721         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
74722
74723         * modules/uniconv/u16-strconv-from-enc: New file.
74724         * lib/uniconv/u16-strconv-from-enc.c: New file.
74725         * modules/uniconv/u16-strconv-from-enc-tests: New file.
74726         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
74727
74728         * modules/uniconv/u8-strconv-from-enc: New file.
74729         * lib/uniconv/u8-strconv-from-enc.c: New file.
74730         * lib/uniconv/u-strconv-from-enc.h: New file.
74731         * modules/uniconv/u8-strconv-from-enc-tests: New file.
74732         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
74733
74734         * modules/uniconv/u32-conv-from-enc: New file.
74735         * lib/uniconv/u32-conv-from-enc.c: New file.
74736         * modules/uniconv/u32-conv-from-enc-tests: New file.
74737         * tests/uniconv/test-u32-conv-from-enc.c: New file.
74738
74739         * modules/uniconv/u16-conv-from-enc: New file.
74740         * lib/uniconv/u16-conv-from-enc.c: New file.
74741         * lib/uniconv/u-conv-from-enc.h: New file.
74742         * modules/uniconv/u16-conv-from-enc-tests: New file.
74743         * tests/uniconv/test-u16-conv-from-enc.c: New file.
74744
74745         * modules/uniconv/u8-conv-from-enc: New file.
74746         * lib/uniconv/u8-conv-from-enc.c: New file.
74747         * modules/uniconv/u8-conv-from-enc-tests: New file.
74748         * tests/uniconv/test-u8-conv-from-enc.c: New file.
74749
74750         * modules/uniconv/base: New file.
74751         * lib/uniconv.h: New file.
74752
74753 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
74754
74755         * doc/gnulib-tool.texi (Initial import): Update to match current
74756         behavior with strdup module.
74757         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
74758         * lib/memmem.h: Remove; all uses removed.  This is now done
74759         by <string.h>.
74760         * lib/mempcpy.h: Likewise.
74761         * lib/memrchr.h: Likewise.
74762         * lib/stpcpy.h: Likewise.
74763         * lib/stpncpy.h: Likewise.
74764         * lib/strcase.h: Likewise.
74765         * lib/strchrnul.h: Likewise.
74766         * lib/strdup.h: Likewise.
74767         * lib/strndup.h: Likewise.
74768         * lib/strnlen.h: Likewise.
74769         * lib/strpbrk.h: Likewise.
74770         * lib/strsep.h: Likewise.
74771         * lib/strstr.h: Likewise.
74772         * lib/strtok_r.h: Likewise.
74773         * lib/string_.h: New file.
74774         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
74775         Rely on <string.h> instead.
74776         * lib/canon-host.c: Likewise.
74777         * lib/chdir-long.c: Likewise.
74778         * lib/concatpath.c: Likewise.
74779         * lib/exclude.c: Likewise.
74780         * lib/fchdir.c: Likewise.
74781         * lib/getaddrinfo.c: Likewise.
74782         * lib/getcwd.c: Likewise.
74783         * lib/getsubopt.c: Likewise.
74784         * lib/glob.c: Likewise.
74785         * lib/hard-locale.c: Likewise.
74786         * lib/iconvme.c: Likewise.
74787         * lib/javacomp.c: Likewise.
74788         * lib/mempcpy.c: Likewise.
74789         * lib/memrchr.c: Likewise.
74790         * lib/regex_internal.h: Likewise.
74791         * lib/stpncpy.c: Likewise.
74792         * lib/strcasecmp.c: Likewise.
74793         * lib/strchrnul.c: Likewise.
74794         * lib/strdup.c: Likewise.
74795         * lib/striconv.c: Likewise.
74796         * lib/striconveh.c: Likewise.
74797         * lib/striconveha.c: Likewise.
74798         * lib/strncasecmp.c: Likewise.
74799         * lib/strndup.c: Likewise.
74800         * lib/strnlen.c: Likewise.
74801         * lib/strsep.c: Likewise.
74802         * lib/strstr.c: Likewise.
74803         * lib/strtok_r.c: Likewise.
74804         * lib/userspec.c: Likewise.
74805         * lib/w32spawn.h: Likewise.
74806         * lib/xstrndup.c: Likewise.
74807         * lib/mountlist.c (strstr): Remove decl.
74808         * m4/string_h.m4: New file.
74809         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
74810         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
74811         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
74812         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
74813         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
74814         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
74815         Set REPLACE_STRCASECMP if necessary.
74816         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
74817         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
74818         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
74819         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
74820         HAVE_DECL_STRDUP if necessary.
74821         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
74822         since gl_FUNC_STRNDUP does that now.
74823         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
74824         Check for decl here...
74825         (gl_PREREQ_STRNLEN): ... not here.
74826         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
74827         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
74828         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
74829         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
74830         necessary.
74831         * modules/string: New file.
74832         * modules/memmem (Files): Remove special-purpose include file.
74833         (Depends-on): Add string.
74834         (Include): Include <string.h>, not the removed file.
74835         * modules/mempcpy: Likewise.
74836         * modules/memrchr: Likewise.
74837         * modules/stpcpy: Likewise.
74838         * modules/stpncpy: Likewise.
74839         * modules/strcase: Likewise.
74840         * modules/strchrnul: Likewise.
74841         * modules/strdup: Likewise.
74842         * modules/strndup: Likewise.
74843         * modules/strnlen: Likewise.
74844         * modules/strpbrk: Likewise.
74845         * modules/strsep: Likewise.
74846         * modules/strstr: Likewise.
74847         * modules/strtok_r: Likewise.
74848         * tests/test-dirname.c: Don't include "strdup.h", since
74849         <string.h> now suffices.
74850         * tests/test-memmem.c: Don't include "memmem.h", since
74851         <string.h> now suffices.
74852
74853 2007-01-25  Bruno Haible  <bruno@clisp.org>
74854
74855         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
74856         *resultp is 0.
74857
74858         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
74859         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
74860         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
74861         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
74862
74863         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
74864         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
74865         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
74866         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
74867         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
74868         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
74869
74870 2007-01-24  Bruno Haible  <bruno@clisp.org>
74871
74872         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
74873         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
74874         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
74875         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
74876         gl_FUNC_FTS_CORE.
74877         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
74878         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
74879         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
74880         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
74881         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
74882         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
74883         gl_FUNC_FCHOWNAT.
74884         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
74885         gl_FUNC_STRFTIME.
74886         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
74887         Reported by Ralf Wildenhues.
74888
74889 2007-01-24  Bruno Haible  <bruno@clisp.org>
74890
74891         Drop AC_REQUIRE calls that are redundant with the module dependencies.
74892         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
74893         gl_GETADDRINFO.
74894         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
74895         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
74896         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
74897
74898 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
74899
74900         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
74901         Don't use 'exit'; just return from 'main'.
74902         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
74903
74904         * lib/fnmatch_.h: Readjust white space and comments to match
74905         glibc, to avoid spurious diffs.
74906
74907 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74908
74909         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
74910         2004-12-01 change by Jakub Jelinek, since this code won't compile
74911         if !LIBC.  Problem reported by Bob Proulx.
74912
74913 2007-01-23  Bruno Haible  <bruno@clisp.org>
74914
74915         * lib/striconveh.c: Include c-strcaseeq.h.
74916         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
74917         * modules/striconveh (Depends-on): Add c-strcaseeq.
74918
74919 2007-01-23  Bruno Haible  <bruno@clisp.org>
74920
74921         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
74922
74923         * modules/c-strcaseeq: New file.
74924         * lib/c-strcaseeq.h: New file.
74925
74926         * modules/streq: New file.
74927         * lib/streq.h: New file.
74928
74929 2007-01-23  Bruno Haible  <bruno@clisp.org>
74930
74931         * modules/striconveha-tests: New file.
74932         * tests/test-striconveha.c: New file.
74933
74934         * lib/striconveha.h: Include <stdbool.h>.
74935         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
74936         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
74937         (mem_iconveha_notranslit): Renamed from mem_iconveha.
74938         (mem_iconveha): New function.
74939         (str_iconveha_notranslit): Renamed from str_iconveha.
74940         (str_iconveha): New function.
74941         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
74942         c-strcase.
74943
74944 2007-01-23  Bruno Haible  <bruno@clisp.org>
74945
74946         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
74947         encodings without forgiving before trying any encoding with handler.
74948         (str_iconveha): Try all encodings without forgiving before trying any
74949         encoding with handler.
74950
74951 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74952
74953         Import the following changes from libc.
74954
74955         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
74956
74957         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
74958
74959         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
74960
74961         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
74962         normal_bracket label.
74963
74964         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
74965
74966         [BZ #361]
74967         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
74968         to normal_bracket after fetching the next character.
74969
74970 2007-01-22  Bruno Haible  <bruno@clisp.org>
74971
74972         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
74973         argument.
74974         * lib/striconveh.c (iconv_carefully_1): New function.
74975         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
74976         argument.
74977         (str_cd_iconveh): Update.
74978         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
74979         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
74980         * tests/test-striconveh.c (MAGIC): New macro.
74981         (new_offsets): New function.
74982         (main): Test call with and without offsets.
74983
74984 2007-01-22  Bruno Haible  <bruno@clisp.org>
74985
74986         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
74987         * modules/sys_select (Makefile.am): Likewise.
74988         * modules/sys_socket (Makefile.am): Likewise.
74989         * modules/sys_time (Makefile.am): Likewise.
74990
74991 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
74992
74993         * modules/gettimeofday (License): Change from GPL to LGPL, since
74994         gettimeofday is a library function.
74995
74996 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74997
74998         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
74999
75000 2007-01-21  Bruno Haible  <bruno@clisp.org>
75001
75002         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
75003
75004 2007-01-21  Bruno Haible  <bruno@clisp.org>
75005
75006         * modules/striconveha: New file.
75007         * lib/striconveha.h: New file.
75008         * lib/striconveha.c: New file.
75009         * MODULES.html.sh (Internationalization functions): Add striconveha.
75010         * lib/striconv.c (str_iconv): Optimize the case of an empty input
75011         string.
75012         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
75013
75014 2007-01-21  Bruno Haible  <bruno@clisp.org>
75015
75016         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
75017         * lib/striconveh.c (str_iconveh): Likewise.
75018
75019 2007-01-21  Bruno Haible  <bruno@clisp.org>
75020
75021         * lib/striconveh.h (mem_iconveh): New declaration.
75022         * lib/striconveh.c (mem_iconveh): New function.
75023         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
75024
75025 2007-01-21  Bruno Haible  <bruno@clisp.org>
75026
75027         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
75028
75029         * lib/striconveh.h (mem_cd_iconveh): Change specification.
75030         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
75031         original result buffer.
75032         (str_cd_iconveh): Update.
75033         * tests/test-striconveh.c (main): Update.
75034
75035         * lib/striconv.h (mem_cd_iconv): Change specification.
75036         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
75037         result buffer.
75038         (str_cd_iconv): Update.
75039         * tests/test-striconv.c (main): Update.
75040
75041 2007-01-21  Bruno Haible  <bruno@clisp.org>
75042
75043         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
75044
75045 2007-01-20  Jim Meyering  <jim@meyering.net>
75046
75047         * lib/userspec.c (parse_with_separator): If a user or group string
75048         starts with "+", skip the corresponding name-to-ID look-up, since
75049         such a look-up must fail: user and group names may not include "+".
75050
75051 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
75052
75053         * lib/poll.c: Include sys/time.h and time.h unconditionally,
75054         since we now assume the sys_time module.
75055         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
75056         check for sys/time.h; no longer needed.
75057         * modules/poll (Depends-on): Depend on sys_time.
75058
75059 2007-01-18  Bruno Haible  <bruno@clisp.org>
75060
75061         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
75062         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
75063
75064         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
75065         gettimeofday.
75066
75067         * tests/test-gettimeofday.c: Include <time.h>.
75068         (dummy): Remove variable.
75069
75070         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
75071         gl_HEADER_SYS_TIME_H.
75072         (gl_HEADER_SYS_TIME_H): New macro.
75073
75074         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
75075         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
75076         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
75077         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
75078         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
75079         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
75080         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
75081         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
75082         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
75083         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
75084         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
75085
75086         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
75087         last change; it caused a compilation error when cross-compiling to
75088         Cygwin.
75089
75090 2007-01-18  Jim Meyering  <jim@meyering.net>
75091
75092         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
75093         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
75094         than the race-prone "test -d sys || mkdir sys".
75095         (configure.ac): Use AC_PROG_MKDIR_P.
75096         * modules/sys_select: Likewise.
75097         * modules/sys_socket: Likewise.
75098         * modules/sys_time: Likewise.
75099
75100 2007-01-18  Eric Blake  <ebb9@byu.net>
75101
75102         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
75103         replace gettimeofday.
75104         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
75105         name, to avoid infinite recursion.
75106
75107 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
75108
75109         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
75110         module sys_time.
75111         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
75112         assume timespec.h defines struct timeval.
75113         * lib/settime.c: Likewise.
75114         * lib/utimens.c: Likewise.
75115         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
75116         since we now assume the gettimeofday module.
75117         * lib/tempname.c (__gen_tempname): Likewise.
75118         * lib/gettimeofday.h: Remove.
75119         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
75120         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
75121         Include <time.h>, for 'time()'.
75122         (localtime_buffer_addr): Also use this workaround if
75123         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
75124         to simplify the uses.  All uses changed.
75125         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
75126         that #undef is inside {}, and 'const' follows type name consistently.
75127         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
75128         (gettimeofday): Do not use the maximum possible value for
75129         tv->tv_usec, since that might break usages other than ls.c.
75130         Instead, we'll leave ls.c alone.  This undoes today's patch
75131         by Bruno.  Add a compile-time warning for 1s-clock resolution;
75132         we've never observed the problem but might as well keep the
75133         canary.
75134         * lib/nanosleep.c: Include timespec.h first, for interface check.
75135         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
75136         now assume the sys_time module.
75137         * lib/tempname.c: Likewise.
75138         * lib/timespec.h: Likewise.
75139         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
75140         needed.
75141         * lib/strftime.c: Likewise.
75142         * lib/timespec.h: Likewise.
75143         * lib/posixtm.c: Include posixtm.h first, for interface check.
75144         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
75145         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
75146         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
75147         * lib/sys_time_.h: New file.
75148         * lib/timespec.h (struct timespec): Use long int, not long.
75149         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
75150         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
75151         Remove obsolescent call to AC_HEADER_TIME.
75152         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
75153         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
75154         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
75155         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
75156         Likewise.
75157         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
75158         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
75159         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
75160         into the sys_time module.  Check for gettimeofday just once.
75161         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
75162         for gettimeofday signature to just check the signature.  Merely
75163         compile it, since linking doesn't test signature.  Improve test for
75164         whether gettimeofday.o is actually needed.
75165         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
75166         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
75167         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
75168         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
75169         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
75170         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
75171         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
75172         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
75173         than worrying about sys/time.h.
75174         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
75175         Don't bother worrying about TIME_WITH_SYS_TIME.
75176         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
75177         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
75178         * m4/sys_time_h.m4: New file.
75179         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
75180         Don't include sys/time.h.  Return from main rather than exiting.
75181         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
75182         all uses changed.
75183         * modules/gethrxtime (Depends-on): Add sys_time.
75184         * modules/gettime (Depends-on): Likewise.
75185         * modules/gettimeofday (Depends-on): Likewise.
75186         * modules/nanosleep (Depends-on): Likewise.
75187         * modules/settime (Depends-on): Likewise.
75188         * modules/tempname (Depends-on): Likewise.
75189         * modules/utimens (Depends-on): Likewise.
75190         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
75191         (Include): Change back to <sys/time.h>.
75192         (Maintainer): Add self.
75193         * modules/sys_time: New file.
75194         * modules/tempname (Depends-on): Add gettimeofday.
75195         * tests/test-gettimeofday.c: Include <sys/time.h>
75196         rather than gettimeofday.h.
75197
75198 2007-01-17  Bruno Haible  <bruno@clisp.org>
75199
75200         * gnulib-tool (func_get_license): Revert last patch. Instead, let
75201         the license default to GPL.
75202         (func_create_testdir): Don't complain if a module is LGPL and its
75203         tests module depends on GPLed modules.
75204
75205 2007-01-17  Bruno Haible  <bruno@clisp.org>
75206
75207         * lib/gettimeofday.c (gettimeofday): Add code for the case
75208         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
75209         maximum possible value for tv->tv_usec, rather than the minimum one.
75210
75211 2005-10-08  Martin Lambers  <marlam@marlam.de>
75212 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
75213 2007-01-16  Bruno Haible  <bruno@clisp.org>
75214
75215         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
75216         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
75217         gl_FUNC_GETTIMEOFDAY.
75218         (Include): Add gettimeofday.h.
75219         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
75220         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
75221         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
75222         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
75223         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
75224         * lib/gettimeofday.h: New file.
75225         * lib/gettimeofday.c: Include <sys/timeb.h>.
75226         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
75227         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
75228         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
75229         fall back on time().
75230
75231         * tests/test-gettimeofday.c: New file.
75232         * modules/gettimeofday-tests: New file.
75233
75234 2007-01-16  Eric Blake  <ebb9@byu.net>
75235
75236         * modules/fnmatch (Depends-on): Depend on wchar.
75237         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
75238         * m4/fnmatch.m4: Likewise.
75239         * modules/mbchar (Makefile.am): Assume <wchar.h>.
75240         * m4/mbchar.m4: Likewise.
75241         * modules/mbswidth (Depends-on): Depend on wchar.
75242         * lib/mbswidth.c: Assume <wchar.h>.
75243         * m4/mbswidth.m4: Likewise.
75244         * modules/quotearg (Depends-on): Depend on wchar.
75245         * lib/quotearg.c: Assume <wchar.h>.
75246         * m4/quotearg.m4: Likewise.
75247         * modules/regex (Depends-on): Depend on wchar.
75248         * lib/regex_internal.h: Assume <wchar.h>.
75249         * m4/regex.m4: Likewise.
75250         * modules/stdint (Depends-on): Depend on wchar.
75251         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
75252         * m4/stdint.m4: Likewise.
75253         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
75254         * modules/strftime (Depends-on): Depend on wchar.
75255         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
75256         * modules/strtol (Depends-on): Depend on wchar.
75257         * lib/strtol.c: Assume <wchar.h>.
75258         * modules/wcwidth (Depends-on): Depend on wchar.
75259         * lib/wcwidth.h: Assume <wchar.h>.
75260         * m4/wcwidth.m4: Likewise.
75261
75262 2007-01-16  Bruno Haible  <bruno@clisp.org>
75263
75264         * modules/csharpexec-script: New, created from...
75265         * modules/csharpexec: ... this.
75266
75267 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
75268
75269         * modules/javaexec-script: New, created from...
75270         * modules/javaexec: ... this.
75271
75272 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75273
75274         * modules/poll (Dependencies): Add sys_select.
75275
75276 2007-01-15  Jim Meyering  <jim@meyering.net>
75277
75278         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
75279         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
75280         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
75281         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
75282
75283 2007-01-15  Bruno Haible  <bruno@clisp.org>
75284
75285         * modules/striconveh: New file.
75286         * lib/striconveh.h: New file.
75287         * lib/striconveh.c: New file.
75288         * MODULES.html.sh (Internationalization functions): Add striconveh.
75289
75290         * modules/striconveh-tests: New file.
75291         * tests/test-striconveh.c: New file.
75292
75293 2007-01-15  Bruno Haible  <bruno@clisp.org>
75294
75295         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
75296         not from GNU libiconv or GNU libc.
75297
75298 2007-01-15  Bruno Haible  <bruno@clisp.org>
75299
75300         * doc/gnulib-intro.texi (Copyright): Explain the different license
75301         terms for module descriptions, autoconf macros, tests, documentation.
75302
75303 2007-01-14  Bruno Haible  <bruno@clisp.org>
75304
75305         * modules/striconv-tests: New file.
75306         * tests/test-striconv.c: New file.
75307
75308 2007-01-14  Bruno Haible  <bruno@clisp.org>
75309
75310         * modules/iconv-tests: New file.
75311         * tests/test-iconv.c: New file.
75312
75313 2007-01-14  Bruno Haible  <bruno@clisp.org>
75314
75315         * gnulib-tool (func_get_license): For test modules, use the license of
75316         the main module.
75317
75318 2007-01-14  Bruno Haible  <bruno@clisp.org>
75319
75320         * modules/iconv (Include): Clarify that <iconv.h> can only be included
75321         if iconv is found to exist.
75322
75323 2007-01-14  Bruno Haible  <bruno@clisp.org>
75324
75325         * modules/c-ctype-tests: New file.
75326         * tests/test-c-ctype.c: New file.
75327
75328 2007-01-14  Bruno Haible  <bruno@clisp.org>
75329
75330         * modules/binary-io-tests: New file.
75331         * tests/test-binary-io.sh: New file.
75332         * tests/test-binary-io.c: New file.
75333
75334 2007-01-14  Bruno Haible  <bruno@clisp.org>
75335
75336         * modules/array-oset-tests: New file.
75337         * tests/test-array_oset.c: New file.
75338
75339 2007-01-14  Bruno Haible  <bruno@clisp.org>
75340
75341         * modules/array-list-tests: New file.
75342         * tests/test-array_list.c: New file.
75343
75344 2007-01-14  Bruno Haible  <bruno@clisp.org>
75345
75346         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
75347         and make.
75348         Reported by Simon Josefsson in
75349         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
75350
75351 2007-01-14  Bruno Haible  <bruno@clisp.org>
75352
75353         * modules/allocsa-tests: New file.
75354         * tests/test-allocsa.c: New file.
75355
75356 2007-01-14  Bruno Haible  <bruno@clisp.org>
75357
75358         * modules/fchdir (Depends-on): Add absolute-header.
75359         * modules/unistd (Depends-on): Likewise.
75360
75361 2006-12-30  Bruno Haible  <bruno@clisp.org>
75362
75363         * modules/fchdir: New file.
75364         * modules/unistd (Files): Add lib/unistd_.h.
75365         (Makefile.am): Generate unistd.h from unistd_.h.
75366         * lib/fchdir.c: New file.
75367         * lib/dirent_.h: New file.
75368         * lib/unistd_.h: New file.
75369         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
75370         * m4/fchdir.m4: New file.
75371         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
75372         (gl_HEADER_UNISTD): Invoke it.
75373         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
75374         function.
75375         * lib/backupfile.c (opendir, closedir): Undefine.
75376         * lib/chown.c (open, close): Undefine.
75377         * lib/clean-temp.c (open, close): Undefine.
75378         * lib/copy-file.c (open, close): Undefine.
75379         * lib/execute.c (open, close): Undefine.
75380         * lib/fsusage.c (open, close): Undefine.
75381         * lib/gc-gnulib.c (open, close): Undefine.
75382         * lib/getcwd.c (opendir, closedir): Undefine.
75383         * lib/glob.c (opendir, closedir): Undefine.
75384         * lib/javacomp.c (open, close): Undefine.
75385         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
75386         * lib/openat-proc.c (open, close): Undefine.
75387         * lib/pagealign_alloc.c (open, close): Undefine.
75388         * lib/pipe.c (open, close): Undefine.
75389         * lib/progreloc.c (open, close): Undefine.
75390         * lib/savedir.c (opendir, closedir): Undefine.
75391         * lib/utime.c (open, close): Undefine.
75392         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
75393
75394 2007-01-10  Bruno Haible  <bruno@clisp.org>
75395
75396         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
75397
75398 2007-01-12  Eric Blake  <ebb9@byu.net>
75399
75400         Provide a robust <wchar.h>.  Further simplifications are now
75401         possible in other modules, but not included here.
75402         * modules/wchar: New module.
75403         * m4/wchar.m4: New file.
75404         * lib/wchar_.h: Likewise.
75405         * modules/mbchar (Depends-on): Depend on wchar, as the first use
75406         of the new module.
75407         * MODULES.html.sh (Extended multibyte and wide character utilities):
75408         New section.
75409
75410 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
75411
75412         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
75413         to a reasonable default for memory allocation.
75414         (xreadlink): Don't allocate a huge buffer, to work around a buggy
75415         file system that reports garbage st_size values for symlinks.
75416         Problem reported by Liyang Hu.
75417
75418 2007-01-11  Simon Josefsson  <simon@josefsson.org>
75419
75420         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
75421         Emacs .#* auto-save files).
75422
75423 2007-01-11  Bruno Haible  <bruno@clisp.org>
75424
75425         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
75426         directory.
75427
75428 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75429
75430         Use @...@ consistently in lib/wctype_.h.
75431         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
75432         on it being set to 1 or 0.
75433         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
75434         go back to AC_SUBSTing it.
75435         * modules/wctype (Makefile.am): Undo previous change.
75436
75437 2007-01-10  Eric Blake  <ebb9@byu.net>
75438
75439         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
75440         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
75441         * modules/wctype (Makefile.am): Likewise.
75442         Reported by Chris McGuire.
75443
75444 2007-01-10  Jim Meyering  <jim@meyering.net>
75445
75446         fts.c: a small readability/maintainability improvement
75447         * lib/fts.c (fts_read): Make this code slightly more readable and
75448         maintainable by hoisting the "sp->fts_cur = p" assignments to
75449         immediately follow the statements that set P.  Derived from
75450         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
75451
75452 2007-01-10  Eric Blake  <ebb9@byu.net>
75453
75454         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
75455         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
75456         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
75457         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
75458         Reported by Chris McGuire.
75459
75460 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75461
75462         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
75463         in sed script.
75464
75465 2007-01-09  Bruno Haible  <bruno@clisp.org>
75466
75467         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
75468         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
75469         variables.
75470         (func_module): Use them.
75471
75472 2007-01-09  Bruno Haible  <bruno@clisp.org>
75473
75474         * modules/unistr/base: New file.
75475         * lib/unistr.h: New file.
75476
75477         * modules/unistr/u8-to-u16: New file.
75478         * lib/unistr/u8-to-u16.c: New file.
75479
75480         * modules/unistr/u8-to-u32: New file.
75481         * lib/unistr/u8-to-u32.c: New file.
75482
75483         * modules/unistr/u16-to-u8: New file.
75484         * lib/unistr/u16-to-u8.c: New file.
75485
75486         * modules/unistr/u16-to-u32: New file.
75487         * lib/unistr/u16-to-u32.c: New file.
75488
75489         * modules/unistr/u32-to-u8: New file.
75490         * lib/unistr/u32-to-u8.c: New file.
75491
75492         * modules/unistr/u32-to-u16: New file.
75493         * lib/unistr/u32-to-u16.c: New file.
75494
75495         * modules/unistr/u8-check: New file.
75496         * modules/unistr/u16-check: New file.
75497         * modules/unistr/u32-check: New file.
75498         * lib/unistr/u8-check.c: New file.
75499         * lib/unistr/u16-check.c: New file.
75500         * lib/unistr/u32-check.c: New file.
75501
75502         * modules/unistr/u8-chr: New file.
75503         * modules/unistr/u16-chr: New file.
75504         * modules/unistr/u32-chr: New file.
75505         * lib/unistr/u8-chr.c: New file.
75506         * lib/unistr/u16-chr.c: New file.
75507         * lib/unistr/u32-chr.c: New file.
75508
75509         * modules/unistr/u8-cmp: New file.
75510         * modules/unistr/u16-cmp: New file.
75511         * modules/unistr/u32-cmp: New file.
75512         * lib/unistr/u8-cmp.c: New file.
75513         * lib/unistr/u16-cmp.c: New file.
75514         * lib/unistr/u32-cmp.c: New file.
75515
75516         * modules/unistr/u8-cpy: New file.
75517         * modules/unistr/u16-cpy: New file.
75518         * modules/unistr/u32-cpy: New file.
75519         * lib/unistr/u8-cpy.c: New file.
75520         * lib/unistr/u16-cpy.c: New file.
75521         * lib/unistr/u32-cpy.c: New file.
75522         * lib/unistr/u-cpy.h: New file.
75523
75524         * modules/unistr/u8-cpy-alloc: New file.
75525         * modules/unistr/u16-cpy-alloc: New file.
75526         * modules/unistr/u32-cpy-alloc: New file.
75527         * lib/unistr/u8-cpy-alloc.c: New file.
75528         * lib/unistr/u16-cpy-alloc.c: New file.
75529         * lib/unistr/u32-cpy-alloc.c: New file.
75530         * lib/unistr/u-cpy-alloc.h: New file.
75531
75532         * modules/unistr/u8-endswith: New file.
75533         * modules/unistr/u16-endswith: New file.
75534         * modules/unistr/u32-endswith: New file.
75535         * lib/unistr/u8-endswith.c: New file.
75536         * lib/unistr/u16-endswith.c: New file.
75537         * lib/unistr/u32-endswith.c: New file.
75538         * lib/unistr/u-endswith.h: New file.
75539
75540         * modules/unistr/u8-mblen: New file.
75541         * modules/unistr/u16-mblen: New file.
75542         * modules/unistr/u32-mblen: New file.
75543         * lib/unistr/u8-mblen.c: New file.
75544         * lib/unistr/u16-mblen.c: New file.
75545         * lib/unistr/u32-mblen.c: New file.
75546
75547         * modules/unistr/u8-mbtouc: New file.
75548         * modules/unistr/u16-mbtouc: New file.
75549         * modules/unistr/u32-mbtouc: New file.
75550         * lib/unistr/u8-mbtouc.c: New file.
75551         * lib/unistr/u16-mbtouc.c: New file.
75552         * lib/unistr/u32-mbtouc.c: New file.
75553
75554         * modules/unistr/u8-mbtouc-safe: New file.
75555         * modules/unistr/u16-mbtouc-safe: New file.
75556         * modules/unistr/u32-mbtouc-safe: New file.
75557         * lib/unistr/u8-mbtouc-safe.c: New file.
75558         * lib/unistr/u16-mbtouc-safe.c: New file.
75559         * lib/unistr/u32-mbtouc-safe.c: New file.
75560
75561         * modules/unistr/u8-move: New file.
75562         * modules/unistr/u16-move: New file.
75563         * modules/unistr/u32-move: New file.
75564         * lib/unistr/u8-move.c: New file.
75565         * lib/unistr/u16-move.c: New file.
75566         * lib/unistr/u32-move.c: New file.
75567         * lib/unistr/u-move.h: New file.
75568
75569         * modules/unistr/u8-next: New file.
75570         * modules/unistr/u16-next: New file.
75571         * modules/unistr/u32-next: New file.
75572         * lib/unistr/u8-next.c: New file.
75573         * lib/unistr/u16-next.c: New file.
75574         * lib/unistr/u32-next.c: New file.
75575
75576         * modules/unistr/u8-prev: New file.
75577         * modules/unistr/u16-prev: New file.
75578         * modules/unistr/u32-prev: New file.
75579         * lib/unistr/u8-prev.c: New file.
75580         * lib/unistr/u16-prev.c: New file.
75581         * lib/unistr/u32-prev.c: New file.
75582
75583         * modules/unistr/u8-set: New file.
75584         * modules/unistr/u16-set: New file.
75585         * modules/unistr/u32-set: New file.
75586         * lib/unistr/u8-set.c: New file.
75587         * lib/unistr/u16-set.c: New file.
75588         * lib/unistr/u32-set.c: New file.
75589         * lib/unistr/u-set.h: New file.
75590
75591         * modules/unistr/u8-startswith: New file.
75592         * modules/unistr/u16-startswith: New file.
75593         * modules/unistr/u32-startswith: New file.
75594         * lib/unistr/u8-startswith.c: New file.
75595         * lib/unistr/u16-startswith.c: New file.
75596         * lib/unistr/u32-startswith.c: New file.
75597         * lib/unistr/u-startswith.h: New file.
75598
75599         * modules/unistr/u8-stpcpy: New file.
75600         * modules/unistr/u16-stpcpy: New file.
75601         * modules/unistr/u32-stpcpy: New file.
75602         * lib/unistr/u8-stpcpy.c: New file.
75603         * lib/unistr/u16-stpcpy.c: New file.
75604         * lib/unistr/u32-stpcpy.c: New file.
75605         * lib/unistr/u-stpcpy.h: New file.
75606
75607         * modules/unistr/u8-stpncpy: New file.
75608         * modules/unistr/u16-stpncpy: New file.
75609         * modules/unistr/u32-stpncpy: New file.
75610         * lib/unistr/u8-stpncpy.c: New file.
75611         * lib/unistr/u16-stpncpy.c: New file.
75612         * lib/unistr/u32-stpncpy.c: New file.
75613         * lib/unistr/u-stpncpy.h: New file.
75614
75615         * modules/unistr/u8-strcat: New file.
75616         * modules/unistr/u16-strcat: New file.
75617         * modules/unistr/u32-strcat: New file.
75618         * lib/unistr/u8-strcat.c: New file.
75619         * lib/unistr/u16-strcat.c: New file.
75620         * lib/unistr/u32-strcat.c: New file.
75621         * lib/unistr/u-strcat.h: New file.
75622
75623         * modules/unistr/u8-strchr: New file.
75624         * modules/unistr/u16-strchr: New file.
75625         * modules/unistr/u32-strchr: New file.
75626         * lib/unistr/u8-strchr.c: New file.
75627         * lib/unistr/u16-strchr.c: New file.
75628         * lib/unistr/u32-strchr.c: New file.
75629
75630         * modules/unistr/u8-strcmp: New file.
75631         * modules/unistr/u16-strcmp: New file.
75632         * modules/unistr/u32-strcmp: New file.
75633         * lib/unistr/u8-strcmp.c: New file.
75634         * lib/unistr/u16-strcmp.c: New file.
75635         * lib/unistr/u32-strcmp.c: New file.
75636
75637         * modules/unistr/u8-strcpy: New file.
75638         * modules/unistr/u16-strcpy: New file.
75639         * modules/unistr/u32-strcpy: New file.
75640         * lib/unistr/u8-strcpy.c: New file.
75641         * lib/unistr/u16-strcpy.c: New file.
75642         * lib/unistr/u32-strcpy.c: New file.
75643         * lib/unistr/u-strcpy.h: New file.
75644
75645         * modules/unistr/u8-strcspn: New file.
75646         * modules/unistr/u16-strcspn: New file.
75647         * modules/unistr/u32-strcspn: New file.
75648         * lib/unistr/u8-strcspn.c: New file.
75649         * lib/unistr/u16-strcspn.c: New file.
75650         * lib/unistr/u32-strcspn.c: New file.
75651         * lib/unistr/u-strcspn.h: New file.
75652
75653         * modules/unistr/u8-strdup: New file.
75654         * modules/unistr/u16-strdup: New file.
75655         * modules/unistr/u32-strdup: New file.
75656         * lib/unistr/u8-strdup.c: New file.
75657         * lib/unistr/u16-strdup.c: New file.
75658         * lib/unistr/u32-strdup.c: New file.
75659         * lib/unistr/u-strdup.h: New file.
75660
75661         * modules/unistr/u8-strlen: New file.
75662         * modules/unistr/u16-strlen: New file.
75663         * modules/unistr/u32-strlen: New file.
75664         * lib/unistr/u8-strlen.c: New file.
75665         * lib/unistr/u16-strlen.c: New file.
75666         * lib/unistr/u32-strlen.c: New file.
75667         * lib/unistr/u-strlen.h: New file.
75668
75669         * modules/unistr/u8-strmblen: New file.
75670         * modules/unistr/u16-strmblen: New file.
75671         * modules/unistr/u32-strmblen: New file.
75672         * lib/unistr/u8-strmblen.c: New file.
75673         * lib/unistr/u16-strmblen.c: New file.
75674         * lib/unistr/u32-strmblen.c: New file.
75675
75676         * modules/unistr/u8-strmbtouc: New file.
75677         * modules/unistr/u16-strmbtouc: New file.
75678         * modules/unistr/u32-strmbtouc: New file.
75679         * lib/unistr/u8-strmbtouc.c: New file.
75680         * lib/unistr/u16-strmbtouc.c: New file.
75681         * lib/unistr/u32-strmbtouc.c: New file.
75682
75683         * modules/unistr/u8-strncat: New file.
75684         * modules/unistr/u16-strncat: New file.
75685         * modules/unistr/u32-strncat: New file.
75686         * lib/unistr/u8-strncat.c: New file.
75687         * lib/unistr/u16-strncat.c: New file.
75688         * lib/unistr/u32-strncat.c: New file.
75689         * lib/unistr/u-strncat.h: New file.
75690
75691         * modules/unistr/u8-strncmp: New file.
75692         * modules/unistr/u16-strncmp: New file.
75693         * modules/unistr/u32-strncmp: New file.
75694         * lib/unistr/u8-strncmp.c: New file.
75695         * lib/unistr/u16-strncmp.c: New file.
75696         * lib/unistr/u32-strncmp.c: New file.
75697
75698         * modules/unistr/u8-strncpy: New file.
75699         * modules/unistr/u16-strncpy: New file.
75700         * modules/unistr/u32-strncpy: New file.
75701         * lib/unistr/u8-strncpy.c: New file.
75702         * lib/unistr/u16-strncpy.c: New file.
75703         * lib/unistr/u32-strncpy.c: New file.
75704         * lib/unistr/u-strncpy.h: New file.
75705
75706         * modules/unistr/u8-strnlen: New file.
75707         * modules/unistr/u16-strnlen: New file.
75708         * modules/unistr/u32-strnlen: New file.
75709         * lib/unistr/u8-strnlen.c: New file.
75710         * lib/unistr/u16-strnlen.c: New file.
75711         * lib/unistr/u32-strnlen.c: New file.
75712         * lib/unistr/u-strnlen.h: New file.
75713
75714         * modules/unistr/u8-strpbrk: New file.
75715         * modules/unistr/u16-strpbrk: New file.
75716         * modules/unistr/u32-strpbrk: New file.
75717         * lib/unistr/u8-strpbrk.c: New file.
75718         * lib/unistr/u16-strpbrk.c: New file.
75719         * lib/unistr/u32-strpbrk.c: New file.
75720         * lib/unistr/u-strpbrk.h: New file.
75721
75722         * modules/unistr/u8-strrchr: New file.
75723         * modules/unistr/u16-strrchr: New file.
75724         * modules/unistr/u32-strrchr: New file.
75725         * lib/unistr/u8-strrchr.c: New file.
75726         * lib/unistr/u16-strrchr.c: New file.
75727         * lib/unistr/u32-strrchr.c: New file.
75728
75729         * modules/unistr/u8-strspn: New file.
75730         * modules/unistr/u16-strspn: New file.
75731         * modules/unistr/u32-strspn: New file.
75732         * lib/unistr/u8-strspn.c: New file.
75733         * lib/unistr/u16-strspn.c: New file.
75734         * lib/unistr/u32-strspn.c: New file.
75735         * lib/unistr/u-strspn.h: New file.
75736
75737         * modules/unistr/u8-strstr: New file.
75738         * modules/unistr/u16-strstr: New file.
75739         * modules/unistr/u32-strstr: New file.
75740         * lib/unistr/u8-strstr.c: New file.
75741         * lib/unistr/u16-strstr.c: New file.
75742         * lib/unistr/u32-strstr.c: New file.
75743         * lib/unistr/u-strstr.h: New file.
75744
75745         * modules/unistr/u8-strtok: New file.
75746         * modules/unistr/u16-strtok: New file.
75747         * modules/unistr/u32-strtok: New file.
75748         * lib/unistr/u8-strtok.c: New file.
75749         * lib/unistr/u16-strtok.c: New file.
75750         * lib/unistr/u32-strtok.c: New file.
75751         * lib/unistr/u-strtok.h: New file.
75752
75753         * modules/unistr/u8-uctomb: New file.
75754         * modules/unistr/u16-uctomb: New file.
75755         * modules/unistr/u32-uctomb: New file.
75756         * lib/unistr/u8-uctomb.c: New file.
75757         * lib/unistr/u16-uctomb.c: New file.
75758         * lib/unistr/u32-uctomb.c: New file.
75759
75760         * MODULES.html.sh (Unicode string functions): Add the new modules.
75761
75762 2007-01-08  Bruno Haible  <bruno@clisp.org>
75763
75764         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
75765         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
75766         subdirectories.
75767
75768 2007-01-08  Karl Berry  <karl@gnu.org>
75769
75770         * doc/error.texi: mention that main() fns must set program_name
75771         when progname is used.
75772
75773 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
75774
75775         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
75776         WCTYPE_H is empty, for the benefit of builds from non-distclean
75777         directories.  Problem reported by Eric Blake in
75778         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
75779
75780 2007-01-08  Bruno Haible  <bruno@clisp.org>
75781
75782         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
75783         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
75784         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
75785         PROVIDE_CANONICALIZE_FILENAME_MODE.
75786         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
75787
75788 2007-01-08  Bruno Haible  <bruno@clisp.org>
75789
75790         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
75791         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
75792         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
75793         * lib/fts.c: Likewise.
75794         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
75795
75796 2006-12-25  Bruno Haible  <bruno@clisp.org>
75797
75798         * modules/utf8-ucs4-safe: New file.
75799         * lib/utf8-ucs4-safe.h: New file.
75800         * lib/unistr/utf8-ucs4-safe.c: New file.
75801
75802         * modules/utf16-ucs4-safe: New file.
75803         * lib/utf16-ucs4-safe.h: New file.
75804         * lib/unistr/utf16-ucs4-safe.c: New file.
75805
75806         * MODULES.html.sh (Unicode string functions): Add the new modules.
75807
75808 2007-01-08  Bruno Haible  <bruno@clisp.org>
75809
75810         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
75811         (Depends-on): Add unitypes.
75812         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75813         (u8_mbtouc_aux): Move out to separate file.
75814         (u8_mbtouc): Use ucs4_t, uint8_t types.
75815         * lib/unistr/utf8-ucs4.c: New file.
75816
75817         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
75818         (Depends-on): Add unitypes.
75819         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75820         (u16_mbtouc_aux): Move out to separate file.
75821         (u16_mbtouc): Use ucs4_t, uint16_t types.
75822         * lib/unistr/utf16-ucs4.c: New file.
75823
75824         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
75825         (Depends-on): Add unitypes.
75826         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
75827         (u8_uctomb_aux): Move out to separate file.
75828         (u8_uctomb): Use ucs4_t, uint8_t types.
75829         * lib/unistr/ucs4-utf8.c: New file.
75830
75831         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
75832         (Depends-on): Add unitypes.
75833         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
75834         (u16_uctomb_aux): Move out to separate file.
75835         (u16_uctomb): Use ucs4_t, uint16_t types.
75836         * lib/unistr/ucs4-utf16.c: New file.
75837
75838 2006-12-25  Bruno Haible  <bruno@clisp.org>
75839
75840         * modules/unitypes: New file.
75841         * lib/unitypes.h: New file.
75842         * MODULES.html.sh (func_all_modules): New section "Unicode string
75843         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
75844         this section. Add unitypes.
75845
75846 2007-01-08  Bruno Haible  <bruno@clisp.org>
75847
75848         Avoid variable names that conflict with those from libtool.
75849         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
75850         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
75851         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
75852         library_names_spec to acl_library_names_spec, hardcode_* to
75853         acl_hardcode_*.
75854         Reported by Ralf Wildenhues.
75855
75856 2007-01-08  Bruno Haible  <bruno@clisp.org>
75857
75858         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
75859         definition.
75860         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
75861         definition.
75862         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
75863         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
75864         definition.
75865         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
75866         definition.
75867         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
75868         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
75869         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
75870         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
75871         definition.
75872         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
75873         definition.
75874         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
75875         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
75876         GC_USE_<algorithm>.
75877         * lib/gc-libgcrypt.c: Likewise.
75878         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
75879         * modules/gc-arctwo (configure.ac): Likewise.
75880         * modules/gc-des (configure.ac): Likewise.
75881         * modules/gc-hmac-md5 (configure.ac): Likewise.
75882         * modules/gc-hmac-sha1 (configure.ac): Likewise.
75883         * modules/gc-md2 (configure.ac): Likewise.
75884         * modules/gc-md4 (configure.ac): Likewise.
75885         * modules/gc-md5 (configure.ac): Likewise.
75886         * modules/gc-random (configure.ac): Likewise.
75887         * modules/gc-rijndael (configure.ac): Likewise.
75888         * modules/gc-sha1 (configure.ac): Likewise.
75889
75890 2007-01-08  Bruno Haible  <bruno@clisp.org>
75891
75892         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
75893         macro definition.
75894         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
75895         definition.
75896         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
75897         definition.
75898         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
75899         * modules/fcntl-safer (configure.ac): Likewise.
75900         * modules/fopen-safer (configure.ac): Likewise.
75901         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
75902         GNULIB_FWRITEERROR macro definition.
75903
75904 2007-01-08  Bruno Haible  <bruno@clisp.org>
75905
75906         * m4/gnulib-common.m4: New file.
75907         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
75908         (func_get_filelist): Add m4/gnulib-common.m4.
75909
75910 2007-01-08  Bruno Haible  <bruno@clisp.org>
75911
75912         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
75913         command.
75914
75915 2007-01-08  Jim Meyering  <jim@meyering.net>
75916
75917         Use a more robust test for a "can't happen" condition.
75918         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
75919         narrowed the st_size value.  Presuming the "can't happen" condition
75920         is true, that narrowing could conceivably convert an invalid st_size
75921         value into a valid one.  Instead, use a change based on Matthew
75922         Woehlke's original patch.
75923
75924         Slight readability improvement: use an assert-like macro
75925         in place of literal "abort ()" uses.
75926         * lib/fts.c (fts_assert): Define.
75927         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
75928         Use this macro instead of a bare 'abort'.
75929
75930 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
75931
75932         Don't worry about using IRIX 5.3's wctype.h broken definitions;
75933         simply work around them.
75934         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
75935         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
75936         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
75937         declaring.
75938         Don't bother to define as macros, since the standard doesn't require it.
75939         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
75940         longer worry about IRIX 5.3.
75941         (HAVE_WCTYPE_CTMP_BUG): Remove.
75942
75943 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75944
75945         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
75946         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
75947         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
75948         Problems reported by Georg Schwarz for IRIX 5.3.
75949
75950         * gnulib-tool (autoconf_minversion): Take the maximum version number
75951         found, not the minimum.  Problem reported by James Youngman.
75952
75953 2007-01-03  Karl Berry  <karl@gnu.org>
75954
75955         * doc/error.texi: new file, explaining interaction with progname.
75956         * doc/gnulib.texi: include it.  Update copyright.
75957
75958 2007-01-03  Simon Josefsson  <simon@josefsson.org>
75959
75960         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
75961         AC_CANONICAL_HOST, to improve autobuild outputs.
75962
75963 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
75964             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
75965
75966         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
75967         sockets, server sockets, and other file descriptors.  Count errors
75968         to compute the return value.  Reorder the code a bit to be easier
75969         to follow.  Don't set event bits that were not requested (except
75970         POLLERR and POLLHUP).
75971
75972 2007-01-01  Bruno Haible  <bruno@clisp.org>
75973
75974         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
75975
75976 2007-01-03  Jim Meyering  <jim@meyering.net>
75977
75978         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
75979
75980 2007-01-02  Bruno Haible  <bruno@clisp.org>
75981
75982         * modules/settime (Include): Require timespec.h.
75983         * modules/nanosleep (Include): Likewise.
75984
75985 2007-01-01  Bruno Haible  <bruno@clisp.org>
75986
75987         * gnulib-tool (func_emit_copyright_notice): Bump year.
75988         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
75989
75990 2007-01-01  Bruno Haible  <bruno@clisp.org>
75991
75992         Improve support for OpenBSD.
75993         * build-aux/config.rpath (libname_spec): Export.
75994         (library_names_spec): New variable. Export.
75995         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
75996         library_names_spec from the config.rpath output. Locate shared library
75997         through the name pattern in library_names_spec.
75998
75999 2007-01-01  Eric Blake  <ebb9@byu.net>
76000
76001         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
76002
76003 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
76004
76005         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
76006         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
76007         assume the C locale, and avoid an "eval" that could cause trouble.
76008         Problem with SORT reported by Bob Proulx.
76009
76010         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
76011         Define.  Trivial patch from Henning Nielsen Lund, originally
76012         sent to bug-grep@gnu.org today.
76013
76014 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
76015
76016         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
76017         struct stat.  Problem reported by Henning Nielsen Lund.
76018         * lib/acl.c: Include acl.h first, to check interface.  Don't
76019         bother to include sys/types.h and sys/stat.h again.
76020
76021 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
76022
76023         Import the following change from libc; problem reported by
76024         Sven Verdoolaege.
76025
76026         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
76027
76028         [BZ #1373]
76029         * lib/argp.h: Remove __NTH for __argp_usage inline function.
76030
76031 2006-12-28  Jim Meyering  <jim@meyering.net>
76032
76033         * build-aux/announce-gen: Do not assume that the package
76034         builds any of tar.gz, tar.bz2, and .xdelta files.
76035         Suggestion from Simon Josefsson.
76036
76037 2006-12-28  Simon Josefsson  <simon@josefsson.org>
76038
76039         * modules/announce-gen: New file.
76040
76041 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
76042
76043         * lib/mbchar.h: Just include <wctype.h>; the wctype module
76044         handles its gotchas now.
76045         * lib/mbswidth.c: Likewise.
76046         * lib/wcwidth.h: Likewise.
76047         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
76048         and iswcntrl; the wctype module does this stuff now.
76049         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
76050         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
76051         * modules/mbchar (Depends-on): Add wctype.
76052         * modules/mbswidth (Depends-on): Likewise.
76053         * modules/wcwidth (Depends-on): Likewise.
76054
76055 2006-12-27  Eric Blake  <ebb9@byu.net>
76056
76057         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
76058         module uses more than what <wctype.h> is required to provide.
76059
76060 2006-12-26  Eric Blake  <ebb9@byu.net>
76061
76062         * gnulib-tool (sed_extract_prog): Avoid space-tab.
76063
76064 2006-12-26  Eric Blake  <ebb9@byu.net>
76065
76066         * modules/absolute-header: New module.
76067         * modules/fcntl (Depends-on): Depend on it.
76068         * modules/inttypes (Depends-on): Likewise.
76069         * modules/stdint (Depends-on): Likewise.
76070         * modules/sys_stat (Depends-on): Likewise.
76071         * modules/wctype (Depends-on): Likewise.
76072         * MODULES.html.sh (Support for building libraries and
76073         executables): Document it.
76074
76075 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
76076
76077         * gnulib-tool (SED): Remove, undoing previous change.
76078         The problem was that it broke coreutils on Solaris, because
76079         "sed --posix" leaked into a makefile.
76080         (sed): New alias, if 'alias' and GNU sed.
76081
76082 2006-12-24  Jim Meyering  <jim@meyering.net>
76083
76084         Work around an fchownat bug in glibc-2.4:
76085         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
76086         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
76087         in spite of the -P option.
76088         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
76089         New macros.
76090         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
76091         * modules/openat (Files): Add lib/fchownat.c.
76092         * lib/openat.c (fchownat): Don't define here.  Move to...
76093         * lib/fchownat.c: ...this new file.
76094
76095 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
76096
76097         Fix bug reported by Bruno Haible in
76098         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
76099         where quotearg.c didn't compile on Mac OS X 10.2 because it
76100         lacks <wchar.h> and wint_t.
76101         * lib/wctype_.h (__wctype_wint_t): New type.
76102         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
76103         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
76104         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
76105         Arg is now of type __wctype_wint_t, not wint_t.
76106         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
76107         substitute HAVE_WINT_T.
76108         * modules/wctype (Files): Add m4/wint_t.m4.
76109         (wctype.h): Substitute HAVE_WINT_T.
76110
76111 2006-12-23  Bruno Haible  <bruno@clisp.org>
76112
76113         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
76114
76115 2006-12-23  Bruno Haible  <bruno@clisp.org>
76116
76117         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
76118         S_ISLNK.
76119         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
76120         mingw.
76121
76122 2006-12-22  Bruno Haible  <bruno@clisp.org>
76123
76124         * lib/copy-file.c: Include acl.h.
76125         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
76126         Close the file descriptors only after being done with copy_acl.
76127         * modules/copy-file (Depends-on): Add acl.
76128
76129 2006-12-22  Bruno Haible  <bruno@clisp.org>
76130
76131         * gnulib-tool (SED): New variable.
76132         Use $SED instead of sed everywhere.
76133
76134 2006-12-22  Bruno Haible  <bruno@clisp.org>
76135
76136         * modules/no-c++: New file.
76137         * m4/no-c++.m4: New file.
76138         * MODULES.html.sh (Support for building libraries and executables):
76139         Add no-c++.
76140
76141 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
76142
76143         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
76144         Include <limits.h>, and use its INT_MAX to rewrite the
76145         j loop so that it does not overflow 'int'.  Problem reported by
76146         Ralf Wildenhues in
76147         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
76148         Play it safe by shifting left by 1 rather than multiplying by 2,
76149         as GCC is less likely to optimize this away when the value
76150         is signed (when it assumes overflow leads to undefined behavior).
76151         Also, don't assume time_t uses two's complement.
76152
76153 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
76154
76155         * MODULES.html.sh: New module wctype.
76156         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
76157         * lib/fnmatch.c: Don't bother to include <wchar.h> before
76158         <wctype.h>, since the new wctype module should fix this.
76159         * lib/quotearg.c: Include <wctype.h> unconditionally, since
76160         the wctype module should arrange for it.
76161         * lib/regex_internal.h: Likewise.
76162         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
76163         since the wctype module should handle this now.
76164         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
76165         * modules/fnmatch (Depends-on): Add wctype.
76166         * modules/quotearg (Depends-on): Likewise.
76167         * modules/regex (Depends-on): Likewise.
76168
76169 2006-12-19  Bruno Haible  <bruno@clisp.org>
76170
76171         * lib/strdup.h [C++]: Wrap definitions in extern "C".
76172         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
76173
76174 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76175
76176         * modules/savewd (Depends-on): Fix dependency on fcntl.
76177
76178 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
76179
76180         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
76181         conforms to C99, rather than relying on the user's environment
76182         setting of STDINT_H.
76183
76184 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
76185         and Eric Blake  <ebb9@byu.net>
76186
76187         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
76188         This is more consistent with the other defines here.
76189         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
76190         Port to z/OS.  Problem reported by Paul Gilmartin.
76191         Change local vars to use gl_ prefix rather than ac_.
76192         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
76193         with other defines.
76194         * modules/double-slash-root: New module.
76195         * modules/dirname (Files): Remove m4/double-slash-root.m4.
76196         (Depends-on): Add double-slash-root.
76197         * MODULES.html.sh (File system functions): Mention new module.
76198
76199 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
76200
76201         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
76202         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
76203         This is for the benefit of gzip, which doesn't do i18n.
76204
76205 2006-12-12  Jim Meyering  <jim@meyering.net>
76206
76207         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
76208         Reported by Andreas Schwab <schwab@suse.de>.
76209
76210 2006-12-12  Bruno Haible  <bruno@clisp.org>
76211
76212         Merge these changes.
76213         2006-09-05  Bruno Haible  <bruno@clisp.org>
76214         * lib/iconvme.c (iconv_string): No need to save and restore errno when
76215         iconv_alloc succeeded.
76216         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
76217         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
76218         test for " && dest " at the end - dest is always != NULL there. Call
76219         iconv with 4xNULL arguments initially, to reset the state. Call iconv
76220         with 2xNULL arguments, also to flush the state storage. Handle the
76221         IRIX iconv behaviour. Realloc the final result, to throw away unused
76222         memory.
76223
76224 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
76225
76226         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
76227         and fchmodat unconditionally, since glibc 2.4 has them.
76228         Problem reported by Arkadiusz Miskiewicz.
76229
76230 2006-12-10  Bruno Haible  <bruno@clisp.org>
76231
76232         * gnulib-tool (func_import): Show the include files only for those
76233         modules that are copied and specified.
76234         Reported by Karl Berry.
76235
76236 2006-12-08  Jim Meyering  <jim@meyering.net>
76237
76238         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
76239         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
76240
76241         * build-aux/announce-gen: Add two new options, both optional:
76242         --bootstrap-tools=TOOL_LIST
76243               a comma-separated list of tools, e.g.,
76244               autoconf,automake,bison,gnulib
76245         --gnulib-snapshot-date=DATE
76246               if gnulib is in the bootstrap tool list,
76247               then report this as the snapshot date.
76248               If not specified, use the current date/time.
76249               If you specify a date here, be sure it's UTC.
76250
76251 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76252
76253         * tests/test-argp-2.sh: Fix test to match actual output.
76254         (func_compare): Fix sed script to be portable.
76255
76256 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
76257
76258         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
76259         workaround for this case.  It is not autoconfigured now; offhand
76260         it's hard to see how to autoconfigure it.
76261
76262 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
76263
76264         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
76265         a directory that is about to be chowned.  Such a directory's
76266         initial file permissions should permit the owner only and this
76267         should not be changed until after the chown, since the group and
76268         other bits would be incorrect if they granted permission before
76269         the chown.
76270
76271         Fix porting problem for iswctype reported by Georg Schwarz in:
76272         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
76273         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
76274         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
76275         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
76276         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
76277
76278 2006-12-03  Jim Meyering  <jim@meyering.net>
76279
76280         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
76281         p->fts_statp may not yet be defined.
76282         (fts_read): Instead, set it in the caller, once p->fts_statp is
76283         sure to be defined, and corresponds to a top-level directory.
76284         This bug made du -x fail.  Here's the coreutils test case:
76285         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
76286         Reported by Mike Frysinger.
76287
76288 2006-12-01  Jim Meyering  <jim@meyering.net>
76289
76290         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
76291         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
76292         Reported by Simon Josefsson.
76293
76294 2006-11-30  Jim Meyering  <jim@meyering.net>
76295
76296         * m4/warning.m4: Use the all-permissive copyright notice
76297         recommended by RMS (rather than LGPL).
76298         * m4/vararrays.m4: Likewise.
76299         * m4/flexmember.m4: Likewise.
76300
76301 2006-11-29  Bruno Haible  <bruno@clisp.org>
76302
76303         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
76304         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
76305         using +=.
76306         Reported by Simon Josefsson <simon@josefsson.org>.
76307
76308 2006-11-28  James Youngman <jay@gnu.org>
76309
76310         * README: Advise users that they might find the bug-gnulib@gnu.org
76311         and autotools-announce@gnu.org mailing lists useful.
76312
76313 2006-11-28  Bruno Haible  <bruno@clisp.org>
76314
76315         * m4/ptrdiff_max.m4: Remove file.
76316
76317 2006-11-21  Bruno Haible  <bruno@clisp.org>
76318
76319         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
76320         _AC_COMPUTE_INT.
76321         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
76322         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
76323         _AC_COMPUTE_INT.
76324         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
76325         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
76326         _AC_COMPUTE_INT.
76327         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
76328
76329 2006-11-28  Jim Meyering  <jim@meyering.net>
76330
76331         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
76332         warning from "gcc -Wshadow" about shadowing the builtin.
76333
76334 2006-11-27  Bruno Haible  <bruno@clisp.org>
76335
76336         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
76337         _AC_COMPUTE_INT.
76338         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
76339
76340 2006-11-27  Bruno Haible  <bruno@clisp.org>
76341             Paul Eggert  <eggert@cs.ucla.edu>
76342
76343         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
76344
76345 2006-11-26  Bruno Haible  <bruno@clisp.org>
76346
76347         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
76348         noinst_LTLIBRARIES.
76349
76350 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
76351             Bruno Haible  <bruno@clisp.org>
76352
76353         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
76354         if compiling with "gcc -ansi".
76355
76356 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
76357
76358         Fix some incompatibilities with gcc -ansi -pedantic.
76359         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
76360         if compiling pedantically with GCC, unless it's C99 or later.
76361         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
76362         it mishandles gcc -ansi -pedantic as well.
76363         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
76364         if gcc -pedantic.
76365         * lib/regexec.c (check_node_accept_bytes): Don't use auto
76366         initializers for struct if -pedantic, unless it's C99 or later.
76367
76368 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
76369
76370         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
76371         Don't close an fd more than once. Identical atimes indicate
76372         success, not failure.
76373
76374 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
76375
76376         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
76377
76378 2006-11-23  Jim Meyering  <jim@meyering.net>
76379
76380         * build-aux/announce-gen: New file.  From coreutils.
76381
76382 2006-11-22  Jim Meyering  <jim@meyering.net>
76383
76384         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
76385         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
76386         (fts_read): Use a temporary to narrow the overused st_size member
76387         before using it in a switch statement.  Reported by Matthew Woehlke.
76388
76389         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
76390         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
76391
76392 2006-11-20  Bruno Haible  <bruno@clisp.org>
76393
76394         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
76395         changequote instead of pairs of brackets.
76396         Reported by Andreas Schwab <schwab@suse.de>.
76397
76398 2006-11-21  Jim Meyering  <jim@meyering.net>
76399
76400         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
76401         so as to remain compatible with older compilers.
76402         Patch from Michael Deutschmann.
76403
76404 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
76405
76406         * MODULES.html.sh (File system functions): Add openat.
76407
76408         * lib/openat.h (rpl_fstatat): New macro, if
76409         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
76410         (fstatat): Define to rpl_fstatat under the same conditions,
76411         unless COMPILING_FSTATAT.
76412         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
76413         seems to have the bug.
76414         * lib/fstatat.c: New file.
76415         * modules/openat (Files): Add it.
76416
76417 2006-11-20  Bruno Haible  <bruno@clisp.org>
76418
76419         * Makefile: New file.
76420
76421 2006-11-20  Jim Meyering  <jim@meyering.net>
76422
76423         The beginnings of syntax-related checks for gnulib.
76424         * lib/Makefile: New file.
76425         * lib/t-idcache: New script.  Ensure that the two halves of
76426         idcache.c stay in sync.
76427
76428         * lib/idcache.c: Adjust comments in user- and group- portions to
76429         be more accurate, and to be consistent with one another.
76430
76431 2006-11-20  Jim Meyering  <jim@meyering.net>
76432
76433         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
76434         continue using the flexible array member (thus, this module performs
76435         half as many malloc calls), with the addition that...
76436         (getgroup, getuser): Consistently record a non-match via an empty
76437         "name" string, and map an empty string match to a NULL return value.
76438         * modules/idcache (Depends-on): Re-add flexmember.
76439
76440         * lib/idcache.c (getuser): Remove all uses of the register keyword.
76441         (getuidbyname, getgroup, getgidbyname): Likewise.
76442
76443         Use cleaner syntax: NULL rather than 0.
76444         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
76445
76446 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
76447
76448         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
76449         It mishandled the case where the group was missing.
76450         Problem reported by Greg Schafer.
76451         * modules/idcache: Likewise.
76452
76453 2006-11-18  Jim Meyering  <jim@meyering.net>
76454
76455         * check-module (%exempt_header): Add exception for some
76456         conditionally-included headers.
76457
76458         * modules/i-ring (Depends-on): Add verify.
76459         (License): Change to LGPL.
76460
76461 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
76462
76463         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
76464         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
76465         and inttostr.h.  Use snprintf rather than uinttostr, so that
76466         LGPLed code doesn't depend on GPLed.
76467
76468 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
76469
76470         * modules/inline (License): Change from GPL to LGPL.
76471
76472 2006-11-17  Jim Meyering  <jim@meyering.net>
76473
76474         * modules/d-type (License): Switch to LGPL.
76475
76476 2006-11-15  Bruno Haible  <bruno@clisp.org>
76477
76478         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
76479
76480 2006-11-15  Eric Blake  <ebb9@byu.net>
76481
76482         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
76483         the module dependency.
76484
76485 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76486             Bruno Haible  <bruno@clisp.org>
76487
76488         * gnulib-tool (func_create_testdir): Add license consistency check.
76489
76490 2006-11-15  Eric Blake  <ebb9@byu.net>
76491
76492         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
76493         random "(cached)" in configure output.
76494
76495 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76496
76497         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
76498         test for conforming inttypes.h is both announced and cached.
76499
76500         * MODULES.html.sh (seen_modules, seen_files): New variables.
76501         (func_module): Rewrite to use a few less gnulib-tool and sed
76502         invocations.  Avoid a couple of quadratic algorithms for ...
76503         (missed_modules, missed_files): ... these, with ...
76504         (func_append, func_tmpdir): ... these new functions, from
76505         gnulib-tool.  Analogously, install traps for cleanup.
76506
76507         * tests/test-gc.c (main): Remove unused variables.
76508         * tests/test-read-file.c: Include stdlib.h, for 'free'.
76509
76510 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
76511
76512         * modules/inttostr (License): Change to LGPL.
76513
76514 2006-11-14  Eric Blake  <ebb9@byu.net>
76515
76516         * modules/tempname (License): Change to LGPL.
76517
76518 2006-11-14  Eric Blake  <ebb9@byu.net>
76519
76520         * doc/functions.texi (Function Portability): *printf functions on
76521         Cygwin now understand all POSIX size specifiers.
76522
76523 2006-11-14  Bruno Haible  <bruno@clisp.org>
76524
76525         * modules/c-ctype (License): Change to LGPL.
76526
76527 2006-11-12  Bruno Haible  <bruno@clisp.org>
76528
76529         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
76530         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
76531         for GNOME libraries, for which the include files are installed in
76532         subdirectories of $prefix/include.
76533
76534 2006-11-12  Bruno Haible  <bruno@clisp.org>
76535
76536         * m4/lib-link.m4: Require at least autoconf-2.54.
76537         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
76538         name to underscores for the --with option.
76539
76540 2006-11-13  Bruno Haible  <bruno@clisp.org>
76541
76542         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
76543         the tests directory.
76544         Reported by Ralf Wildenhues.
76545
76546 2006-11-13  Bruno Haible  <bruno@clisp.org>
76547
76548         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
76549         (func_emit_initmacro_end): Undo the override here.
76550         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
76551         Works around the famous automake error in coreutils.
76552
76553 2006-11-13  Eric Blake  <ebb9@byu.net>
76554
76555         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
76556         element, not its node.
76557
76558 2006-11-12  Bruno Haible  <bruno@clisp.org>
76559
76560         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
76561         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
76562
76563 2006-11-12  Bruno Haible  <bruno@clisp.org>
76564
76565         * gnulib-tool: New option --local-symlink.
76566         (func_usage): Document it.
76567         (lsymbolic): New variable.
76568         (func_import, func_create_testdir): If --symlink was not specified,
76569         test whether --local-symlink was specified and the file comes from
76570         the local_gnulib_dir.
76571
76572 2006-11-12  Bruno Haible  <bruno@clisp.org>
76573
76574         * gnulib-tool (func_ln): New function.
76575         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
76576
76577 2006-11-12  Bruno Haible  <bruno@clisp.org>
76578
76579         Finish support for source files in subdirectories.
76580         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
76581         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
76582         AUTOMAKE_OPTIONS.
76583         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
76584
76585 2006-11-12  Bruno Haible  <bruno@clisp.org>
76586
76587         * gnulib-tool (func_get_automake_snippet): Synthesize also an
76588         EXTRA_lib_SOURCES augmentation.
76589         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
76590
76591 2006-11-12  Jim Meyering  <jim@meyering.net>
76592
76593         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
76594         file descriptors.  This also averts a failure on systems with
76595         native openat support when a traversed directory lacks "x" access.
76596         * lib/fts_.h: Include "i-ring.h"
76597         (struct FTS) [fts_fd_ring]: New member.
76598         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
76599         (FCHDIR): Add parentheses.
76600         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
76601         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
76602         When descending, rather than simply closing the previous
76603         fts_cwd_fd value, push that file descriptor onto the ring.
76604         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
76605         (fts_open): Initialize the new fd_ring member.
76606         (fts_close): Clear the ring.
76607         (fts_safe_changedir): When possible, use our new fd_ring to skip
76608         the diropen and fstat and dev/ino comparison that would normally
76609         accompany a virtual `chdir ("..")'.
76610
76611         * modules/fts (Depends-on): Add i-ring.
76612         * modules/i-ring: New module.
76613         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
76614         * m4/i-ring.m4: New file.
76615
76616 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76617
76618         * gnulib-tool (func_create_testdir): Fix replacement of
76619         `build-aux' in configure.ac.  Run autotools in gltests
76620         subdirectory.
76621         (func_create_testdir, func_create_megatestdir, test): There is
76622         no need for '--force' in most autotool invocations in a new
76623         tree.  Actually fail the whole test if any of the tools, or the
76624         configure or make stages fail.
76625
76626         Sync from Automake.
76627         * build-aux/gnupload: Revert last change.  Add pointer to upload
76628         instructions of the GNU Maintenance Instructions.
76629         Suggestion by Karl Berry.
76630
76631 2006-11-10  Jim Meyering  <jim@meyering.net>
76632
76633         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
76634
76635 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
76636
76637         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
76638         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
76639         (bind_textdomain_codeset) [! ENABLE_NLS]:
76640         Evaluate all the arguments.  That way, callers get compatible behavior
76641         if the arguments have side effects.  Also, it avoids some GCC
76642         diagnostics in some cases; Joel E. Denny reported problems when Bison
76643         was configured with --enable-gcc-warnigs.
76644
76645 2006-11-10  Jim Meyering  <jim@meyering.net>
76646
76647         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
76648         relevant options in CFLAGS (like -O, -fno-inline) are taken into
76649         account.
76650
76651 2006-11-10  Jim Meyering  <jim@meyering.net>
76652
76653         * modules/inline: New file/module.
76654         * modules/xalloc (Files): Remove m4/inline.m4.
76655         (Depends-on): Add inline, instead.
76656         * modules/oset: Likewise.
76657         * modules/list: Likewise.
76658
76659 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
76660
76661         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
76662         Problem reported by Matthew Woehlke.
76663
76664 2006-11-09  Bruno Haible  <bruno@clisp.org>
76665
76666         * lib/tempname.c (gen_tempname): Remove variant that invokes
76667         __gen_tempname.
76668         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
76669         __gen_tempname.
76670
76671 2006-11-08  Bruno Haible  <bruno@clisp.org>
76672
76673         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
76674         to 'yes' instead of 'cross-compiling'.
76675
76676 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
76677
76678         * lib/quotearg.h (quotearg_free): New decl.
76679         * lib/quotearg.c (quotearg_free): New function.
76680         (slot0, nslots, slotvec0, slotvec):
76681         Now file-scope so that quotearg_free can get at them.
76682
76683 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76684
76685         Sync from Automake.
76686         * build-aux/gnupload: Add missing 'gnu' to example URL.
76687         Report by Karl Berry.
76688
76689 2006-11-08  Bruno Haible  <bruno@clisp.org>
76690
76691         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
76692         Suggested by Paul Eggert.
76693
76694 2006-11-08  Jim Meyering  <jim@meyering.net>
76695
76696         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
76697         It's already included if !_LIBC.
76698         (fts_safe_changedir): Add a comment.
76699
76700 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
76701
76702         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
76703         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
76704         Matthew Woehlke.
76705
76706         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
76707         definitions up, to avoid colliding with change below.
76708         (static_inline) [HAVE_INLINE]: New macro.
76709         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
76710         Provide extern decls when !HAVE_INLINE.  Do not define unless
76711         static_inline is defined, either by us or by xmalloc.c.  Use
76712         static_inline rather than static inline.
76713         (XCALLOC): Optimize sizeof(T) = 1 case.
76714         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
76715
76716 2006-11-07  Bruno Haible  <bruno@clisp.org>
76717
76718         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
76719         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
76720         AC_C_INLINE.
76721         * modules/xalloc (Files): Add m4/inline.m4.
76722
76723 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76724
76725         * README: Fix typo.
76726         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
76727         (Miscellanous Notes): ...from this.
76728
76729 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
76730
76731         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
76732         Mention that offsetof should be used instead of sizeof.
76733         From Bruno Haible.
76734
76735 2006-11-07  Bruno Haible  <bruno@clisp.org>
76736
76737         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
76738
76739 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76740
76741         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76742         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
76743         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
76744         (gl_tree_add_before, gl_tree_add_after):
76745         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
76746         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
76747         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
76748         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
76749         (gl_linked_add_after, gl_linked_add_at): Likewise.
76750         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
76751         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
76752         (gl_tree_add_before, gl_tree_add_after): Likewise.
76753         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
76754         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
76755         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
76756
76757 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76758
76759         * lib/gl_oset.h: Use C comment style, not C++ comment style.
76760
76761 2006-11-06  Bruno Haible  <bruno@clisp.org>
76762
76763         * m4/inline.m4: New file.
76764         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
76765         * modules/list (Files): Add m4/inline.m4.
76766         * modules/oset (Files): Likewise.
76767
76768 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76769
76770         * lib/idcache.c: Include <stddef.h>, for offsetof.
76771         (struct userid.name): Change from char * to a flexible array member.
76772         All uses changed.
76773         * modules/idcache (Depends-on): Add flexmember.
76774
76775         * MODULES.html.sh (Core language properties): New module flexmember.
76776         * modules/flexmember, m4/flexmember.m4: New files.
76777
76778         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
76779         inline functions that are identical with the old xnmalloc_inline,
76780         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
76781         that we can avoid some unnecessary integer multiplications and
76782         divisions in the common case where the element size is known at
76783         compile time.
76784         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
76785         needed.
76786         (xnboundedmalloc): Remove.
76787         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
76788         arguments, for consistency with rest of this header.
76789         (xcharalloc): Rewrite using XNMALLOC.
76790         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
76791         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
76792         versions have been moved to lib/xalloc.h and renamed to be the
76793         non-*_inline versions.
76794         (xmalloc, xrealloc): Implement without reference to the xnmalloc
76795         and xnrealloc functions, since those functions are now inline and
76796         now call us.
76797         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
76798         renaming described above.
76799         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
76800         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
76801         captures the dependency in AC_C_INLINE.
76802
76803         New module canonicalize-lgpl, proposed by Charles Wilson in
76804         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
76805         with a few small changes afterwards.
76806         * MODULES.html.sh (File system functions): New module
76807         canonicalize-lgpl.
76808         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
76809         and canonicalize_file_name.
76810         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
76811         * modules/canonicalize-lgpl: New files.
76812
76813 2006-11-05  Bruno Haible  <bruno@clisp.org>
76814
76815         * gnulib-tool (func_import, func_create_testdir): Create directories
76816         also for files in subdirectories of lib/.
76817
76818 2006-11-05  Bruno Haible  <bruno@clisp.org>
76819
76820         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
76821         ANSI C compliant.
76822
76823 2006-11-03  Bruno Haible  <bruno@clisp.org>
76824
76825         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76826         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
76827         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
76828         (xnboundedmalloc): New inline function.
76829         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
76830         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
76831         xmalloc.
76832         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
76833         xmalloc.
76834         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
76835         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
76836         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
76837         xmalloc.
76838         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76839         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
76840         xmalloc.
76841         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
76842         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76843         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
76844         xmalloc.
76845         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76846         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
76847         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76848         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
76849         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
76850         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
76851         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
76852
76853 2006-11-03  Bruno Haible  <bruno@clisp.org>
76854
76855         * lib/c-ctype.h [C++]: Define functions without name mangling.
76856         * lib/fwriteerror.h [C++]: Likewise.
76857         * lib/gcd.h [C++]: Likewise.
76858         * lib/linebreak.h [C++]: Likewise.
76859
76860 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
76861
76862         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
76863         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
76864         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
76865         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
76866         Check for functions and headers just once.
76867         Check for declaration of canonicalize_file_name.
76868         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
76869
76870 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76871
76872         * gnulib-tool (func_import): Fix typo in actioncmd.
76873
76874 2006-11-02  Bruno Haible  <bruno@clisp.org>
76875
76876         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
76877         newline sequence in the Makefile.am snippet as a space, like "make"
76878         does.
76879         Reported by Roger Persson <perrog@gmail.com>.
76880
76881 2006-11-01  Bruno Haible  <bruno@clisp.org>
76882
76883         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
76884         already declared in <string.h>.
76885         * lib/strcase.h (strncasecmp): Don't declare it if yes.
76886
76887 2006-11-01  Bruno Haible  <bruno@clisp.org>
76888
76889         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
76890         * lib/strcase.h: Include <string.h>.
76891         (strcasecmp): Define to rpl_strcasecmp here.
76892
76893 2006-11-01  Bruno Haible  <bruno@clisp.org>
76894
76895         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
76896
76897 2006-11-01  Eric Blake  <ebb9@byu.net>
76898
76899         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
76900
76901         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
76902
76903 2006-10-29  Bruno Haible  <bruno@clisp.org>
76904
76905         Make it compile in C++ mode.
76906         * lib/full-write.c (full_rw): Add a cast.
76907
76908 2006-11-01  Bruno Haible  <bruno@clisp.org>
76909
76910         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
76911         be POSIX compliant.
76912         Reported by Roger Persson <perrog@gmail.com>.
76913
76914 2006-11-01  Eric Blake  <ebb9@byu.net>
76915
76916         * lib/getopt_.h: Fix comments.
76917
76918 2006-10-31  Eric Blake  <ebb9@byu.net>
76919
76920         * modules/tmpdir (Depends-on): Add sys_stat.
76921         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
76922         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
76923         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
76924         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
76925         tempname.
76926
76927 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
76928
76929         Avoid some C++ diagnostics reported by Bruno Haible.
76930         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
76931         xmalloc.
76932         (quotearg_alloc): Use xcharalloc rather than xmalloc.
76933         (struct slotvec): Move to top level.
76934         (quotearg_n_options): Rewrite to avoid xmalloc.
76935         * lib/xalloc.h (xcharalloc): New function.
76936         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
76937         [defined __cplusplus]: Add function template that provides result
76938         type propagation.  This part of the change is from Bruno Haible.
76939
76940 2006-10-29  Bruno Haible  <bruno@clisp.org>
76941
76942         Make it compile in C++ mode.
76943         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
76944         * lib/strnlen1.c (strnlen1): Cast memchr result.
76945         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
76946         * lib/clean-temp.c (string_equals, string_hash): Add casts.
76947         (create_temp_dir): Rename local variable 'template'.
76948         (compile_csharp_using_sscli): Add cast.
76949         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
76950         * lib/findprog.c (find_in_path): Likewise.
76951         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
76952         * lib/wait-process.c (register_slave_subprocess): Likewise.
76953
76954 2006-10-22  Bruno Haible  <bruno@clisp.org>
76955
76956         * modules/tsearch: New file.
76957         * lib/tsearch.h: New file.
76958         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
76959         * m4/tsearch.m4: New file.
76960         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
76961
76962 2006-10-29  Eric Blake  <ebb9@byu.net>
76963
76964         * lib/arcfour.c: Assume config.h.
76965         * lib/arctwo.c: Likewise.
76966         * lib/base64.c: Likewise.
76967         * lib/check-version.c: Likewise.
76968         * lib/crc.c: Likewise.
76969         * lib/des.c: Likewise.
76970         * lib/gc-gnulib.c: Likewise.
76971         * lib/gc-libgcrypt.c: Likewise.
76972         * lib/gc-pbkdf2-sha1.c: Likewise.
76973         * lib/getaddrinfo.c: Likewise.
76974         * lib/getdelim.c: Likewise.
76975         * lib/getline.c: Likewise.
76976         * lib/hmac-md5.c: Likewise.
76977         * lib/hmac-sha1.c: Likewise.
76978         * lib/iconvme.c: Likewise.
76979         * lib/md2.c: Likewise.
76980         * lib/md4.c: Likewise.
76981         * lib/memxor.c: Likewise.
76982         * lib/read-file.c: Likewise.
76983         * lib/readline.c: Likewise.
76984         * lib/rijndael-alg-fst.c: Likewise.
76985         * lib/rijndael-api-fst.c: Likewise.
76986         * lib/xgetdomainname.c: Likewise.
76987
76988 2006-10-28  Eric Blake  <ebb9@byu.net>
76989
76990         * lib/xstrndup.c: Assume config.h.
76991
76992 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
76993
76994         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
76995         stat-macros.h is now for our own macros, whereas stat_h is for
76996         macros in the <sys/stat.h> name space.
76997         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
76998         (STAT_MACROS_H): Remove.
76999         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
77000         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
77001         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
77002         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
77003         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
77004         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
77005         Move these macros to ...
77006         * lib/stat_.h: here.  Don't include stat-macros.h.
77007         * lib/canonicalize.c: Don't include stat-macros.h.
77008         * lib/chown.c: Likewise.
77009         * lib/euidaccess.c: Likewise.
77010         * lib/file-type.c: Likewise.
77011         * lib/filemode.c: Likewise.
77012         * lib/glob.c: Likewise.
77013         * lib/isapipe.c: Likewise.
77014         * lib/lchown.c: Likewise.
77015         * lib/lstat.c: Likewise.
77016         * lib/mkdir-p.c: Likewise.
77017         * lib/rmdir.c: Likewise.
77018         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
77019         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
77020         unless mkdir isn't declared, to speed up 'configure'.
77021         Always create sys/stat.h, since it's unlikely any real sys/stat.h
77022         would define all the S_* symbols.
77023         * modules/canonicalize (Depends-on):
77024         Depend on sys_stat, not stat-macros.
77025         * modules/chown: Likewise.
77026         * modules/euidaccess: Likewise.
77027         * modules/filemode: Likewise.
77028         * modules/file-type: Likewise.
77029         * modules/glob: Likewise.
77030         * modules/isapipe: Likewise.
77031         * modules/lchown: Likewise.
77032         * modules/lstat: Likewise.
77033         * modules/mkancesdirs: Likewise.
77034         * modules/rmdir: Likewise.
77035         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
77036         * modules/modechange: Likewise.
77037         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
77038         (configure.ac): Remove gl_STAT_MACROS.
77039         * modules/sys_stat (Depends-on): Remove stat-macros.
77040
77041 2006-10-27  Bruno Haible  <bruno@clisp.org>
77042
77043         * m4/signed.m4: Remove file.
77044         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
77045         invocation.
77046         * modules/vasnprintf (Files): Remove m4/signed.m4.
77047
77048 2006-10-27  Bruno Haible  <bruno@clisp.org>
77049
77050         Update to GNU gettext 0.16.
77051         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
77052         m4/inttypes-h.m4, m4/signed.m4.
77053         * m4/gettext.m4: Update to GNU gettext 0.16.
77054         * m4/intl.m4: New file, from GNU gettext.
77055         * m4/intldir.m4: New file, from GNU gettext.
77056         * config/srclist.txt: Update
77057
77058 2006-10-27  Eric Blake  <ebb9@byu.net>
77059
77060         * MODULES.html.sh: Document tempname.
77061         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
77062         dependencies.
77063         (Files): Move lib/tempname.c...
77064         * modules/tempname: ...to this new module.
77065         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
77066         (gl_PREREQ_TEMPNAME): Move...
77067         * m4/tempname.m4: ...to this new file.
77068         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
77069         * modules/sys_stat (Depends-on): Add stat-macros.
77070         * lib/stat_.h (includes): Pick up stat macros.
77071         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
77072         if stat macros are broken.
77073         * lib/tempname.c (includes): No need to include "stat-macros.h".
77074         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
77075         (direxists, __path_search) [!_LIBC]: Don't compile these in
77076         gnulib; the tmpdir module covers that.
77077         * lib/tempname.h: New file.
77078
77079 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
77080
77081         * COPYING: Explain how gnulib-tool converts licence headers.
77082         Almost all wording by Eric Blake.
77083
77084 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
77085
77086         * lib/mbchar.h (is_basic_table): Make read-only.
77087         * lib/mbchar.c (is_basic_table): Likewise.
77088         Reported by John Darrington.
77089
77090 2006-10-25  Bruno Haible  <bruno@clisp.org>
77091
77092         * lib/progname.h (set_program_name): Undefine before defining.
77093
77094 2006-10-25  Bruno Haible  <bruno@clisp.org>
77095
77096         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
77097         false for non-gcc C++ compilers.
77098         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
77099
77100 2006-10-24  Bruno Haible  <bruno@clisp.org>
77101
77102         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
77103         iconv implementations like Irix iconv.
77104
77105 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
77106
77107         * modules/vararrays: New file.
77108         * m4/vararrays.m4: New file, taken from diffutils.
77109         * MODULES.html.sh: New module vararrays.
77110
77111 2006-10-24  Karl Berry  <karl@gnu.org>
77112
77113         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
77114         Don't call GNU Unix.
77115
77116 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77117
77118         * users.txt: Add Libtool.
77119
77120         Sync from Libtool:
77121
77122         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
77123
77124         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
77125         to gnulib's policy of including config.h unconditionally.
77126
77127 2006-10-24  Bruno Haible  <bruno@clisp.org>
77128
77129         * modules/wcwidth (Files): Add m4/wint_t.m4.
77130         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
77131         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
77132
77133 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
77134
77135         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
77136         to pacify GCC with some -W flags enabled.  Problem reported by
77137         Bruno Haible.
77138
77139 2006-10-24  Jim Meyering  <jim@meyering.net>
77140
77141         * MODULES.html.sh: Remove uinttostr.  It's not a module.
77142         Reported by Karl Berry.
77143
77144 2006-10-23  Bruno Haible  <bruno@clisp.org>
77145
77146         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
77147
77148 2006-10-24  Bruno Haible  <bruno@clisp.org>
77149
77150         * lib/gl_list.h: Use C comment style, not C++ comment style.
77151
77152 2006-10-23  Eric Blake  <ebb9@byu.net>
77153
77154         * lib/getaddrinfo.c (includes): Add missing include.
77155
77156 2006-10-23  Bruno Haible  <bruno@clisp.org>
77157             Paul Eggert  <eggert@cs.ucla.edu>
77158
77159         Ability to rename obstack_free.
77160         * lib/obstack.h (__obstack_free): New macro. Declare instead of
77161         obstack_free.
77162         (obstack_free): Invoke the __obstack_free macro.
77163         * lib/obstack.c (obstack_free): Use __obstack_free macro.
77164
77165 2006-10-23  Bruno Haible  <bruno@clisp.org>
77166             Paul Eggert  <eggert@cs.ucla.edu>
77167
77168         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
77169         __argc, __argv from the declaration. (They are defined as macros on
77170         mingw.)
77171
77172 2006-10-22  Bruno Haible  <bruno@clisp.org>
77173
77174         * doc/gnulib-intro.texi: New file.
77175         * doc/gnulib.texi: Include it.
77176
77177 2006-10-21  Bruno Haible  <bruno@clisp.org>
77178
77179         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
77180         "Introduction", "Miscellanous Notes", "Particular Modules".
77181
77182 2006-10-21  Bruno Haible  <bruno@clisp.org>
77183
77184         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77185         Change mostlyclean-local rule to avoid sh syntax error from bash
77186         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
77187
77188 2006-10-23  Jim Meyering  <jim@meyering.net>
77189
77190         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
77191         in place of snprintf.
77192
77193         * modules/inttostr (Files): Add lib/uinttostr.c.
77194         * lib/uinttostr.c (inttostr): New file/function.
77195         * lib/inttostr.h (uinttostr): Declare.
77196         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
77197         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
77198         Add uinttostr.
77199         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
77200
77201 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
77202
77203         * lib/canonicalize.c (ELOOP): Define if not already defined.
77204         Problem reported by Bruno Haible in
77205         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
77206
77207 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
77208
77209         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
77210         Problem reported by Perry Smith and Ville Laurikari.
77211
77212         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
77213         uses.
77214
77215 2006-10-19  Bruno Haible  <bruno@clisp.org>
77216
77217         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
77218         for mingw.
77219
77220 2006-10-19  Bruno Haible  <bruno@clisp.org>
77221
77222         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
77223         Needed for mingw.
77224
77225 2006-10-19  Bruno Haible  <bruno@clisp.org>
77226
77227         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
77228
77229 2006-10-19  Bruno Haible  <bruno@clisp.org>
77230
77231         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
77232         it.
77233
77234 2006-10-19  Bruno Haible  <bruno@clisp.org>
77235
77236         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
77237         invocation.
77238
77239 2006-10-19  Bruno Haible  <bruno@clisp.org>
77240
77241         * gnulib-tool (func_create_testdir): Don't include ftruncate and
77242         mountlist by default.
77243
77244 2006-10-16  Bruno Haible  <bruno@clisp.org>
77245
77246         * lib/c-strstr.c: Include c-strstr.h.
77247
77248 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
77249
77250         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
77251         in a slash.
77252
77253 2006-10-18  Bruno Haible  <bruno@clisp.org>
77254
77255         * lib/lock.h [C++]: Wrap definitions in extern "C".
77256
77257 2006-10-18  Bruno Haible  <bruno@clisp.org>
77258
77259         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
77260         gl_LIBOBJS list.
77261
77262 2006-10-18  Bruno Haible  <bruno@clisp.org>
77263
77264         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
77265
77266 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
77267
77268         * lib/xstrtol.h: Include gettext.h.
77269         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
77270         Problem reported by Eric Blake.
77271         * modules/xstrtol (Depends-on): Add gettext-h.
77272
77273 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
77274
77275         * lib/strftime.c (advance): New macro.
77276         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
77277         incomplete type, so you can't add 0 to it.  Problem and patch
77278         reported by Eelco Dolstra for dietlibc.
77279
77280 2006-10-18  Jim Meyering  <jim@meyering.net>
77281
77282         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
77283         type for a local, and rename it: s/up/user_proc/.
77284
77285 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
77286
77287         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
77288         READ_UTMP_USER_PROCESS.
77289         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
77290
77291 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
77292
77293         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
77294         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
77295
77296 2006-10-17  Eric Blake  <ebb9@byu.net>
77297
77298         * lib/sigprocmask.c (sigprocmask): Fix typo.
77299
77300         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
77301
77302         * modules/clean-temp (Makefile.am): Don't add to make output...
77303         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
77304         config.h.
77305
77306 2006-10-17  Bruno Haible  <bruno@clisp.org>
77307
77308         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
77309         differently if DEFAULT_TEXT_DOMAIN is set.
77310
77311 2006-10-16  Bruno Haible  <bruno@clisp.org>
77312
77313         * lib/clean-temp.c: Include fwriteerror.h.
77314
77315 2006-10-16  Bruno Haible  <bruno@clisp.org>
77316
77317         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
77318
77319 2006-10-16  Bruno Haible  <bruno@clisp.org>
77320
77321         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
77322         * lib/sigprocmask.h: Include <sys/types.h>.
77323         (sigset_t): Use the system's definition if present.
77324
77325 2006-10-17  Eric Blake  <ebb9@byu.net>
77326
77327         * lib/xvasprintf.c (includes): Assume config.h.
77328         * lib/xasprintf.c (includes): Likewise.
77329
77330 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
77331
77332         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
77333         at least as wide as intmax_t.
77334
77335 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
77336
77337         (Imported from Automake.)
77338         * build-aux/gnupload: Update to version 1.1 of directive file.
77339
77340 2006-10-16  Eric Blake  <ebb9@byu.net>
77341
77342         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
77343         match Automake 1.10a.
77344
77345 2006-10-14  Bruno Haible  <bruno@clisp.org>
77346
77347         * modules/sigprocmask: New file.
77348         * lib/sigprocmask.h: New file.
77349         * lib/sigprocmask.c: New file.
77350         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
77351         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
77352         request sigprocmask.o.
77353         (gl_PREREQ_SIGPROCMASK): New macro.
77354         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
77355         (Depends-on): Add sigprocmask.
77356         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
77357         gt_SIGNALBLOCKING. Test for 'raise' only once.
77358         * lib/fatal-signal.c: Include sigprocmask.h.
77359         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
77360         unblock_fatal_signals): Define always.
77361         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
77362         sigprocmask.
77363
77364 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
77365
77366         Sync from Automake.
77367         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
77368         which incorrectly sets the mode of an existing destination
77369         directory.  In some cases the unpatched install-sh could do the
77370         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
77371         system.  We hope this is rare in practice, but it's clearly worth
77372         fixing.  Problem reported by Alex Unleashed in
77373         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
77374         Also, don't bother to check for -m bugs unless we're using -m;
77375         suggested by Stepan Kasal.
77376
77377 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77378
77379         Sync from Automake.
77380         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
77381         `-c' flag, so they appear at the same position as in %FASTDEP%
77382         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
77383         which ignores unknown options only after the first non-option.
77384         Bug report against M4 by Nelson H. F. Beebe.
77385
77386 2006-10-13  Jim Meyering  <jim@meyering.net>
77387
77388         Fix a bug in yesterday's change.
77389         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
77390         p->fts_statp->st_dev would be used uninitialized.
77391         Ensures that we always call fts_stat on the very first entry.
77392         Miklos Szeredi reported that find -xdev stopped working.
77393
77394 2006-10-12  Bruno Haible  <bruno@clisp.org>
77395
77396         * gnulib-tool (func_get_automake_snippet): Append an automatically
77397         computed EXTRA_DIST augmentation.
77398         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
77399         * modules/alloca-opt (Makefile.am): Likewise.
77400         * modules/allocsa (Makefile.am): Likewise.
77401         * modules/arcfour (Makefile.am): Likewise.
77402         * modules/arctwo (Makefile.am): Likewise.
77403         * modules/argmatch (Makefile.am): Likewise.
77404         * modules/argz (Makefile.am): Likewise.
77405         * modules/atexit (Makefile.am): Likewise.
77406         * modules/backupfile (Makefile.am): Likewise.
77407         * modules/byteswap (Makefile.am): Likewise.
77408         * modules/c-strtod (Makefile.am): Likewise.
77409         * modules/c-strtold (Makefile.am): Likewise.
77410         * modules/calloc (Makefile.am): Likewise.
77411         * modules/canon-host (Makefile.am): Likewise.
77412         * modules/canonicalize (Makefile.am): Likewise.
77413         * modules/chdir-long (Makefile.am): Likewise.
77414         * modules/chdir-safer (Makefile.am): Likewise.
77415         * modules/check-version (Makefile.am): Likewise.
77416         * modules/chown (Makefile.am): Likewise.
77417         * modules/cloexec (Makefile.am): Likewise.
77418         * modules/close-stream (Makefile.am): Likewise.
77419         * modules/closeout (Makefile.am): Likewise.
77420         * modules/crc (Makefile.am): Likewise.
77421         * modules/csharpexec (Makefile.am): Likewise.
77422         * modules/cycle-check (Makefile.am): Likewise.
77423         * modules/des (Makefile.am): Likewise.
77424         * modules/dev-ino (Makefile.am): Likewise.
77425         * modules/dirfd (Makefile.am): Likewise.
77426         * modules/dirname (Makefile.am): Likewise.
77427         * modules/dup2 (Makefile.am): Likewise.
77428         * modules/eealloc (Makefile.am): Likewise.
77429         * modules/error (Makefile.am): Likewise.
77430         * modules/euidaccess (Makefile.am): Likewise.
77431         * modules/exclude (Makefile.am): Likewise.
77432         * modules/exitfail (Makefile.am): Likewise.
77433         * modules/fcntl-safer (Makefile.am): Likewise.
77434         * modules/fcntl (Makefile.am): Likewise.
77435         * modules/file-type (Makefile.am): Likewise.
77436         * modules/fileblocks (Makefile.am): Likewise.
77437         * modules/filemode (Makefile.am): Likewise.
77438         * modules/filenamecat (Makefile.am): Likewise.
77439         * modules/fnmatch (Makefile.am): Likewise.
77440         * modules/fopen-safer (Makefile.am): Likewise.
77441         * modules/fpending (Makefile.am): Likewise.
77442         * modules/fprintftime (Makefile.am): Likewise.
77443         * modules/free (Makefile.am): Likewise.
77444         * modules/fsusage (Makefile.am): Likewise.
77445         * modules/ftruncate (Makefile.am): Likewise.
77446         * modules/fts (Makefile.am): Likewise.
77447         * modules/gc-arcfour (Makefile.am): Likewise.
77448         * modules/gc-des (Makefile.am): Likewise.
77449         * modules/gc-hmac-md5 (Makefile.am): Likewise.
77450         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
77451         * modules/gc-md4 (Makefile.am): Likewise.
77452         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
77453         * modules/gc-sha1 (Makefile.am): Likewise.
77454         * modules/gc (Makefile.am): Likewise.
77455         * modules/getaddrinfo (Makefile.am): Likewise.
77456         * modules/getcwd (Makefile.am): Likewise.
77457         * modules/getdelim (Makefile.am): Likewise.
77458         * modules/getdomainname (Makefile.am): Likewise.
77459         * modules/getgroups (Makefile.am): Likewise.
77460         * modules/gethostname (Makefile.am): Likewise.
77461         * modules/gethrxtime (Makefile.am): Likewise.
77462         * modules/getline (Makefile.am): Likewise.
77463         * modules/getloadavg (Makefile.am): Likewise.
77464         * modules/getlogin_r (Makefile.am): Likewise.
77465         * modules/getndelim2 (Makefile.am): Likewise.
77466         * modules/getopt (Makefile.am): Likewise.
77467         * modules/getpagesize (Makefile.am): Likewise.
77468         * modules/getpass-gnu (Makefile.am): Likewise.
77469         * modules/getpass (Makefile.am): Likewise.
77470         * modules/getsubopt (Makefile.am): Likewise.
77471         * modules/gettime (Makefile.am): Likewise.
77472         * modules/gettimeofday (Makefile.am): Likewise.
77473         * modules/getugroups (Makefile.am): Likewise.
77474         * modules/getusershell (Makefile.am): Likewise.
77475         * modules/glob (Makefile.am): Likewise.
77476         * modules/group-member (Makefile.am): Likewise.
77477         * modules/hard-locale (Makefile.am): Likewise.
77478         * modules/hash (Makefile.am): Likewise.
77479         * modules/hmac-md5 (Makefile.am): Likewise.
77480         * modules/hmac-sha1 (Makefile.am): Likewise.
77481         * modules/human (Makefile.am): Likewise.
77482         * modules/idcache (Makefile.am): Likewise.
77483         * modules/imaxabs (Makefile.am): Likewise.
77484         * modules/imaxdiv (Makefile.am): Likewise.
77485         * modules/inet_ntop (Makefile.am): Likewise.
77486         * modules/inet_pton (Makefile.am): Likewise.
77487         * modules/intprops (Makefile.am): Likewise.
77488         * modules/inttostr (Makefile.am): Likewise.
77489         * modules/inttypes (Makefile.am): Likewise.
77490         * modules/isapipe (Makefile.am): Likewise.
77491         * modules/javaversion (Makefile.am): Likewise.
77492         * modules/lchmod (Makefile.am): Likewise.
77493         * modules/lchown (Makefile.am): Likewise.
77494         * modules/localcharset (Makefile.am): Likewise.
77495         * modules/long-options (Makefile.am): Likewise.
77496         * modules/lstat (Makefile.am): Likewise.
77497         * modules/malloc (Makefile.am): Likewise.
77498         * modules/mathl (Makefile.am): Likewise.
77499         * modules/mbchar (Makefile.am): Likewise.
77500         * modules/md2 (Makefile.am): Likewise.
77501         * modules/md4 (Makefile.am): Likewise.
77502         * modules/md5 (Makefile.am): Likewise.
77503         * modules/memcasecmp (Makefile.am): Likewise.
77504         * modules/memchr (Makefile.am): Likewise.
77505         * modules/memcmp (Makefile.am): Likewise.
77506         * modules/memcoll (Makefile.am): Likewise.
77507         * modules/memcpy (Makefile.am): Likewise.
77508         * modules/memmem (Makefile.am): Likewise.
77509         * modules/memmove (Makefile.am): Likewise.
77510         * modules/mempcpy (Makefile.am): Likewise.
77511         * modules/memrchr (Makefile.am): Likewise.
77512         * modules/memset (Makefile.am): Likewise.
77513         * modules/memxor (Makefile.am): Likewise.
77514         * modules/mkancesdirs (Makefile.am): Likewise.
77515         * modules/mkdir-p (Makefile.am): Likewise.
77516         * modules/mkdir (Makefile.am): Likewise.
77517         * modules/mkdtemp (Makefile.am): Likewise.
77518         * modules/mkstemp (Makefile.am): Likewise.
77519         * modules/mktime (Makefile.am): Likewise.
77520         * modules/modechange (Makefile.am): Likewise.
77521         * modules/mountlist (Makefile.am): Likewise.
77522         * modules/nanosleep (Makefile.am): Likewise.
77523         * modules/obstack (Makefile.am): Likewise.
77524         * modules/openat (Makefile.am): Likewise.
77525         * modules/pagealign_alloc (Makefile.am): Likewise.
77526         * modules/pathmax (Makefile.am): Likewise.
77527         * modules/physmem (Makefile.am): Likewise.
77528         * modules/poll (Makefile.am): Likewise.
77529         * modules/posixtm (Makefile.am): Likewise.
77530         * modules/posixver (Makefile.am): Likewise.
77531         * modules/putenv (Makefile.am): Likewise.
77532         * modules/quote (Makefile.am): Likewise.
77533         * modules/quotearg (Makefile.am): Likewise.
77534         * modules/raise (Makefile.am): Likewise.
77535         * modules/read-file (Makefile.am): Likewise.
77536         * modules/readline (Makefile.am): Likewise.
77537         * modules/readlink (Makefile.am): Likewise.
77538         * modules/readtokens (Makefile.am): Likewise.
77539         * modules/readutmp (Makefile.am): Likewise.
77540         * modules/realloc (Makefile.am): Likewise.
77541         * modules/regex (Makefile.am): Likewise.
77542         * modules/rename-dest-slash (Makefile.am): Likewise.
77543         * modules/rename (Makefile.am): Likewise.
77544         * modules/rijndael (Makefile.am): Likewise.
77545         * modules/rmdir (Makefile.am): Likewise.
77546         * modules/rpmatch (Makefile.am): Likewise.
77547         * modules/safe-read (Makefile.am): Likewise.
77548         * modules/safe-write (Makefile.am): Likewise.
77549         * modules/same-inode (Makefile.am): Likewise.
77550         * modules/same (Makefile.am): Likewise.
77551         * modules/save-cwd (Makefile.am): Likewise.
77552         * modules/savedir (Makefile.am): Likewise.
77553         * modules/setenv (Makefile.am): Likewise.
77554         * modules/settime (Makefile.am): Likewise.
77555         * modules/sha1 (Makefile.am): Likewise.
77556         * modules/sig2str (Makefile.am): Likewise.
77557         * modules/snprintf (Makefile.am): Likewise.
77558         * modules/stat-macros (Makefile.am): Likewise.
77559         * modules/stat-time (Makefile.am): Likewise.
77560         * modules/stdbool (Makefile.am): Likewise.
77561         * modules/stdint (Makefile.am): Likewise.
77562         * modules/stdlib-safer (Makefile.am): Likewise.
77563         * modules/stpcpy (Makefile.am): Likewise.
77564         * modules/stpncpy (Makefile.am): Likewise.
77565         * modules/strcase (Makefile.am): Likewise.
77566         * modules/strcasestr (Makefile.am): Likewise.
77567         * modules/strchrnul (Makefile.am): Likewise.
77568         * modules/strcspn (Makefile.am): Likewise.
77569         * modules/strdup (Makefile.am): Likewise.
77570         * modules/strerror (Makefile.am): Likewise.
77571         * modules/strftime (Makefile.am): Likewise.
77572         * modules/strndup (Makefile.am): Likewise.
77573         * modules/strnlen (Makefile.am): Likewise.
77574         * modules/strpbrk (Makefile.am): Likewise.
77575         * modules/strsep (Makefile.am): Likewise.
77576         * modules/strstr (Makefile.am): Likewise.
77577         * modules/strtod (Makefile.am): Likewise.
77578         * modules/strtoimax (Makefile.am): Likewise.
77579         * modules/strtok_r (Makefile.am): Likewise.
77580         * modules/strtol (Makefile.am): Likewise.
77581         * modules/strtoll (Makefile.am): Likewise.
77582         * modules/strtoul (Makefile.am): Likewise.
77583         * modules/strtoull (Makefile.am): Likewise.
77584         * modules/strtoumax (Makefile.am): Likewise.
77585         * modules/strverscmp (Makefile.am): Likewise.
77586         * modules/sys_socket (Makefile.am): Likewise.
77587         * modules/sys_stat (Makefile.am): Likewise.
77588         * modules/sysexits (Makefile.am): Likewise.
77589         * modules/time_r (Makefile.am): Likewise.
77590         * modules/timegm (Makefile.am): Likewise.
77591         * modules/timespec (Makefile.am): Likewise.
77592         * modules/tmpfile-safer (Makefile.am): Likewise.
77593         * modules/trim (Makefile.am): Likewise.
77594         * modules/unistd-safer (Makefile.am): Likewise.
77595         * modules/unlinkdir (Makefile.am): Likewise.
77596         * modules/unlocked-io (Makefile.am): Likewise.
77597         * modules/userspec (Makefile.am): Likewise.
77598         * modules/utime (Makefile.am): Likewise.
77599         * modules/utimecmp (Makefile.am): Likewise.
77600         * modules/utimens (Makefile.am): Likewise.
77601         * modules/vasnprintf (Makefile.am): Likewise.
77602         * modules/vasprintf (Makefile.am): Likewise.
77603         * modules/vsnprintf (Makefile.am): Likewise.
77604         * modules/xalloc (Makefile.am): Likewise.
77605         * modules/xgetcwd (Makefile.am): Likewise.
77606         * modules/xnanosleep (Makefile.am): Likewise.
77607         * modules/xreadlink (Makefile.am): Likewise.
77608         * modules/xstrtod (Makefile.am): Likewise.
77609         * modules/xstrtol (Makefile.am): Likewise.
77610         * modules/xstrtold (Makefile.am): Likewise.
77611         * modules/yesno (Makefile.am): Likewise.
77612         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
77613
77614 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77615
77616         * modules/error (Makefile.am): Distribute files through
77617         EXTRA_DIST, not lib_SOURCES.
77618
77619 2006-10-12  Eric Blake  <ebb9@byu.net>
77620
77621         * modules/error (Makefile.am): Distribute files in /lib.
77622         * modules/obstack (Makefile.am): Likewise.
77623
77624 2006-10-12  Bruno Haible  <bruno@clisp.org>
77625
77626         * modules/acl (Makefile.am): Distribute all files in lib/ through
77627         EXTRA_DIST.
77628         * modules/arcfour (Makefile.am): Likewise.
77629         * modules/arctwo (Makefile.am): Likewise.
77630         * modules/argmatch (Makefile.am): Likewise.
77631         * modules/argz (Makefile.am): Likewise.
77632         * modules/atexit (Makefile.am): Likewise.
77633         * modules/backupfile (Makefile.am): Likewise.
77634         * modules/c-strtod (Makefile.am): Likewise.
77635         * modules/c-strtold (Makefile.am): Likewise.
77636         * modules/calloc (Makefile.am): Likewise.
77637         * modules/canon-host (Makefile.am): Likewise.
77638         * modules/canonicalize (Makefile.am): Likewise.
77639         * modules/chdir-long (Makefile.am): Likewise.
77640         * modules/chdir-safer (Makefile.am): Likewise.
77641         * modules/check-version (Makefile.am): Likewise.
77642         * modules/chown (Makefile.am): Likewise.
77643         * modules/cloexec (Makefile.am): Likewise.
77644         * modules/close-stream (Makefile.am): Likewise.
77645         * modules/closeout (Makefile.am): Likewise.
77646         * modules/crc (Makefile.am): Likewise.
77647         * modules/cycle-check (Makefile.am): Likewise.
77648         * modules/des (Makefile.am): Likewise.
77649         * modules/dirfd (Makefile.am): Likewise.
77650         * modules/dirname (Makefile.am): Likewise.
77651         * modules/dup2 (Makefile.am): Likewise.
77652         * modules/euidaccess (Makefile.am): Likewise.
77653         * modules/exclude (Makefile.am): Likewise.
77654         * modules/exitfail (Makefile.am): Likewise.
77655         * modules/fcntl-safer (Makefile.am): Likewise.
77656         * modules/file-type (Makefile.am): Likewise.
77657         * modules/fileblocks (Makefile.am): Likewise.
77658         * modules/filemode (Makefile.am): Likewise.
77659         * modules/filenamecat (Makefile.am): Likewise.
77660         * modules/fnmatch (Makefile.am): Likewise.
77661         * modules/fopen-safer (Makefile.am): Likewise.
77662         * modules/fpending (Makefile.am): Likewise.
77663         * modules/fprintftime (Makefile.am): Likewise.
77664         * modules/free (Makefile.am): Likewise.
77665         * modules/fsusage (Makefile.am): Likewise.
77666         * modules/ftruncate (Makefile.am): Likewise.
77667         * modules/fts (Makefile.am): Likewise.
77668         * modules/gc (Makefile.am): Likewise.
77669         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
77670         * modules/getaddrinfo (Makefile.am): Likewise.
77671         * modules/getcwd (Makefile.am): Likewise.
77672         * modules/getdelim (Makefile.am): Likewise.
77673         * modules/getdomainname (Makefile.am): Likewise.
77674         * modules/getgroups (Makefile.am): Likewise.
77675         * modules/gethostname (Makefile.am): Likewise.
77676         * modules/gethrxtime (Makefile.am): Likewise.
77677         * modules/getline (Makefile.am): Likewise.
77678         * modules/getloadavg (Makefile.am): Likewise.
77679         * modules/getlogin_r (Makefile.am): Likewise.
77680         * modules/getopt (Makefile.am): Likewise.
77681         * modules/getpass (Makefile.am): Likewise.
77682         * modules/getpass-gnu (Makefile.am): Likewise.
77683         * modules/getsubopt (Makefile.am): Likewise.
77684         * modules/gettime (Makefile.am): Likewise.
77685         * modules/gettimeofday (Makefile.am): Likewise.
77686         * modules/getugroups (Makefile.am): Likewise.
77687         * modules/getusershell (Makefile.am): Likewise.
77688         * modules/glob (Makefile.am): Likewise.
77689         * modules/group-member (Makefile.am): Likewise.
77690         * modules/hard-locale (Makefile.am): Likewise.
77691         * modules/hash (Makefile.am): Likewise.
77692         * modules/hmac-md5 (Makefile.am): Likewise.
77693         * modules/hmac-sha1 (Makefile.am): Likewise.
77694         * modules/human (Makefile.am): Likewise.
77695         * modules/idcache (Makefile.am): Likewise.
77696         * modules/imaxabs (Makefile.am): Likewise.
77697         * modules/imaxdiv (Makefile.am): Likewise.
77698         * modules/inet_ntop (Makefile.am): Likewise.
77699         * modules/inet_pton (Makefile.am): Likewise.
77700         * modules/inttostr (Makefile.am): Likewise.
77701         * modules/isapipe (Makefile.am): Likewise.
77702         * modules/lchown (Makefile.am): Likewise.
77703         * modules/long-options (Makefile.am): Likewise.
77704         * modules/lstat (Makefile.am): Likewise.
77705         * modules/malloc (Makefile.am): Likewise.
77706         * modules/mathl (Makefile.am): Likewise.
77707         * modules/mbchar (Makefile.am): Likewise.
77708         * modules/md2 (Makefile.am): Likewise.
77709         * modules/md4 (Makefile.am): Likewise.
77710         * modules/md5 (Makefile.am): Likewise.
77711         * modules/memcasecmp (Makefile.am): Likewise.
77712         * modules/memchr (Makefile.am): Likewise.
77713         * modules/memcmp (Makefile.am): Likewise.
77714         * modules/memcoll (Makefile.am): Likewise.
77715         * modules/memcpy (Makefile.am): Likewise.
77716         * modules/memmem (Makefile.am): Likewise.
77717         * modules/memmove (Makefile.am): Likewise.
77718         * modules/mempcpy (Makefile.am): Likewise.
77719         * modules/memrchr (Makefile.am): Likewise.
77720         * modules/memset (Makefile.am): Likewise.
77721         * modules/memxor (Makefile.am): Likewise.
77722         * modules/mkancesdirs (Makefile.am): Likewise.
77723         * modules/mkdir (Makefile.am): Likewise.
77724         * modules/mkdir-p (Makefile.am): Likewise.
77725         * modules/mkdtemp (Makefile.am): Likewise.
77726         * modules/mkstemp (Makefile.am): Likewise.
77727         * modules/mktime (Makefile.am): Likewise.
77728         * modules/modechange (Makefile.am): Likewise.
77729         * modules/mountlist (Makefile.am): Likewise.
77730         * modules/nanosleep (Makefile.am): Likewise.
77731         * modules/openat (Makefile.am): Likewise.
77732         * modules/pagealign_alloc (Makefile.am): Likewise.
77733         * modules/physmem (Makefile.am): Likewise.
77734         * modules/poll (Makefile.am): Likewise.
77735         * modules/posixtm (Makefile.am): Likewise.
77736         * modules/posixver (Makefile.am): Likewise.
77737         * modules/putenv (Makefile.am): Likewise.
77738         * modules/quote (Makefile.am): Likewise.
77739         * modules/quotearg (Makefile.am): Likewise.
77740         * modules/raise (Makefile.am): Likewise.
77741         * modules/read-file (Makefile.am): Likewise.
77742         * modules/readline (Makefile.am): Likewise.
77743         * modules/readlink (Makefile.am): Likewise.
77744         * modules/readtokens (Makefile.am): Likewise.
77745         * modules/readutmp (Makefile.am): Likewise.
77746         * modules/realloc (Makefile.am): Likewise.
77747         * modules/regex (Makefile.am): Likewise.
77748         * modules/rename (Makefile.am): Likewise.
77749         * modules/rename-dest-slash (Makefile.am): Likewise.
77750         * modules/rijndael (Makefile.am): Likewise.
77751         * modules/rmdir (Makefile.am): Likewise.
77752         * modules/rpmatch (Makefile.am): Likewise.
77753         * modules/safe-read (Makefile.am): Likewise.
77754         * modules/safe-write (Makefile.am): Likewise.
77755         * modules/same (Makefile.am): Likewise.
77756         * modules/save-cwd (Makefile.am): Likewise.
77757         * modules/savedir (Makefile.am): Likewise.
77758         * modules/setenv (Makefile.am): Likewise.
77759         * modules/settime (Makefile.am): Likewise.
77760         * modules/sha1 (Makefile.am): Likewise.
77761         * modules/sig2str (Makefile.am): Likewise.
77762         * modules/snprintf (Makefile.am): Likewise.
77763         * modules/stdlib-safer (Makefile.am): Likewise.
77764         * modules/stpcpy (Makefile.am): Likewise.
77765         * modules/stpncpy (Makefile.am): Likewise.
77766         * modules/strcase (Makefile.am): Likewise.
77767         * modules/strcasestr (Makefile.am): Likewise.
77768         * modules/strchrnul (Makefile.am): Likewise.
77769         * modules/strcspn (Makefile.am): Likewise.
77770         * modules/strdup (Makefile.am): Likewise.
77771         * modules/strerror (Makefile.am): Likewise.
77772         * modules/strftime (Makefile.am): Likewise.
77773         * modules/strndup (Makefile.am): Likewise.
77774         * modules/strnlen (Makefile.am): Likewise.
77775         * modules/strpbrk (Makefile.am): Likewise.
77776         * modules/strsep (Makefile.am): Likewise.
77777         * modules/strstr (Makefile.am): Likewise.
77778         * modules/strtod (Makefile.am): Likewise.
77779         * modules/strtoimax (Makefile.am): Likewise.
77780         * modules/strtok_r (Makefile.am): Likewise.
77781         * modules/strtol (Makefile.am): Likewise.
77782         * modules/strtoll (Makefile.am): Likewise.
77783         * modules/strtoul (Makefile.am): Likewise.
77784         * modules/strtoull (Makefile.am): Likewise.
77785         * modules/strtoumax (Makefile.am): Likewise.
77786         * modules/strverscmp (Makefile.am): Likewise.
77787         * modules/time_r (Makefile.am): Likewise.
77788         * modules/timegm (Makefile.am): Likewise.
77789         * modules/tmpfile-safer (Makefile.am): Likewise.
77790         * modules/unistd-safer (Makefile.am): Likewise.
77791         * modules/unlinkdir (Makefile.am): Likewise.
77792         * modules/userspec (Makefile.am): Likewise.
77793         * modules/utime (Makefile.am): Likewise.
77794         * modules/utimecmp (Makefile.am): Likewise.
77795         * modules/utimens (Makefile.am): Likewise.
77796         * modules/vasnprintf (Makefile.am): Likewise.
77797         * modules/vasprintf (Makefile.am): Likewise.
77798         * modules/vsnprintf (Makefile.am): Likewise.
77799         * modules/xalloc (Makefile.am): Likewise.
77800         * modules/xgetcwd (Makefile.am): Likewise.
77801         * modules/xnanosleep (Makefile.am): Likewise.
77802         * modules/xreadlink (Makefile.am): Likewise.
77803         * modules/xstrtod (Makefile.am): Likewise.
77804         * modules/xstrtol (Makefile.am): Likewise.
77805         * modules/xstrtold (Makefile.am): Likewise.
77806         * modules/yesno (Makefile.am): Likewise.
77807
77808 2006-10-12  Jim Meyering  <jim@meyering.net>
77809
77810         * m4/getloadavg.m4: Revert the change below.
77811
77812         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
77813         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
77814         fail with a symlink, which is what coreutils' ./bootstrap now
77815         creates by default.
77816
77817 2006-10-12  Bruno Haible  <bruno@clisp.org>
77818
77819         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
77820         mingw.
77821         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
77822         MSVC and mingw explicitly.
77823
77824 2006-10-11  Simon Josefsson  <jas@extundo.com>
77825             Bruno Haible  <bruno@clisp.org>
77826
77827         Add support for multiple gnulib-tool invocations in the scope of a
77828         single configure.ac file.
77829         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
77830         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
77831         with the same contents as the _LIBADD variable.
77832         (func_emit_initmacro_start, func_emit_initmacro_end,
77833         func_emit_initmacro_done): New functions.
77834         (func_import, func_create_testdir): Invoke them. Allow the identifiers
77835         gl_LIBOBJS and gl_LTLIBOBJS.
77836
77837 2006-10-11  Bruno Haible  <bruno@clisp.org>
77838
77839         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
77840         (func_create_testdir): Don't create po/Makefile.am, don't invoke
77841         autoreconf. Instead, invoke autopoint explicitly but move back the
77842         *.m4 files from gnulib.
77843
77844 2006-10-11  Bruno Haible  <bruno@clisp.org>
77845
77846         * gnulib-tool (func_usage): Make module names after --create-testdir
77847         optional.
77848         (func_create_testdir): If no module was specified, use nearly all
77849         modules.
77850
77851 2006-10-12  Jim Meyering  <jim@meyering.net>
77852
77853         Big performance improvement for fts-based tools that use FTS_NOSTAT.
77854         Avoid spurious inode-mismatch problems on non-POSIX file systems.
77855         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
77856         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
77857         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
77858         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
77859         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
77860         (fts_set_stat_required): New function.
77861         (fts_open): Defer the calls to fts_stat, if possible or requested.
77862         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
77863         into fts_stat itself.
77864         (fts_read): Perform any required (deferred) fts_stat call.
77865         (fts_build): Likewise, for the directory we're about to open and read.
77866         In the readdir loop, carefully decide whether each entry will require
77867         an eventual call to fts_stat, using dirent.d_type info if available.
77868         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
77869         a command line argument into this function.  Update all callers.
77870         Map a return value of FTS_DOT to FTS_D for a command line argument.
77871         * modules/fts (Depends-on): Add d-type.  Alphabetize.
77872         Thanks to Miklos Szeredi for his tenacity and for the initial
77873         bug report about "find" failing on a FUSE-based file system.
77874
77875         * lib/fts.c (fts_open): Use consistent indentation.
77876
77877 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77878
77879         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
77880         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
77881         reported by Jim Meyering.  All uses of cache variables renamed
77882         to match Autoconf's.
77883         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
77884         the other one.
77885
77886         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
77887         Fix misspelling in diagnostic.
77888
77889 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77890
77891         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
77892         defined.  Problem reported by Matthew Woehlke.
77893
77894         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
77895         Add support for Tandem NonStop R series.
77896         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
77897         Use new macro.
77898
77899         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
77900         (has_trailing_slash): Omit size arg; all callers changed.
77901         Omit 'inline', since it doesn't help performance and we'd
77902         need to configure it.
77903         Don't count //, ///, etc. as having a trailing slash.
77904         As a side effect, this removes a C99ism reported by Matthew Woehlke.
77905         (rpl_rename_dest_slash): On failure, use rename's errno rather
77906         than (in some cases) an incorrect or junk errno.
77907         Simplify code by removing need to compute length; this does
77908         cause it to make two passes instead of one over the file name,
77909         but it's worth it.
77910
77911         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
77912         change, since Autoconf's version may no longer be appropriate now
77913         that we are using CVS Autoconf's version.  Add support for Tandem.
77914
77915 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77916             Bruno Haible  <bruno@clisp.org>
77917
77918         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
77919         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
77920         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
77921         gl_AC_TYPE_LONG_LONG.
77922
77923         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
77924         instead of HAVE_LONG_LONG.
77925         * lib/printf-args.c (printf_fetchargs): Likewise.
77926         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
77927         * lib/vasnprintf.c (VASNPRINTF): Likewise.
77928         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
77929         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
77930         gl_AC_TYPE_LONG_LONG.
77931
77932 2006-10-11  Bruno Haible  <bruno@clisp.org>
77933
77934         * m4/longlong.m4: Add comments.
77935         * m4/ulonglong.m4: Likewise.
77936
77937 2006-10-10  Bruno Haible  <bruno@clisp.org>
77938
77939         Make it possible to #define stpcpy, strdup to aliases.
77940         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
77941         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
77942
77943 2006-10-10  Bruno Haible  <bruno@clisp.org>
77944
77945         Make it possible to #define gcd to an alias.
77946         * lib/gcd.c: Include config.h.
77947
77948 2006-10-10  Bruno Haible  <bruno@clisp.org>
77949
77950         Make it possible to #define c_isascii to an alias.
77951         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
77952         defined. Undefine the macros before defining them, to avoid gcc
77953         warnings.
77954         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
77955         define NO_C_CTYPE_MACROS early.
77956
77957 2006-10-10  Bruno Haible  <bruno@clisp.org>
77958
77959         Make it possible to #define set_program_name to an alias.
77960         * lib/progname.c: Don't undefine set_program_name; instead, undefine
77961         ENABLE_RELOCATABLE early.
77962
77963 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
77964
77965         Port to Tandem NSK OSS, which has 64-bit signed int but at most
77966         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
77967         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
77968         More generally, don't assume that 64-bit signed int is available
77969         if unsigned int is, and vice versa.
77970         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
77971         unsigned symbols, not on their signed counterparts.
77972         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
77973         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
77974         (UINT64_C, UINTMAX_C):
77975         Likewise.
77976         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
77977         unsigned counterparts.
77978         (Have_long_long, Unsigned): New macros.
77979         (Int): Renamed from INT.
77980         (strtoimax): Use the new macros.
77981         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
77982         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
77983         * modules/inttypes (inttypes.h): Substitute
77984         HAVE_UNSIGNED_LONG_LONG_INT.
77985         * modules/stdint (stdint.h): Likewise.
77986         (Files): Add m4/ulonglong.m4.
77987
77988 2006-10-10  Bruno Haible  <bruno@clisp.org>
77989
77990         Fix a gcc -Wshadow warning.
77991         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
77992         to 'bucket'.
77993         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
77994         gl_linked_indexof_from_to): Likewise.
77995         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
77996         Likewise.
77997         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
77998         Likewise.
77999         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
78000         Reported by Eric Blake.
78001
78002 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
78003
78004         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
78005         for NetBSD.  Problem reported by Bruno Haible.
78006
78007 2006-10-09  Jim Meyering  <jim@meyering.net>
78008
78009         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
78010         Patch from Bruno Haible.
78011
78012 2006-10-09  Jim Meyering  <jim@meyering.net>
78013
78014         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
78015         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
78016         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
78017
78018 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
78019
78020         Don't include <config.h> twice; this doesn't work in some cases,
78021         e.g., when config.h has "#define intmax_t long long int" and
78022         we include <config.h>, <inttypes.h>, <config.h> in that order.
78023         Problem reported by Matthew Woehlke in:
78024         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
78025         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
78026         * lib/fts-cycle.c: Don't include config.h.
78027         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
78028         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
78029         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
78030         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
78031         inttypes.h.
78032         * lib/xstrtoumax.c: Likewise.
78033         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
78034         __strtol and the like, so that this module is more like its siblings.
78035         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
78036         Remove; no longer needed now that we assume gnulib inttypes.h.
78037
78038 2006-10-08  Bruno Haible  <bruno@clisp.org>
78039
78040         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
78041         option.
78042
78043 2006-10-07  Jim Meyering  <jim@meyering.net>
78044
78045         * modules/inttypes (inttypes.h): Revert what seems to have been
78046         an inadvertent part of today's change: use "|", not "/" in the
78047         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
78048
78049 2006-10-07  Bruno Haible  <bruno@clisp.org>
78050
78051         * modules/sublist: New file.
78052
78053 2006-10-07  Bruno Haible  <bruno@clisp.org>
78054
78055         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
78056         * modules/argz (argz.h): Likewise.
78057         * modules/arpa_inet (arpa/inet.h): Likewise.
78058         * modules/byteswap (byteswap.h): Likewise.
78059         * modules/configmake (configmake.h): Likewise.
78060         * modules/fcntl (fcntl.h): Likewise.
78061         * modules/fnmatch (fnmatch.h): Likewise.
78062         * modules/getopt (getopt.h): Likewise.
78063         * modules/glob (glob.h): Likewise.
78064         * modules/inttypes (inttypes.h): Likewise.
78065         * modules/netinet_in (netinet/in.h): Likewise.
78066         * modules/poll (poll.h): Likewise.
78067         * modules/stdbool (stdbool.h): Likewise.
78068         * modules/stdint (stdint.h): Likewise.
78069         * modules/sys_select (sys/select.h): Likewise.
78070         * modules/sys_socket (sys/socket.h): Likewise.
78071         * modules/sys_stat (sys/stat.h): Likewise.
78072         * modules/sysexits (sysexits.h): Likewise.
78073         * modules/unistd (unistd.h): Likewise.
78074         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
78075         Add a "DO NOT EDIT" comment to the generated file.
78076         (func_import): Likewise for gnulib-comp.m4.
78077
78078 2006-10-07  Bruno Haible  <bruno@clisp.org>
78079
78080         * lib/gl_sublist.h: New file.
78081         * lib/gl_sublist.c: New file.
78082
78083 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
78084
78085         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
78086         name (relative to the original working directory) and the file
78087         name component (relative to the temporary working directory).  All
78088         callers changed.
78089         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
78090         * lib/mkdir-p.c (make_dir_parents): Likewise.
78091         * lib/mkdir-p.h (make_dir_parents): Likewise.
78092
78093 2006-10-06  Eric Blake  <ebb9@byu.net>
78094
78095         Define several macros for use by the clean-temp module.
78096         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
78097         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
78098         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
78099
78100         * lib/clean-temp.h (close_stream_temp): New declaration.
78101         * lib/clean-temp.c (includes): Pull in headers according to what
78102         other modules are in use.
78103         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
78104
78105 2006-10-06  Bruno Haible  <bruno@clisp.org>
78106
78107         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
78108         instead of fopen, fwriteerror.
78109
78110 2006-10-06  Bruno Haible  <bruno@clisp.org>
78111
78112         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
78113         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
78114         int.
78115         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
78116         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
78117         Return an error indicator.
78118         Suggested by Eric Blake.
78119
78120 2006-10-06  Bruno Haible  <bruno@clisp.org>
78121
78122         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
78123         Reported by Eric Blake.
78124
78125 2006-10-06  Bruno Haible  <bruno@clisp.org>
78126
78127         * modules/closeout (Description): Mention stderr too.
78128
78129 2006-10-06  Bruno Haible  <bruno@clisp.org>
78130         and Paul Eggert  <eggert@cs.ucla.edu>
78131
78132         * lib/closeout.c (close_stdout): Also close stderr.
78133         * lib/closeout.h: Update comment.
78134
78135 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
78136
78137         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
78138         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
78139         * lib/dirchownmod.c: Include lchown.h.
78140         * lib/lchown.c: Don't include files that lchown.h now includes.
78141         Don't declare chown, since lchown.h now does that.
78142         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
78143         (lchown): Define to rpl_chown if lchown is declared but
78144         does not exist.  Declare using a prototype if lchown is not
78145         declared.  Add a copyright notice.
78146         * lib/mkstemp.h: Include <unistd.h>.
78147         * lib/openat.c: Include lchown.h.
78148
78149         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
78150         we now test for that separately.
78151         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
78152         rather than O_NOFOLLOW, when testing whether it's possible to
78153         avoid a race condition reliably.
78154         * lib/savewd.c (savewd_chdir): Likewise.
78155
78156         Remove macros that are no longer needed now that stdint.h is
78157         reliable.
78158         * lib/fsusage.c (UINTMAX_MAX): Remove.
78159         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
78160         * lib/utimecmp.c (SIZE_MAX): Remove.
78161
78162         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
78163
78164         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
78165         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
78166         O_NOATIME works.
78167
78168 2006-10-05  Bruno Haible  <bruno@clisp.org>
78169
78170         * lib/gl_list.h (gl_sortedlist_search_from_to,
78171         gl_sortedlist_indexof_from_to): New declarations.
78172         (gl_list_implementation): New fields sortedlist_search_from_to,
78173         sortedlist_indexof_from_to.
78174         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
78175         inline functions.
78176         * lib/gl_list.c (gl_sortedlist_search_from_to,
78177         gl_sortedlist_indexof_from_to): New functions.
78178         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
78179         function.
78180         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
78181         (gl_array_sortedlist_search_from_to): New function.
78182         (gl_array_list_implementation): Update.
78183         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
78184         function.
78185         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
78186         (gl_carray_sortedlist_search_from_to): New function.
78187         (gl_carray_list_implementation): Update.
78188         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
78189         gl_linked_sortedlist_indexof_from_to): New functions.
78190         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
78191         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
78192         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
78193         gl_tree_sortedlist_indexof_from_to): New functions.
78194         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
78195         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
78196         Update.
78197         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
78198         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
78199         Update.
78200
78201 2006-10-05  Bruno Haible  <bruno@clisp.org>
78202
78203         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
78204         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
78205         (struct gl_list_implementation): Add fields search_from_to,
78206         indexof_from_to. Remove fields search, indexof.
78207         (gl_list_search): Use the search_from_to method.
78208         (gl_list_search_from, gl_list_search_from_to): New functions.
78209         (gl_list_indexof): Use the indexof_from_to method.
78210         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
78211         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
78212         (gl_list_search_from, gl_list_search_from_to): New functions.
78213         (gl_list_indexof): Use the indexof_from_to method.
78214         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
78215         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
78216         gl_array_indexof. Add start_index, end_index arguments.
78217         (gl_array_search_from_to): Renamed from gl_array_search. Add
78218         start_index, end_index arguments.
78219         (gl_array_remove, gl_array_list_implementation): Update.
78220         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
78221         gl_carray_indexof. Add start_index, end_index arguments.
78222         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
78223         start_index, end_index arguments.
78224         (gl_carray_remove, gl_carray_list_implementation): Update.
78225         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
78226         gl_linked_search. Add start_index, end_index arguments.
78227         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
78228         start_index, end_index arguments.
78229         (gl_linked_remove): Update.
78230         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
78231         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
78232         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
78233         field to 'size_t'.
78234         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
78235         gl_tree_search. Add start_index, end_index arguments.
78236         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
78237         start_index, end_index arguments.
78238         (gl_tree_remove): Update.
78239         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
78240         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
78241         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
78242         function.
78243         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
78244         gl_tree_search. Add start_index, end_index arguments.
78245         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
78246         start_index, end_index arguments.
78247         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
78248         Update.
78249         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
78250
78251 2006-10-05  Bruno Haible  <bruno@clisp.org>
78252
78253         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
78254
78255         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
78256         fwriteerror_temp): New declarations.
78257         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
78258         (descriptors): New variable.
78259         (cleanup): First, close the descriptors.
78260         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
78261         fclose_temp, fwriteerror_temp): New functions.
78262
78263 2006-10-04  Jim Meyering  <jim@meyering.net>
78264
78265         * lib/fts.c (fts_open): Tiny comment change.
78266
78267 2006-10-04  Bruno Haible  <bruno@clisp.org>
78268
78269         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
78270         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
78271         gl_LOCK_BODY.
78272         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
78273         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
78274         gl_LOCK_EARLY_BODY.
78275         (gl_LOCK): Require gl_LOCK_BODY.
78276
78277 2006-10-04  Bruno Haible  <bruno@clisp.org>
78278
78279         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
78280         (gl_oset_search_atleast): New declaration.
78281         (struct gl_oset_implementation): Add field 'search_atleast'.
78282         (gl_oset_search_atleast): New inline function.
78283         * lib/gl_oset.c (gl_oset_search_atleast): New function.
78284         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
78285         (gl_array_oset_implementation): Update.
78286         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
78287         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
78288         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
78289
78290 2006-10-04  Bruno Haible  <bruno@clisp.org>
78291
78292         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
78293
78294 2006-10-03  Bruno Haible  <bruno@clisp.org>
78295
78296         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
78297         from gl_avltreehash_list_implementation.
78298
78299 2006-10-03  Bruno Haible  <bruno@clisp.org>
78300
78301         * lib/gl_oset.c (gl_oset_add): Fix return type.
78302
78303 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
78304
78305         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
78306
78307 2006-10-02  Eric Blake  <ebb9@byu.net>
78308
78309         * modules/strnlen (Depends-on): Add extensions.
78310
78311 2006-10-02  Eric Blake  <ebb9@byu.net>
78312
78313         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
78314         definition in 2.60+.
78315
78316 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
78317
78318         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
78319         checks.
78320
78321 2006-10-02  Bruno Haible  <bruno@clisp.org>
78322
78323         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
78324         to the AUTOMAKE_OPTIONS.
78325         Reported by Jim Meyering.
78326
78327 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
78328
78329         Work around bug in Solaris 10 /proc file system:
78330         /proc/self/fd/NNN/.. isn't the parent directory of
78331         the directory whose file descriptor is NNN.  This needs to
78332         be worked around at run time, not compile time, since a
78333         program might be built on Solaris 8, where things work, and
78334         run on Solaris 10.
78335         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
78336         to use the following interface instead:
78337         (OPENAT_BUFFER_SIZE): New macro.
78338         (openat_proc_name): New function.
78339         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
78340         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
78341         Likewise.
78342         * lib/openat-proc.c: New file.
78343         * modules/openat (Files): Add lib/openat-proc.c.
78344         (Depends-on): Add same-inode, stdbool.
78345         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
78346
78347 2006-09-29  Bruno Haible  <bruno@clisp.org>
78348
78349         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
78350         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
78351         argument. Set stdout_closed before testing for ferror, not after.
78352         (fwriteerror, fwriteerror_no_ebadf): New functions.
78353
78354 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78355
78356         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
78357
78358 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
78359
78360         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
78361         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
78362
78363 2006-09-28  Jim Meyering  <jim@meyering.net>
78364
78365         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
78366         Include <unistd.h>.
78367
78368 2006-09-28  Bruno Haible  <bruno@clisp.org>
78369
78370         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
78371         * modules/linkedhash-list (Depends-on): Likewise.
78372         * modules/rbtreehash-list (Depends-on): Likewise.
78373
78374 2006-09-28  Bruno Haible  <bruno@clisp.org>
78375
78376         * lib/strndup.h: Simplify the redefinition of strndup.
78377         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
78378         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
78379
78380 2006-09-28  Bruno Haible  <bruno@clisp.org>
78381
78382         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
78383         * lib/gl_linkedhash_list.c: Likewise.
78384         * lib/gl_rbtreehash_list.c: Likewise.
78385
78386 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
78387
78388         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
78389         getaddrinfo.
78390
78391         * lib/__fpending.h: Don't include <stdio_ext.h> unless
78392         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
78393         it causes <stdio_ext.h> to cause a compile-time error.
78394         Problem reported by Nelson H. F. Beebe.
78395         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
78396         of HAVE_DECL___PENDING.
78397
78398         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
78399         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
78400         declaration.
78401
78402 2006-09-27  Jim Meyering  <jim@meyering.net>
78403
78404         This file could end up with a definition for a function
78405         named __strndup, rather than rpl_strndup on a system with
78406         incomplete weak_alias support.
78407         * lib/strndup.c (strndup): Rename from __strndup.
78408         Remove #defines that used to map __strndup to strndup.
78409         Don't use K&R prototypes.
78410         Remove LIBC-related code, since this file is not sync'd with glibc.
78411         * lib/strndup.h: Revamp, accordingly.
78412         * m4/strndup.m4: Modernize.
78413
78414 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
78415
78416         * modules/savewd (Depends-on): Add 'raise'.
78417         * lib/savewd.c: Include <signal.h>, for 'raise'.
78418
78419 2006-09-26  Jim Meyering  <jim@meyering.net>
78420
78421         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
78422         when we detect Darwin 8.7.0's acl_get_file bug.
78423         Rearrange to perform the new (below) run-test while $LIBS
78424         contains any acl-related library.  Set USE_ACL at the end.
78425         (gl_ACL_GET_FILE): New function.
78426
78427 2006-09-26  Eric Blake  <ebb9@byu.net>
78428
78429         * lib/verror.c: Include <config.h> unconditionally.
78430
78431 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
78432
78433         * modules/clock-time (Maintainer): Add self.
78434         * modules/getlogin_r (Depends-on): Add extensions.
78435
78436 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78437
78438         * modules/clock-time: New module.
78439         * modules/nanosleep (Depends-on): Add clock-time.
78440         * modules/gethrxtime (Depends-on): Likewise.
78441         * modules/gettime (Depends-on): Likewise.
78442         * modules/settime (Depends-on): Likewise.
78443
78444         * modules/fts-lgpl: Depend on openat.
78445         * modules/mkancesdirs: Depend on savewd.
78446         * modules/mkdir-p: Likewise.
78447
78448 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78449
78450         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
78451
78452         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
78453         `gl_have_arbitrary_file_name_length_limit' to
78454         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
78455         actually works between configure runs.
78456
78457 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78458             Bruno Haible  <bruno@clisp.org>
78459
78460         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
78461
78462 2006-09-25  Jim Meyering  <jim@meyering.net>
78463
78464         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
78465         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
78466
78467 2006-09-25  Eric Blake  <ebb9@byu.net>
78468
78469         * gnulib-tool (func_import, func_create_testdir): Fix typos in
78470         exec's in 2006-09-18 patch when shuffling fds.
78471
78472 2006-09-25  Bruno Haible  <bruno@clisp.org>
78473
78474         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
78475         Reported by Jim Meyering.
78476
78477 2006-09-24  Jim Meyering  <jim@meyering.net>
78478
78479         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
78480         compare a pointer against a literal "0".  That caused failures with
78481         at least HP-UX's hpcc.
78482
78483 2006-09-22  Simon Josefsson  <jas@extundo.com>
78484
78485         * modules/gc-sha1:
78486         * modules/gc-md4:
78487         * modules/gc-hmac-sha1:
78488         * modules/gc-hmac-md5:
78489         * modules/gc-des:
78490         * modules/gc-arcfour: Distribute more files.
78491
78492 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78493
78494         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
78495         (gl_linked_iterator_from_to): Initialize struct completely.
78496         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
78497         (gl_tree_iterator_from_to): Likewise
78498         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
78499         * lib/gl_array_list.c [lint] (gl_array_iterator)
78500         (gl_array_iterator_from_to): Likewise.
78501         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
78502         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
78503         (gl_carray_iterator_from_to): Likewise.
78504
78505         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
78506         * lib/md4.c (md4_process_block): Remove unused variable.
78507         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
78508         parentheses for clarity.
78509
78510 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78511
78512         * modules/bison-i18n (Depends-on): Add gettext.
78513
78514 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78515
78516         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
78517         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
78518         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
78519         also add missing comma that caused broken test.
78520         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
78521         stdlib.h, for `abort'.
78522         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
78523         variables.
78524         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
78525         include unistd.h if present, for `rmdir'.
78526         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
78527         variables.
78528         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
78529         in the process include standard headers for prototypes.
78530         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
78531         gets declared on GNU/Linux.
78532         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
78533         unistd.h, for `rmdir'.
78534         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
78535
78536         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
78537         always true.
78538         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
78539
78540         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
78541
78542 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78543
78544         * gnulib-tool (func_version): Create output all at once.  This
78545         may help avoid triggering unnecessary SIGPIPEs, and at any
78546         rate it doesn't hurt.
78547
78548 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78549             Bruno Haible  <bruno@clisp.org>
78550
78551         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
78552         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
78553         * m4/signed.m4 (bh_C_SIGNED): Likewise.
78554
78555         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
78556         (gl_FUNC_VASPRINTF): Invoke it.
78557
78558 2006-09-22  Bruno Haible  <bruno@clisp.org>
78559
78560         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
78561         getloadavg.c as first argument.
78562
78563 2006-09-22  Bruno Haible  <bruno@clisp.org>
78564
78565         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
78566         at the beginning of the gl_INIT macro.
78567         * modules/getloadavg (configure.ac): Pass $gl_source_base to
78568         gl_GETLOADAVG.
78569
78570 2006-09-22  Bruno Haible  <bruno@clisp.org>
78571
78572         * gnulib-tool (func_create_megatestdir): Don't include the config-h
78573         module.
78574         Suggested by Ralf Wildenhues.
78575
78576 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
78577
78578         Import this patch from libc:
78579
78580         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
78581
78582         * lib/regex_internal.c (re_string_reconstruct): Handle
78583         offset < pstr->valid_raw_len && pstr->offsets_needed case.
78584         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
78585         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
78586         re_string_context_at.
78587
78588         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
78589         now requires it.
78590         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
78591         gl_REGEX now does it for us.
78592         (gl_REGEX): Add test taken from
78593         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
78594
78595         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
78596         Check that large offsets work.  Modernize Autoconf usages.
78597         Prefer "yes" to mean a good thing rather than a bad.
78598         Don't put "#define mkstemp" in config.h, as this might interfere
78599         with standard system headers that "#define mkstemp mkstemp64".
78600
78601         * modules/mkstemp (Depends-on): Add extensions, so that
78602         mkstemp is visible on some platforms.
78603         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
78604         (Include): Change to "mkstemp.h" from <stdlib.h>.
78605         (Files): Add mkstemp.h.
78606
78607         * lib/mkstemp.h: New file, since some standard headers
78608         #define mkstemp.
78609         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
78610         Include "mkstemp.h".
78611         Make the _LIBC code resemble glibc original more,
78612         e.g., use K&R style.
78613         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
78614         (mkstemp): Remove, since mkstemp.h does this for us.
78615         * lib/stdlib--.h: Include mkstemp.h.
78616
78617         Import this patch from libc:
78618
78619         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
78620
78621         * lib/tempname.c (__gen_tempname): Change attempts_min
78622         into a macro.  Use preprocessor to decide how to initialize
78623         attempts [Coverity CID 67].
78624
78625 2006-09-20  Bruno Haible  <bruno@clisp.org>
78626
78627         * lib/mkdtemp.c: Import from libc.
78628         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
78629                 * sysdeps/posix/tempname.c (__gen_tempname): Change
78630                 attempts_min into a macro.  Use preprocessor to decide how to
78631                 initialize attempts [Coverity CID 67].
78632         2001-11-27  Paul Eggert  <eggert@twinsun.com>
78633                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
78634                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
78635
78636 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78637
78638         * gnulib-tool (func_exit): New function, to allow to pass the
78639         exit status portably through the trap.  Use everywhere.
78640         (--help, --version): Signal a write error.
78641         (trap): catch SIGPIPE, for write errors.
78642         Exit at the end of the trap, with the correct exit status.
78643
78644 2006-09-19  Karl Berry  <karl@gnu.org>
78645
78646         * doc/gnulib.texi: note about the license texinfo files.
78647
78648 2006-09-19  Eric Blake  <ebb9@byu.net>
78649
78650         * gnulib-tool: Avoid space-tab.
78651
78652 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
78653
78654         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
78655         that prevented coreutils 6.1 from building.  Problem reported
78656         by Petter Reinholdtsen.
78657
78658 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
78659
78660         * gnulib-tool (avoidlist): Fix typo that broke options like
78661         --avoid=lock that are used by coreutils bootstrap.
78662
78663 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
78664
78665         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
78666         more systematically.
78667
78668 2006-09-18  Jim Meyering  <jim@meyering.net>
78669
78670         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
78671
78672 2006-09-18  Bruno Haible  <bruno@clisp.org>
78673
78674         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
78675
78676 2006-09-18  Bruno Haible  <bruno@clisp.org>
78677
78678         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
78679         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
78680         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
78681         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
78682         * m4/gettext.m4: Require autoconf >= 2.52.
78683         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
78684         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
78685         of gl_cv_header_inttypes_h.
78686
78687 2006-09-18  Bruno Haible  <bruno@clisp.org>
78688
78689         * lib/javaversion.c: Include configmake.h.
78690
78691 2006-09-18  Bruno Haible  <bruno@clisp.org>
78692
78693         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
78694         avoid that the while loops be executed in a subshell.
78695
78696 2006-09-18  Bruno Haible  <bruno@clisp.org>
78697
78698         * MODULES.html.sh (func_module): Break long lines.
78699         Suggested by Bruce Korb <bkorb@gnu.org>.
78700
78701 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78702
78703         Speed up by a factor of 1.12.
78704         * gnulib-tool (nl): New variable.
78705         (func_import): Rewrite include directive extraction to only read each
78706         directive once.
78707
78708 2006-09-17  Bruno Haible  <bruno@clisp.org>
78709
78710         * modules/javaversion (Makefile.am): Remove DEFS setting.
78711         (Depends-on): Add configmake, for PKGDATADIR definition.
78712
78713 2006-09-17  Bruno Haible  <bruno@clisp.org>
78714
78715         * gnulib-tool (func_create_testdir): Rewrite all files at once.
78716
78717 2006-09-17  Bruno Haible  <bruno@clisp.org>
78718
78719         * gnulib-tool (func_append): New function, stolen from libtool.m4.
78720         (func_modules_transitive_closure, func_modules_add_dummy,
78721         func_modules_to_filelist, func_import, func_create_testdir,
78722         func_create_megatestdir, ...): Use it wherever possible.
78723         Suggested by Ralf Wildenhues.
78724
78725 2006-09-16  Karl Berry  <karl@gnu.org>
78726
78727         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
78728         to avoid sectioning errors.
78729         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
78730         [ifinfo]: blank line after @center-ed titles.
78731         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
78732         Spell FSF address consistently with others.
78733         (These changes approved by rms.)
78734
78735 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78736
78737         Speed up by a factor of 1.61.
78738         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
78739         already checked module names again.
78740
78741 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78742
78743         Speed up by a factor of 1.13.
78744         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
78745         for new_files, and the input to func_add_or_update.
78746
78747 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78748
78749         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
78750         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
78751
78752 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78753
78754         * modules/mkancesdirs (Depends-on): Add fcntl.
78755         * modules/savewd: New file.
78756         * MODULES.html.sh (File system functions): Add savewd.
78757
78758         * modules/configmake (Makefile.am): Add support for the
78759         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
78760
78761 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78762
78763         * m4/savewd.m4: New file.
78764
78765 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78766
78767         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
78768         (dirchownmod): New arg FD.  All callers changed.
78769         Use FD rather than opening the directory ourself, as opening is
78770         now the caller's responsibility.
78771         * lib/dirchownmod.h: Likewise.
78772         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
78773         hosts that require <sys/types.h> before <sys/stat.h>.  Include
78774         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
78775         (test_dir): Remove.
78776         (mkancesdirs): Return length of prefix of FILE that has already
78777         been made, or -2 if there is a child doing the work.  Redo
78778         algorithm so that it is O(N) rather than O(N**2).  Optimize away
78779         ".", and treat ".." specially since it might stray back into
78780         already-created areas.  Use a subprocess if necessary.  New arg
78781         WD; all users changed.  MAKE_DIR function should now return 1
78782         if it creates a directory that is not readable.  Return -2 if
78783         a child process is spun off.
78784         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
78785         Adjust signature to match code.
78786         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
78787         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
78788         all users changed.
78789         * lib/savewd.c, lib/savewd.h: New files.
78790
78791 2006-09-15  Jim Meyering  <jim@meyering.net>
78792
78793         * modules/rename-dest-slash: New module.
78794         * MODULES.html.sh (posix_compat): Add it here.
78795
78796         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
78797
78798 2006-09-15  Jim Meyering  <jim@meyering.net>
78799
78800         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
78801         file.
78802
78803         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
78804
78805 2006-09-15  Jim Meyering  <jim@meyering.net>
78806
78807         * lib/rename-dest-slash.c (has_trailing_slash): Use
78808         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
78809         (rpl_rename_dest_slash): Perform the cheaper trailing slash
78810         test before testing whether SRC is a directory.
78811         Suggestions from Bruno Haible.
78812
78813         Avoid a warning about an unused variable.
78814         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
78815         into the #ifdef block where it's used.
78816
78817         * lib/rename-dest-slash.c: New file.
78818
78819 2006-09-14  Bruno Haible  <bruno@clisp.org>
78820
78821         * lib/allocsa.c: Include <config.h> unconditionally.
78822         * lib/asnprintf.c: Likewise.
78823         * lib/asprintf.c: Likewise.
78824         * lib/c-strcasecmp.c: Likewise.
78825         * lib/c-strcasestr.c: Likewise.
78826         * lib/c-strncasecmp.c: Likewise.
78827         * lib/c-strstr.c: Likewise.
78828         * lib/classpath.c: Likewise.
78829         * lib/clean-temp.c: Likewise.
78830         * lib/concatpath.c: Likewise.
78831         * lib/copy-file.c: Likewise.
78832         * lib/csharpcomp.c: Likewise.
78833         * lib/csharpexec.c: Likewise.
78834         * lib/execute.c: Likewise.
78835         * lib/fatal-signal.c: Likewise.
78836         * lib/findprog.c: Likewise.
78837         * lib/fwriteerror.c: Likewise.
78838         * lib/gl_array_list.c: Likewise.
78839         * lib/gl_array_oset.c: Likewise.
78840         * lib/gl_avltree_list.c: Likewise.
78841         * lib/gl_avltree_oset.c: Likewise.
78842         * lib/gl_avltreehash_list.c: Likewise.
78843         * lib/gl_carray_list.c: Likewise.
78844         * lib/gl_linked_list.c: Likewise.
78845         * lib/gl_linkedhash_list.c: Likewise.
78846         * lib/gl_list.c: Likewise.
78847         * lib/gl_oset.c: Likewise.
78848         * lib/gl_rbtree_list.c: Likewise.
78849         * lib/gl_rbtree_oset.c: Likewise.
78850         * lib/gl_rbtreehash_list.c: Likewise.
78851         * lib/imaxabs.c: Likewise.
78852         * lib/imaxdiv.c: Likewise.
78853         * lib/javacomp.c: Likewise.
78854         * lib/javaexec.c: Likewise.
78855         * lib/javaversion.c: Likewise.
78856         * lib/linebreak.c: Likewise.
78857         * lib/localcharset.c: Likewise.
78858         * lib/lock.c: Likewise.
78859         * lib/mbchar.c: Likewise.
78860         * lib/mbswidth.c: Likewise.
78861         * lib/mkdtemp.c: Likewise.
78862         * lib/pipe.c: Likewise.
78863         * lib/printf-args.c: Likewise.
78864         * lib/printf-parse.c: Likewise.
78865         * lib/progname.c: Likewise.
78866         * lib/progreloc.c: Likewise.
78867         * lib/readlink.c: Likewise.
78868         * lib/sh-quote.c: Likewise.
78869         * lib/stpcpy.c: Likewise.
78870         * lib/stpncpy.c: Likewise.
78871         * lib/strcasecmp.c: Likewise.
78872         * lib/strcasestr.c: Likewise.
78873         * lib/strcspn.c: Likewise.
78874         * lib/striconv.c: Likewise.
78875         * lib/strncasecmp.c: Likewise.
78876         * lib/strnlen1.c: Likewise.
78877         * lib/strstr.c: Likewise.
78878         * lib/strtok_r.c: Likewise.
78879         * lib/tls.c: Likewise.
78880         * lib/tmpdir.c: Likewise.
78881         * lib/unicodeio.c: Likewise.
78882         * lib/unsetenv.c: Likewise.
78883         * lib/vasnprintf.c: Likewise.
78884         * lib/vasprintf.c: Likewise.
78885         * lib/wait-process.c: Likewise.
78886         * lib/xallocsa.c: Likewise.
78887         * lib/xsetenv.c: Likewise.
78888         * lib/xstriconv.c: Likewise.
78889
78890 2006-09-13  Simon Josefsson  <jas@extundo.com>
78891
78892         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
78893         that internally, suggested by Ralf Wildenhues
78894         <Ralf.Wildenhues@gmx.de>.
78895
78896 2006-09-13  Simon Josefsson  <jas@extundo.com>
78897
78898         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
78899         @LIBOBJS@.
78900         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78901
78902 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78903
78904         * lib/_fpending.c: Include <config.h> unconditionally, since we no
78905         longer worry about uses that don't define HAVE_CONFIG_H.
78906         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
78907         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
78908         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
78909         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
78910         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
78911         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
78912         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
78913         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
78914         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
78915         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
78916         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
78917         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
78918         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
78919         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
78920         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
78921         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
78922         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
78923         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
78924         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
78925         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
78926         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
78927         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
78928         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
78929         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
78930         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
78931         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
78932         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
78933         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
78934         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
78935         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
78936         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
78937         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
78938         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
78939         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
78940         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
78941         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
78942         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
78943         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
78944         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
78945         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
78946         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
78947         Likewise.
78948
78949 2006-09-13  Eric Blake  <ebb9@byu.net>
78950
78951         * lib/getopt.c: Fix typo in last commit.
78952
78953 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
78954
78955         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
78956         dgettext.
78957
78958 2006-09-12  Jim Meyering  <jim@meyering.net>
78959
78960         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
78961         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
78962         Reported by Nelson H. F. Beebe.
78963
78964 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
78965
78966         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
78967         program_invocation_name and program_invocation_short_name are
78968         initialized.
78969         * lib/argp-namefrob.h: Move declarations of program_invocation_name
78970         and program_invocation_short_name to argp.h, so they are visible
78971         to user programs.
78972         * lib/argp.h: Likewise
78973
78974 2006-09-10  Bruno Haible  <bruno@clisp.org>
78975
78976         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
78977         m4/inttypes_h.m4, m4/uintmax_t.m4.
78978
78979 2006-09-10  Bruno Haible  <bruno@clisp.org>
78980
78981         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
78982         gl_AC_TYPE_UINTMAX_T.
78983
78984 2006-09-10  Bruno Haible  <bruno@clisp.org>
78985
78986         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
78987
78988 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78989
78990         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
78991         convention.  Text proposed by Bruno Haible.
78992         (struct argp_option): Document the use of N_() wrappers.
78993
78994         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
78995         '\v', and translate the two parts separately, instead of feeding
78996         the whole string to gettext.  This allows to exclude
78997         '\v' from the strings visible to the translator by writing doc
78998         strings as N_("..") "\v" N_("..").
78999
79000 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
79001
79002         * config/srclist.txt: Undo latest change; the bug was fixed.
79003
79004 2006-09-09  Bruno Haible  <bruno@clisp.org>
79005
79006         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
79007         assignments if building a library without libtool.
79008         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
79009         in func_emit_lib_Makefile_am.
79010         (func_import): When building a static library libfoo.a, arrange to
79011         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
79012         (func_create_testdir): Likewise.
79013         * modules/gc (configure.ac, Makefile.am): If building statically,
79014         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
79015         * modules/iconvme (configure.ac, Makefile.am): Likewise.
79016         * modules/striconv (configure.ac, Makefile.am): Likewise.
79017         Based on a suggestion by Ralf Wildenhues.
79018
79019 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79020
79021         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
79022         Check for unistd.h too, since Autoconf doesn't assume POSIX.
79023         Also:
79024
79025         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79026         Add year_2050_test to catch glibc bug 2821
79027         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
79028
79029         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79030         Prefer #ifdef to #if.
79031
79032         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
79033         Return from 'main' instead of calling 'exit'.
79034
79035 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79036
79037         * lib/mktime.c (guess_time_tm): Fix bug where mktime
79038         returned the maximum time_t value rather than (time_t) -1.
79039         Problem originally reported by William Bardwell
79040         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
79041
79042         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
79043         Moved to here ...
79044         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
79045         ... from here.
79046
79047 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79048
79049         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
79050         2821 is fixed.
79051
79052 2006-09-08  Jim Meyering  <jim@meyering.net>
79053
79054         Don't make generated files read-only.  That would bother too many
79055         people.  However, do retain the ability to work when targets are
79056         read-only: remove the destination and temporary files before writing
79057         them (when generated via sed or echo), or by using the -f option for
79058         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
79059         * modules/alloca-opt, modules/argz, modules/arpa_inet:
79060         * modules/byteswap, modules/configmake, modules/fcntl:
79061         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
79062         * modules/localcharset, modules/netinet_in, modules/poll:
79063         * modules/stdbool, modules/stdint, modules/sys_select:
79064         * modules/sys_socket, modules/sys_stat, modules/sysexits:
79065
79066 2006-09-08  Jim Meyering  <jim@meyering.net>
79067
79068         Avoid new build failure on FreeBSD 6.0.
79069         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
79070         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
79071         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
79072
79073 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79074
79075         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
79076
79077 2006-09-07  Jim Meyering  <jim@meyering.net>
79078
79079         Fix global typo in last change: use chmod u-w, not chmod u-x.
79080         Spotted by Paul Eggert and Bruce Korb.
79081         * modules/alloca-opt, modules/argz, modules/arpa_inet:
79082         * modules/byteswap, modules/configmake, modules/fcntl:
79083         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
79084         * modules/localcharset, modules/netinet_in, modules/poll:
79085         * modules/stdbool, modules/stdint, modules/sys_select:
79086         * modules/sys_socket, modules/sys_stat, modules/sysexits:
79087
79088 2006-09-06  Jim Meyering  <jim@meyering.net>
79089
79090         Make generated files be read-only.
79091         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
79092         Ensure that each generated file is now read-only.
79093         * modules/argz: Likewise.
79094         * modules/arpa_inet: Likewise.
79095         * modules/byteswap: Likewise.
79096         * modules/configmake: Likewise.
79097         * modules/fcntl: Likewise.
79098         * modules/fnmatch: Likewise.
79099         * modules/getopt: Likewise.
79100         * modules/glob: Likewise.
79101         * modules/inttypes: Likewise.
79102         * modules/netinet_in: Likewise.
79103         * modules/poll: Likewise.
79104         * modules/stdbool: Likewise.
79105         * modules/stdint: Likewise.
79106         * modules/sys_select: Likewise.
79107         * modules/sys_socket: Likewise.
79108         * modules/sys_stat: Likewise.
79109         * modules/sysexits: Likewise.
79110         * modules/localcharset: Same as above, but continue using temporary
79111         file named "t-$@" (why different?) rather than the "$@-t" used
79112         everywhere else.
79113
79114         * modules/sysexits (Makefile.am): Replace literal occurrences
79115         of "sysexit.h" more readable, and more consistent, "$@".
79116
79117 2006-09-06  Bruno Haible  <bruno@clisp.org>
79118
79119         * modules/striconv: New file.
79120         * modules/xstriconv: New file.
79121         * MODULES.html.sh (Internationalization functions): Add striconv,
79122         xstriconv.
79123
79124 2006-09-06  Bruno Haible  <bruno@clisp.org>
79125
79126         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
79127         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
79128         not using libtool correctly.
79129
79130 2006-09-06  Bruno Haible  <bruno@clisp.org>
79131
79132         * lib/striconv.h: New file.
79133         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
79134         iconvstring.c.
79135         * lib/xstriconv.h: New file.
79136         * lib/xstriconv.c: New file.
79137
79138 2006-09-06  Bruno Haible  <bruno@clisp.org>
79139
79140         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
79141         lib_..._LDFLAGS.
79142
79143 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79144
79145         * lib/argz_.h: Sync from Libtool.
79146
79147         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
79148                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
79149
79150         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
79151
79152 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
79153
79154         * modules/trim: New file.
79155
79156 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
79157
79158         * lib/trim.h: New file.
79159         * lib/trim.c: New file.
79160
79161 2006-09-05  Bruno Haible  <bruno@clisp.org>
79162
79163         * MODULES.html.sh (String handling): Add trim.
79164
79165 2006-09-04  Karl Berry  <karl@gnu.org>
79166
79167         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
79168         until next release.
79169
79170 2006-09-03  Bruno Haible  <bruno@clisp.org>
79171
79172         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
79173         correctly.
79174
79175 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79176
79177         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
79178         not gl_GETLOADAVG.  Omit unneeded semicolons.
79179         Problems reported by Ralf Wildenhues in
79180         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
79181         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
79182         at the end, which is the usual gnulib style.
79183
79184         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
79185         of doing all the work ourselves.
79186         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
79187         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
79188
79189 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79190
79191         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
79192         Problem reported by Ralf Wildenhues in
79193         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
79194
79195         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
79196         HAVE_STRUCT_STATFS_F_FSTYPENAME.
79197
79198 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79199
79200         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
79201         yesterday's patch by changing test -n to test -z.
79202
79203 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79204
79205         * modules/getloadavg (Files): Add m4/getloadavg.m4.
79206         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
79207         the former is now obsolescent.
79208
79209         * modules/chdir-long (Depends-on): Add fcntl.
79210
79211 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79212
79213         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
79214         obsolescent, and programs should use gnulib instead.
79215         * m4/getloadavg.m4: New file, with contents taken from Autoconf
79216         but with prefixes changed.
79217
79218 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79219
79220         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
79221         or stdbool.h, because they might not exist while configuring.
79222
79223         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
79224         Don't include unistd.h or limits.h; not needed, since chdir-long.h
79225         does that for us.
79226         (O_DIRECTORY): Remove.
79227
79228 2006-08-31  Eric Blake  <ebb9@byu.net>
79229
79230         * gnulib-tool: Don't let emacs change spaces to TAB.
79231
79232 2006-08-31  Bruno Haible  <bruno@clisp.org>
79233
79234         * gnulib-tool: When calling func_import more than once, do it in a
79235         subshell.
79236         Reported by Eric Blake <ebb9@byu.net>.
79237
79238 2006-08-31  Bruno Haible  <bruno@clisp.org>
79239
79240         * gnulib-tool (nl): Remove variable.
79241         (sed_transform_lib_file): Use more robust test for config-h module.
79242         (func_import): Fix typo in 2006-08-25 patch.
79243
79244 2006-08-31  Bruno Haible  <bruno@clisp.org>
79245
79246         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
79247         specified, augment Makefile.am variables instead of assigning them.
79248
79249 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
79250
79251         Work around a bug in both the Linux and SunOS 64-bit kernels:
79252         nanosleep mishandles sleeps for longer than 2**31 seconds.
79253         Problem reported by Frank v Waveren in
79254         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
79255         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
79256         Check for nanosleep bug.
79257         (LIB_NANOSLEEP): Append clock_gettime library if needed.
79258
79259 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
79260
79261         Work around a bug in both the Linux and SunOS 64-bit kernels:
79262         nanosleep mishandles sleeps for longer than 2**31 seconds.
79263         Problem reported by Frank v Waveren in
79264         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
79265         * lib/nanosleep.c (BILLION): New constant.
79266         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
79267         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
79268         implementation.
79269
79270 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
79271
79272         * modules/nanosleep (Depends-on): Add gettime.
79273
79274 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
79275         and Simon Josefsson  <jas@extundo.com>
79276         and Oskar Liljeblad  <oskar@osk.mine.nu>
79277
79278         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
79279         * gnulib-tool (func_import): New license type 'unmodifiable license
79280         text'.
79281         * modules/fdl: Use it.  Longer description.
79282         * module/gpl, module/lgpl: New files.
79283
79284 2006-08-30  Jim Meyering  <jim@meyering.net>
79285
79286         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
79287         shadowing the parameter.
79288
79289 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79290
79291         Sync from Libtool:
79292
79293         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79294
79295         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
79296         sharing with gnulib.  Report by Eric Blake.
79297
79298 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
79299
79300         * modules/isapipe: New file.
79301         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
79302
79303 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
79304
79305         * modules/configmake (Makefile.am): Add a comment, and omit
79306         the CONFIGMAKE_ prefix from generated macro names.  Suggested
79307         by Bruno Haible.
79308
79309 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
79310
79311         * m4/isapipe.m4: New file.
79312
79313 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
79314
79315         * lib/isapipe.c, lib/isapipe.h: New files.
79316
79317 2006-08-29  Jim Meyering  <jim@meyering.net>
79318
79319         * modules/configmake (Makefile.am): Make configmake.h depend on
79320         Makefile.  Otherwise, a stale configmake.h could hang around.
79321
79322 2006-08-29  Eric Blake  <ebb9@byu.net>
79323
79324         * lib/error.c (error_at_line, print_errno_message): Match libc, after
79325         resolution of upstream bug 3044.
79326
79327 2006-08-29  Bruno Haible  <bruno@clisp.org>
79328
79329         * modules/localcharset (Depends-on): Add configmake.
79330         (Makefile.am): Remove setting of LIBDIR through DEFS.
79331
79332 2006-08-29  Bruno Haible  <bruno@clisp.org>
79333
79334         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
79335         defined.
79336
79337 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
79338
79339         * modules/fcntl: New file.
79340         * modules/chdir-safer (Depends-on): Add fcntl.
79341         * modules/fts: Likewise.
79342         * modules/mkdir-p: Likewise.
79343
79344         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
79345         This undoes the most recent change, since we're now addressing the
79346         problem in a different way.
79347
79348         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
79349         into output, since the output might be called Makefile.am even
79350         if $makefile_name is something different.
79351         (func_import): Use $makefile_am rather than
79352         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
79353         empty.
79354
79355         * modules/inttypes (Files): Add m4/inttypes-h.m4.
79356
79357 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
79358
79359         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
79360         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
79361         recent change to stdint.m4, since we're now addressing the problem in a
79362         different way.
79363
79364 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
79365
79366         * m4/fcntl_h.m4: New file.
79367
79368 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
79369
79370         * lib/fcntl_.h: New file.
79371         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
79372         the fcntl module.
79373         * lib/dirchownmod.c: Likewise.
79374         * lib/fts.c: Likewise.
79375
79376         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
79377         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
79378         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
79379         just before including <inttypes.h>, to avoid circular inclusion.
79380
79381 2006-08-28  Jim Meyering  <jim@meyering.net>
79382
79383         * doc/visibility.texi: Actually read and correct the grammar of the
79384         sentence affected by yesterday's change.
79385
79386 2006-08-28  Eric Blake  <ebb9@byu.net>
79387
79388         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
79389         needs wrapper.
79390
79391 2006-08-28  Eric Blake  <ebb9@byu.net>
79392
79393         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
79394
79395 2006-08-28  Eric Blake  <ebb9@byu.net>
79396
79397         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
79398
79399 2006-08-28  Bruno Haible  <bruno@clisp.org>
79400
79401         * modules/c-strstr: New file, from GNU gettext.
79402         * MODULES.html.sh (String handling): Add c-strstr.
79403
79404 2006-08-28  Bruno Haible  <bruno@clisp.org>
79405
79406         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
79407         macros.
79408         Reported by Eric Blake.
79409
79410 2006-08-28  Bruno Haible  <bruno@clisp.org>
79411
79412         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
79413         (VASNPRINTF): Return a string of length > INT_MAX without failing.
79414         * lib/vasprintf.c: Include errno.h, limits.h.
79415         (EOVERFLOW): New fallback definition.
79416         (vasprintf): Test here whether the string length is > INT_MAX.
79417         * lib/vsnprintf.c: Include errno.h, limits.h.
79418         (EOVERFLOW): New fallback definition.
79419         (vsnprintf): Fix bug when generated string was too long for the buffer.
79420         Test here whether the string length is > INT_MAX.
79421
79422 2006-08-28  Bruno Haible  <bruno@clisp.org>
79423
79424         * lib/inttypes_.h (SCNX*): Remove definitions.
79425         Reported by Eric Blake.
79426
79427 2006-08-28  Bruno Haible  <bruno@clisp.org>
79428
79429         * lib/c-strstr.h: New file, from GNU gettext.
79430         * lib/c-strstr.c: New file, from GNU gettext.
79431
79432 2006-08-28  Bruno Haible  <bruno@clisp.org>
79433
79434         * gnulib-tool: Reorder some statements.
79435
79436 2006-08-28  Bruno Haible  <bruno@clisp.org>
79437
79438         * gnulib-tool: New option --makefile-name.
79439         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
79440         $makefile_name.
79441         (func_import): Write $makefile_name to the cache file, and read it from
79442         there unless explicitly specified. Use $makefile_name as file name
79443         instead of Makefile.am. Adjust the recommendations accordingly.
79444
79445 2006-08-28  Bruno Haible  <bruno@clisp.org>
79446
79447         * gnulib-tool (func_verify_module): Check against misapplying patch.
79448
79449 2006-08-28  Bruno Haible  <bruno@clisp.org>
79450
79451         * gnulib-tool (func_relativize, func_relconcat): New functions.
79452         Give an error if --local-dir is given with --update.
79453         Remove trailing slashes from $local_gnulib_dir.
79454         (func_import): Store the relativized $local_gnulib_dir in
79455         gnulib-cache.m4, and read it from there if not specified explicitly.
79456
79457 2006-08-28  Bruno Haible  <bruno@clisp.org>
79458
79459         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
79460         is the current directory. Respect also $local_gnulib_dir.
79461
79462 2006-08-28  Bruno Haible  <bruno@clisp.org>
79463             Simon Josefsson  <jas@extundo.com>
79464
79465         BeOS portability.
79466         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
79467
79468 2006-08-27  Jim Meyering  <jim@meyering.net>
79469
79470         * doc/visibility.texi: Remove duplicate word: "pointer".
79471
79472 2006-08-26  Bruno Haible  <bruno@clisp.org>
79473
79474         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
79475         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
79476         (Makefile.am): Create inttypes.h from inttypes_.h.
79477         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
79478
79479         * modules/imaxabs: New file.
79480
79481         * modules/imaxdiv: New file.
79482
79483 2006-08-26  Bruno Haible  <bruno@clisp.org>
79484
79485         * m4/inttypes.m4: New file.
79486         * m4/_inttypes_h.m4: Remove file.
79487         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
79488         PRI_MACROS_BROKEN.
79489         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
79490
79491         * m4/imaxabs.m4: New file.
79492
79493         * m4/imaxdiv.m4: New file.
79494
79495 2006-08-26  Bruno Haible  <bruno@clisp.org>
79496
79497         * lib/inttypes_.h: New file.
79498         * lib/inttypes.h: Remove file.
79499         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
79500
79501         * lib/imaxabs.c: New file.
79502
79503         * lib/imaxdiv.c: New file.
79504
79505 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79506
79507         New config-h module, so that "make" output needn't be cluttered
79508         by -DHAVE_CONFIG_H.
79509         * MODULES.html.sh (Support for building libraries and executables):
79510         Add config-h.
79511         * modules/config-h: New file.
79512         * gnulib-tool (nl, sed_transform_lib_file): New vars.
79513         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
79514         the config-h module is used.
79515
79516         New configmake module, so that "make" output needn't be cluttered
79517         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
79518         * MODULES.html.sh (Support for building libraries and executables):
79519         Add configmake.
79520         * modules/configmake: New file.
79521
79522 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79523
79524         * m4/config-h.m4: New file.
79525
79526 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79527
79528         * config/srclist.txt: Add elisp-comp.
79529
79530 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79531
79532         * MODULES.html.sh (Support for building libraries and executables):
79533         Add elisp-comp.
79534         * build-aux/elisp-comp: New file.
79535         * modules/elisp-comp: New file.
79536
79537 2006-08-24  Bruno Haible  <bruno@clisp.org>
79538
79539         * gnulib-tool (func_create_testdir): Use non-default values of
79540         sourcebase and m4base.
79541
79542 2006-08-24  Bruno Haible  <bruno@clisp.org>
79543
79544         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
79545         HTML structure.
79546
79547 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79548
79549         * modules/openat (Depends-on): Add lchown.
79550
79551 2006-08-23  Bruno Haible  <bruno@clisp.org>
79552
79553         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
79554         of gl_LOCK_EARLY instead of gl_LOCK.
79555
79556 2006-08-23  Bruno Haible  <bruno@clisp.org>
79557
79558         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
79559         on OSF/1 to no.
79560         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
79561
79562 2006-08-23  Bruno Haible  <bruno@clisp.org>
79563
79564         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
79565         as unusable.
79566
79567         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
79568         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
79569         (gl_LOCK): New macro.
79570
79571 2006-08-22  Simon Josefsson  <jas@extundo.com>
79572
79573         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
79574         to md5 module.
79575
79576 2006-08-22  Simon Josefsson  <jas@extundo.com>
79577
79578         * MODULES.html.sh: Add "Support for maintaining and release
79579         projects".
79580
79581         * build-aux/gnupload: New file, from coreutils.
79582
79583 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79584
79585         Avoid the need for AC_LIBSOURCES in m4 macros.
79586         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
79587         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
79588         * modules/check-version (EXTRA_DIST): Add check-version.h.
79589         * modules/crc (EXTRA_DIST): Add crc.h.
79590         * modules/des (EXTRA_DIST): Add des.h.
79591         * modules/gc (EXTRA_DIST): Add gc.h.
79592         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
79593         * modules/getline (EXTRA_DIST): Add getline.h.
79594         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
79595         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
79596         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
79597         * modules/md2 (EXTRA_DIST): Add md2.h.
79598         * modules/md4 (EXTRA_DIST): Add md4.h.
79599         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
79600         * modules/read-file (EXTRA_DIST): Add read-file.h.
79601         * modules/readline (EXTRA_DIST): Add readline.h.
79602         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
79603         rijndael-api-fst.h.
79604
79605 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79606
79607         * m4/rijndael.m4 (gl_ARCFOUR):
79608         * m4/arctwo.m4 (gl_ARCTWO):
79609         * m4/check-version.m4 (gl_CHECK_VERSION):
79610         * m4/crc.m4 (gl_CRC):
79611         * m4/des.m4 (gl_DES):
79612         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
79613         * m4/gc.m4 (gl_GC):
79614         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
79615         * m4/getline.m4 (gl_FUNC_GETLINE):
79616         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
79617         * m4/hmac-md5.m4 (gl_HMAC_MD5):
79618         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
79619         * m4/md2.m4 (gl_MD2):
79620         * m4/md4.m4 (gl_MD4):
79621         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
79622         * m4/read-file.m4 (gl_FUNC_READ_FILE):
79623         * m4/readline.m4 (gl_FUNC_READLINE):
79624         * m4/rijndael.m4 (gl_RIJNDAEL):
79625         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
79626         to get the necessary .h files and whatnot.
79627
79628 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79629
79630         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
79631         gnulib rather than the other way around.
79632         * config/srclistvars.sh (COREUTILS): Remove.
79633
79634 2006-08-22  Jim Meyering  <jim@meyering.net>
79635
79636         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
79637
79638         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
79639
79640 2006-08-22  Eric Blake  <ebb9@byu.net>
79641
79642         * modules/regexprops-generic: New file.
79643         * MODULES.html.sh (Support for building documentation): List it.
79644
79645 2006-08-22  Eric Blake  <ebb9@byu.net>
79646
79647         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
79648         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
79649         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
79650         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
79651
79652 2006-08-22  Bruno Haible  <bruno@clisp.org>
79653
79654         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
79655         and lib_LTLIBRARIES like the other lib_* variables.
79656
79657 2006-08-22  Bruno Haible  <bruno@clisp.org>
79658
79659         * build-aux/x-to-1.in: New file, from GNU gettext.
79660
79661 2006-08-22  Bruno Haible  <bruno@clisp.org>
79662
79663         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
79664         <utmpx.h> exists.
79665
79666 2006-08-22  Bruno Haible  <bruno@clisp.org>
79667
79668         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
79669         <utmpx.h> exists.
79670
79671 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79672
79673         BeOS portability.
79674         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
79675         exist.
79676         Problem reported by Bruno Haible.
79677
79678 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79679
79680         Avoid the need for AC_LIBSOURCES in m4 macros.
79681         * modules/acl (EXTRA_DIST): Add acl.h.
79682         * modules/argmatch (Files): Add m4/argmatch.m4.
79683         (configure.ac): Add gl_ARGMATCH.
79684         (EXTRA_DIST): Renamed from lib_SOURCES, for
79685         consistency with the other modules.  Remove argmatch.c.
79686         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
79687         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
79688         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
79689         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
79690         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
79691         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
79692         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
79693         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
79694         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
79695         * modules/closeout (EXTRA_DIST): Add closeout.h.
79696         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
79697         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
79698         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
79699         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
79700         dirname.h; remove basename.c and stripslash.c.
79701         * modules/exclude (EXTRA_DIST): Add exclude.h.
79702         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
79703         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
79704         * modules/file-type (EXTRA_DIST): Add file-type.h.
79705         * modules/filemode (EXTRA_DIST): Add filemode.h.
79706         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
79707         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
79708         * modules/fpending (EXTRA_DIST): Add __fpending.h.
79709         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
79710         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
79711         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
79712         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
79713         * modules/getdate (EXTRA_DIST): Add getdate.c.
79714         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
79715         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
79716         * modules/getpass (EXTRA_DIST): Add getpass.h.
79717         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
79718         * modules/group-member (EXTRA_DIST): Add group-member.h.
79719         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
79720         * modules/hash (EXTRA_DIST): Add hash.h.
79721         * modules/human (EXTRA_DIST): Add human.h.
79722         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
79723         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
79724         * modules/lchown (EXTRA_DIST): Add lchown.h.
79725         * modules/long-options (EXTRA_DIST): Add long-options.h.
79726         * modules/lstat (EXTRA_DIST): Add lstat.h.
79727         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
79728         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
79729         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
79730         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
79731         * modules/memxor (EXTRA_DIST): Add memxor.h.
79732         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
79733         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
79734         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
79735         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
79736         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
79737         * modules/physmem (EXTRA_DIST): Add physmem.h.
79738         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
79739         * modules/posixver (EXTRA_DIST): Add posixver.h.
79740         * modules/quote (EXTRA_DIST): Add quote.h.
79741         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
79742         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
79743         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
79744         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
79745         regex_internal.h regexec.c.
79746         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
79747         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
79748         * modules/same (EXTRA_DIST): Add same.h.
79749         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
79750         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
79751         * modules/savedir (EXTRA_DIST): Add savedir.h.
79752         * modules/sha1 (EXTRA_DIST): Add sha1.h.
79753         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
79754         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
79755         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
79756         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
79757         * modules/strdup (EXTRA_DIST): Add strdup.h.
79758         * modules/strftime (EXTRA_DIST): Add strftime.h.
79759         * modules/strndup (EXTRA_DIST): Add strndup.h.
79760         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
79761         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
79762         * modules/time_r (EXTRA_DIST): Add time_r.h.
79763         * modules/timespec (EXTRA_DIST): Add timespec.h.
79764         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
79765         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
79766         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
79767         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
79768         * modules/userspec (EXTRA_DIST): Add userspec.h.
79769         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
79770         * modules/utimens (EXTRA_DIST): Add utimens.h.
79771         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
79772         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
79773         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
79774         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
79775         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
79776         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
79777         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
79778         * modules/yesno (EXTRA_DIST): Add yesno.h.
79779
79780 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79781
79782         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
79783
79784         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
79785         * m4/dev-ino.m4, same-inode.m4: Remove.
79786
79787         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
79788         * m4/acl.m4 (AC_FUNC_ACL):
79789         * m4/backupfile.m4 (gl_BACKUPFILE):
79790         * m4/c-strtod.m4 (gl_C99_STRTOLD):
79791         * m4/canon-host.m4 (gl_CANON_HOST):
79792         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
79793         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
79794         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
79795         * m4/cloexec.m4 (gl_CLOEXEC):
79796         * m4/close-stream.m4 (gl_CLOSE_STREAM):
79797         * m4/closeout.m4 (gl_CLOSEOUT):
79798         * m4/dirfd.m4 (gl_FUNC_DIRFD):
79799         * m4/dirname.m4 (gl_DIRNAME):
79800         * m4/exclude.m4 (gl_EXCLUDE):
79801         * m4/exitfail.m4 (gl_EXITFAIL):
79802         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
79803         * m4/file-type.m4 (gl_FILE_TYPE):
79804         * m4/filemode.m4 (gl_FILEMODE):
79805         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
79806         * m4/fpending.m4 (gl_FUNC_FPENDING):
79807         * m4/fprintftime.m4 (gl_FPRINTFTIME):
79808         * m4/fts.m4 (gl_FUNC_FTS):
79809         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
79810         * m4/getdate.m4 (gl_GETDATE):
79811         * m4/gethrxtime.m4 (gl_GETHRXTIME):
79812         * m4/getpagesize.m4 (gl_GETPAGESIZE):
79813         * m4/getpass.m4 (gl_FUNC_GETPASS):
79814         * m4/gettime.m4 (gl_GETTIME):
79815         * m4/getugroups.m4 (gl_GETUGROUPS):
79816         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
79817         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
79818         * m4/hard-locale.m4 (gl_HARD_LOCALE):
79819         * m4/hash.m4 (gl_HASH):
79820         * m4/idcache.m4 (gl_IDCACHE):
79821         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
79822         * m4/lchown.m4 (gl_FUNC_LCHOWN):
79823         * m4/long-options.m4 (gl_LONG_OPTIONS):
79824         * m4/lstat.m4 (gl_FUNC_LSTAT):
79825         * m4/md5.m4 (gl_MD5):
79826         * m4/memcasecmp.m4 (gl_MEMCASECMP):
79827         * m4/memcoll.m4 (gl_MEMCOLL):
79828         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
79829         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
79830         * m4/memxor.m4 (gl_MEMXOR):
79831         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
79832         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
79833         * m4/modechange.m4 (gl_MODECHANGE):
79834         * m4/mountlist.m4 (gl_MOUNTLIST):
79835         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
79836         * m4/openat.m4 (gl_FUNC_OPENAT):
79837         * m4/pathmax.m4 (gl_PATHMAX):
79838         * m4/physmem.m4 (gl_PHYSMEM):
79839         * m4/posixtm.m4 (gl_POSIXTM):
79840         * m4/posixver.m4 (gl_POSIXVER):
79841         * m4/quote.m4 (gl_QUOTE):
79842         * m4/quotearg.m4 (gl_QUOTEARG):
79843         * m4/readtokens.m4 (gl_READTOKENS):
79844         * m4/readutmp.m4 (gl_READUTMP):
79845         * m4/regex.m4 (gl_REGEX):
79846         * m4/safe-read.m4 (gl_SAFE_READ):
79847         * m4/safe-write.m4 (gl_SAFE_WRITE):
79848         * m4/same.m4 (gl_SAME):
79849         * m4/save-cwd.m4 (gl_SAVE_CWD):
79850         * m4/savedir.m4 (gl_SAVEDIR):
79851         * m4/settime.m4 (gl_SETTIME):
79852         * m4/sha1.m4 (gl_SHA1):
79853         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
79854         * m4/stat-macros.m4 (gl_STAT_MACROS):
79855         * m4/stat-time.m4 (gl_STAT_TIME):
79856         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
79857         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
79858         * m4/strdup.m4 (gl_FUNC_STRDUP):
79859         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
79860         * m4/strndup.m4 (gl_FUNC_STRNDUP):
79861         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
79862         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
79863         * m4/time_r.m4 (gl_TIME_R):
79864         * m4/timespec.m4 (gl_TIMESPEC):
79865         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
79866         * m4/unlinkdir.m4 (gl_UNLINKDIR):
79867         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
79868         * m4/userspec.m4 (gl_USERSPEC):
79869         * m4/utimecmp.m4 (gl_UTIMECMP):
79870         * m4/utimens.m4 (gl_UTIMENS):
79871         * m4/xalloc.m4 (gl_XALLOC):
79872         * m4/xgetcwd.m4 (gl_XGETCWD):
79873         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
79874         * m4/xreadlink.m4 (gl_XREADLINK):
79875         * m4/xstrtod.m4 (gl_XSTRTOD):
79876         * m4/yesno.m4 (gl_YESNO):
79877         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
79878         to get the necessary .h files and whatnot.
79879
79880 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
79881             Bruno Haible  <bruno@clisp.org>
79882
79883         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
79884         /bin/sh understanding of '!' conditional negation.
79885
79886 2006-08-21  Jim Meyering  <jim@meyering.net>
79887
79888         * modules/openat (Depends-on): Really alphabetize.
79889
79890         * modules/acl (Depends-on): Add error and quote.
79891
79892         * check-module (find_included_lib_files): Add at-func.c to the
79893         ok-to-include-more-than-once white list.
79894
79895         * modules/openat (Depends-on): Add lstat.  Alphabetize.
79896
79897 2006-08-21  Bruno Haible  <bruno@clisp.org>
79898
79899         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79900         Emit a pkgdata_DATA variable only if some snippets add contents to it.
79901         Reported by Martin Lambers <marlam@marlam.de>.
79902
79903 2006-08-21  Bruno Haible  <bruno@clisp.org>
79904
79905         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
79906         specify an installation location, don't emit a noinst_LIBRARIES or
79907         noinst_LTLIBRARIES assignment.
79908
79909 2006-08-21  Bruno Haible  <bruno@clisp.org>
79910
79911         BeOS portability.
79912         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
79913         BeOS has mbrtowc() but no <wctype.h>.
79914
79915 2006-08-21  Bruno Haible  <bruno@clisp.org>
79916
79917         BeOS portability.
79918         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
79919         exist.
79920
79921 2006-08-21  Bruno Haible  <bruno@clisp.org>
79922
79923         BeOS portability.
79924         * lib/mbchar.h: Include <wctype.h> only if it exists.
79925
79926 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79927
79928         Remove files that are no longer needed by their respective modules.
79929         * m4/obstack.m4: Remove.
79930         * m4/strerror_r.m4: Remove.
79931         * m4/uint32_t.m4: Remove.
79932         * m4/uintptr_t.m4: Remove.
79933         * m4/ullong_max.m4: Remove.
79934         * m4/xstrtoimax.m4: Remove.
79935         * m4/xstrtoumax.m4: Remove.
79936
79937         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
79938         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
79939         dependencies now capture this.
79940
79941         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
79942         Do not use AC_LIBSOURCES, since gnulib modules now do this.
79943         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
79944         * m4/human.m4 (gl_HUMAN): Likewise.
79945         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
79946         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
79947
79948         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
79949
79950         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
79951         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
79952         stdint.
79953         * m4/human.m4 (gl_HUMAN): Likewise.
79954         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
79955         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
79956         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79957         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79958         * m4/xstrtol (gl_XSTRTOL): Likewise.
79959
79960         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
79961         AC_TYPE_LONG_LONG_INT.
79962         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79963         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
79964         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
79965         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79966
79967         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
79968         on stdbool.
79969
79970         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
79971         (gl_PREREQ_XSTRTOUL): Remove.
79972
79973         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
79974
79975         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
79976         mode.
79977
79978 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79979
79980         Add and change modules to make it easier for coreutils to use
79981         gnulib-tool.
79982         * modules/backupfile (Files): Remove m4/d-ino.m4.
79983         (Depends-on): Add d-ino.
79984         * modules/cycle-check (Depends-on): Add stdint.
79985         (lib_SOURCES): Add cycle-check.h.
79986         * modules/d-ino: New module.
79987         * modules/d-type: New module.
79988         * modules/error (Files): Remove m4/strerror_r.m4.
79989         * modules/filemode (Files): Add m4/st_dm_mode.m4.
79990         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
79991         m4/inttypes_h.m4, m4/uintmax_t.m4.
79992         (Depends-on): Add stdint.
79993         (lib_SOURCES): Add fsusage.h.
79994         * modules/getcwd (Files): Remove d-ino.m4.
79995         (Depends-on): Add d-ino.
79996         * modules/getndelim2 (Depends-on): Add stdint.
79997         * modules/glob (Files): Remove m4/d-type.m4.
79998         (Depends-on): Add d-type.
79999         * modules/host-os: New module.
80000         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
80001         m4/inttypes_h.m4, m4/uintmax_t.m4.
80002         * Depends-on: Add stdint.
80003         (lib_SOURCES): Add human.h.
80004         * modules/inttostr (Files): Remove m4/intmax_t.m4,
80005         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
80006         m4/uintmax_t.m4, m4/ulonglong.m4.
80007         (Depends-on): Add stdint.
80008         (EXTRA_DIST): Add inttostr.h.
80009         * modules/lchmod: New module.
80010         * modules/link-follow: New module.
80011         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
80012         (Depends-on): Add lchmod.
80013         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
80014         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
80015         (Depends-on): Add stdint.
80016         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
80017         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
80018         (Depends-on): Add stdint.
80019         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
80020         * modules/perl: New module.
80021         * modules/regex (Depends-on): Add stdint.
80022         * modules/rmdir-errno: New module.
80023         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
80024         m4/intmax_t.m4.
80025         (Depends-on): Add stdint.
80026         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
80027         m4/uintmax_t.m4.
80028         (Depends-on): Add stdint.
80029         * modules/unlink-busy: New module.
80030         * modules/utimecmp (Depends-on): Add stdint.
80031         * modules/uptime: New module.
80032         * modules/winsz-ioctl: New module.
80033         * modules/winsz-termios: New module.
80034         * modules/xnanosleep (Depends-on): Add nanosleep.
80035         * modules/ullong_max: Remove.
80036         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
80037         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
80038         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
80039         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
80040         (Depends-on): Add inttypes.
80041         (lib_SOURCES): Add xstrtol.h.
80042         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
80043         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
80044         * MODULES.html.sh: Move 'assert' into the assert section.
80045         Move 'dummy' into the linking section.
80046         Remove ullong_max.
80047         Add section for compatibility checks for POSIX:2001 functions,
80048         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
80049         winsz-ioctl, and winsz-termios into it.
80050         Add lchmod.
80051         Add top-level Misc section and put host-os, perl, and uptime
80052         into it.
80053
80054 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80055
80056         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
80057         now assume the stdint module.  Do not include inttypes.h.
80058         * lib/fsusage.h: Likewise.
80059         * lib/getndelim2.c: Likewise.
80060         * lib/human.h: Likewise.
80061         * lib/inttostr.h: Likewise.
80062         * lib/obstack.c: Likewise.
80063         * lib/regex_internal.h: Likewise.
80064         * lib/tempname.c: Likewise.
80065         * lib/utimecmp.c: Likewise.
80066         * lib/xstrtol.h: Likewise.
80067
80068         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
80069
80070         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
80071         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
80072         * lib/xtime.h: Likewise.
80073
80074 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80075
80076         * modules/openat (Files): Add lib/fchmodat.c.
80077         Fixes problem reported by Jay Youngman.
80078
80079 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80080
80081         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
80082         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
80083
80084 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
80085             Bruno Haible  <bruno@clisp.org>
80086
80087         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
80088         and is a script that invokes bison. Tighten the code. Add comments.
80089
80090 2006-08-18  Jim Meyering  <jim@meyering.net>
80091
80092         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
80093         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
80094         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
80095         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
80096
80097 2006-08-18  Bruno Haible  <bruno@clisp.org>
80098
80099         * modules/bison-i18n: New file.
80100         * MODULES.html.sh (Internationalization functions): Add it.
80101
80102 2006-08-18  Bruno Haible  <bruno@clisp.org>
80103
80104         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
80105         sys/statvfs.h. When getmntinfo was found, check its declaration and
80106         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
80107
80108 2006-08-18  Bruno Haible  <bruno@clisp.org>
80109
80110         * m4/bison-i18n.m4: New file, from bison.
80111
80112 2006-08-18  Bruno Haible  <bruno@clisp.org>
80113
80114         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
80115         (ME_DUMMY): Treat "kernfs" as a dummy.
80116         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
80117
80118 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
80119
80120         Update from coreutils.
80121
80122         2006-08-15  Jim Meyering  <jim@meyering.net>
80123
80124         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
80125
80126         2006-01-17  Jim Meyering  <jim@meyering.net>
80127
80128         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
80129
80130         2006-01-11  Jim Meyering  <jim@meyering.net>
80131
80132         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
80133         Check for the lchmod function.
80134
80135 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
80136
80137         Update from coreutils.
80138
80139         * lib/__fpending.h: Add copyright notice.
80140         * lib/fprintftime.h: Likewise.
80141         * lib/savedir.c: Use (C) in copyright notice.
80142         * lib/savedir.h: Likewise.
80143
80144         2006-08-15  Jim Meyering  <jim@meyering.net>
80145
80146         * lib/at-func.c: New file, with the logic of all emulated at-functions.
80147         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
80148         in support of the EXPECTED_ERRNO macro.
80149         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
80150         definitions.  Instead, define the appropriate symbols and include
80151         "at-func.c".
80152         * lib/mkdirat.c (mkdirat): Likewise.
80153         * lib/fchmodat.c (fchmodat): Likewise.
80154         (ENOSYS): Remove definition.
80155         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
80156         it.  Don't include "unistd--.h" -- it wasn't ever used.
80157
80158         2006-01-17  Jim Meyering  <jim@meyering.net>
80159
80160         Rewrite fts.c not to change the current working directory,
80161         by using openat, fstatat, fdopendir, etc..
80162
80163         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
80164         (HAVE_OPENAT_SUPPORT): Define.
80165         [_LIBC] (fchdir): Don't undef or define; no longer used.
80166         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
80167         Now, this `function' always succeeds, and consumes its file descriptor
80168         parameter -- so callers must not close such FDs.  Update callers.
80169         (diropen_fd, opendirat, cwd_advance_fd): New functions.
80170         (diropen): Add parameter, SP.  Adjust all callers.
80171         Implement using diropen_fd, rather than open.
80172         (fts_open): Initialize new member, fts_cwd_fd.
80173         Remove fts_rft-setting code.
80174         (fts_close): Close fts_cwd_fd, if necessary.
80175         (__opendir2): Define in terms of opendir or opendirat,
80176         depending on whether the FST_NOCHDIR flag is set.
80177         (fts_build): Since fts_safe_changedir consumes its FD, and since
80178         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
80179         and close the dup'd file descriptor upon failure.
80180         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
80181         (fts_safe_changedir): Tweak semantics to reflect that this function
80182         now calls cwd_advance_fd and hence consumes its FD argument.
80183         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
80184         [struct FTS] (fts_rft): Remove now-unused member.
80185         [struct FTS] (fts_cycle.state): Improve comment.
80186
80187         * lib/openat.c (openat_needs_fchdir): New function.
80188         * lib/openat.h (openat_needs_fchdir): Declare it.
80189
80190 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
80191
80192         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
80193         Problem and fix reported by Pádraig Brady in
80194         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
80195
80196 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
80197
80198         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
80199
80200 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
80201
80202         * lib/memcoll.c (memcoll): Optimize for the common case where the
80203         arguments are bytewise equal.
80204
80205 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
80206
80207         * doc/regexprops-generic.texi: Add a copyright notice.
80208
80209 2006-08-15  Bruno Haible  <bruno@clisp.org>
80210
80211         * modules/tmpdir (License): Change to LGPL.
80212
80213 2006-08-15  Bruno Haible  <bruno@clisp.org>
80214
80215         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
80216         module.
80217
80218 2006-08-14  Simon Josefsson  <jas@extundo.com>
80219
80220         * config/srclist.txt: Add gnupload.
80221
80222 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
80223
80224         Change copyright notice from LGPL 2 to GPL 2, since that's the
80225         standard form used in the gnulib repository.
80226         * tests/test-lock.c: Likewise.
80227         * tests/test-stdint.c: Likewise.
80228         * tests/test-tls.c: Likewise.
80229
80230         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
80231         prelude-manager.  User shorter URLs for GNU projects, without '?'.
80232         Add copyright notice.
80233
80234         * check-module: Add copyright notice.  Output a copyright
80235         notice if "--version" is specified.
80236         * modules/COPYING: New file.
80237         * tests/test-getaddrinfo.c: Add copyright notice.
80238         * tests/test-verify.c: Likewise.
80239
80240 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
80241
80242         Change copyright notice from LGPL 2 to GPL 2, since that's the
80243         standard form used in the gnulib repository.
80244         * lib/lock.c: LGPL -> GPL.
80245         * lib/lock.h: Likewise.
80246         * lib/strnlen1.c: Likewise.
80247         * lib/strnlen1.h: Likewise.
80248         * lib/tls.c: Likewise.
80249         * lib/tls.h: Likewise.
80250         * lib/tmpdir.c: Likewise.
80251
80252         * lib/TODO: Remove; this belongs only in coreutils.
80253
80254 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
80255
80256         Add copyright notices to long-enough files that lack them, since
80257         otherwise the files aren't clearly free.  Use the same notice that
80258         getdate.texi already uses.
80259         * doc/alloca-opt.texi: Add copyright notice.
80260         * doc/alloca.texi: Likewise.
80261         * doc/ctime.texi: Likewise.
80262         * doc/functions.texi: Likewise.
80263         * doc/gcd.texi: Likewise.
80264         * doc/gnulib-tool.texi: Likewise.
80265         * doc/inet_ntoa.texi: Likewise.
80266         * doc/visibility.texi: Likewise.
80267
80268         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
80269         * doc/quote.texi: Add copyright notice.
80270
80271         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
80272         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
80273         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
80274         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
80275         is now obsolete, and give a pointer to the Sun list.
80276         Add copyright notice.
80277
80278 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
80279
80280         * config/srclistvars.sh: Add copyright notice.
80281
80282 2006-08-14  Eric Blake  <ebb9@byu.net>
80283
80284         Import the following change from libc:
80285
80286         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
80287
80288         Upstream bug 2997.
80289         * lib/misc/error.c: Add space between program name and message if file
80290         name is missing.
80291
80292 2006-08-12  Karl Berry  <karl@gnu.org>
80293
80294         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
80295         remove, these originate in gnulib now.
80296
80297 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80298
80299         * doc/Makefile (standards.info standards.html standards.dvi):
80300         Also depend on make-stds.texi.
80301
80302 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
80303
80304         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
80305         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
80306
80307         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
80308         in wchar_t.  Problem reported by Eric Blake.
80309
80310         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
80311         LEN is smaller than SIZE.  Suggested by Bruno Haible.
80312         Also, help the compiler to keep LEN in a register.
80313
80314 2006-08-11  Eric Blake  <ebb9@byu.net>
80315
80316         * users.txt: Sort.  Add tar.
80317
80318 2006-08-11  Bruno Haible  <bruno@clisp.org>
80319
80320         * users.txt: New file.
80321
80322 2006-08-11  Bruno Haible  <bruno@clisp.org>
80323
80324         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
80325         before <wchar.h>. Needed for OSF/1 and BSD/OS.
80326
80327 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
80328
80329         * modules/snprintf (Depends-on): Remove minmax.
80330         (Maintainer): Add self and Bruno.
80331
80332 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
80333
80334         * lib/.cppi-disable: Add snprintf.h, socket_.h.
80335         * lib/snprintf.c: Include <errno.h> and <limits.h>.
80336         (EOVERFLOW): Define if the system does not.
80337         Do not include "minmax.h"; it wasn't used.
80338         (snprintf): Don't assume size_t promotes to an unsigned type.
80339         Fix bug when generated string was too long for the buffer: the
80340         buffer's contents are supposed to be the initial prefix of the
80341         output.  Don't assume vasnprintf returns EOVERFLOW if the size
80342         exceeds INT_MAX; do the check ourselves.
80343
80344         Import the following changes from libc:
80345
80346         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
80347
80348         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
80349         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
80350         set wc to the byte which couldn't be converted.
80351         (re_string_reconstruct): Don't clear valid_raw_len before calling
80352         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
80353         tip_context using re_string_context_at.
80354
80355         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
80356
80357         * lib/posix/regex.h: g++ still cannot handled [restrict].
80358
80359         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
80360
80361         * lib/posix/regex.h: Remove special handling for VMS.
80362
80363 2006-08-10  Jim Meyering  <jim@meyering.net>
80364
80365         * modules/same-inode: New module.
80366         * modules/dev-ino: New module.
80367         * modules/cycle-check: Depend on these modules, rather than simply
80368         including their .h files.
80369         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
80370         required via m4/cycle-check.m4.
80371         * modules/same: Depend on new same-inode module, rather than
80372         including same-inode.h.
80373         * modules/chdir-safer: New file.
80374
80375         * modules/chown (Depends-on): Add stat-macros.
80376
80377 2006-08-10  Jim Meyering  <jim@meyering.net>
80378
80379         * m4/cycle-check.m4: New file.
80380         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
80381         * m4/dev-ino.m4, m4/same-inode.m4: New files.
80382
80383 2006-08-10  Eric Blake  <ebb9@byu.net>
80384
80385         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
80386         in from original proposal.
80387
80388 2006-08-10  Eric Blake  <ebb9@byu.net>
80389         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
80390
80391         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
80392         namespace.
80393
80394 2006-08-10  Bruno Haible  <bruno@clisp.org>
80395
80396         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
80397         as well.
80398
80399 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80400
80401         Sync from coreutils.
80402
80403         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
80404
80405         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
80406         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
80407
80408 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80409
80410         * modules/restrict: Remove; no longer needed now that we assume
80411         Autoconf 2.59 or later.
80412         * MODULES.html.sh: Remove 'restrict'.
80413         * modules/argp (Depends-on): Remove 'restrict'.
80414         * modules/base64 (Depends-on): Likewise.
80415         * modules/gc (Depends-on): Likewise.
80416         * modules/getaddrinfo (Depends-on): Likewise.
80417         * modules/glob (Depends-on): Likewise.
80418         * modules/inet_ntop (Depends-on): Likewise.
80419         * modules/inet_pton (Depends-on): Likewise.
80420         * modules/memxor (Depends-on): Likewise.
80421         * modules/regex (Depends-on): Likewise.
80422         * modules/strtok_r (Depends-on): Likewise.
80423         * modules/time_r (Depends-on): Likewise.
80424
80425 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80426
80427         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
80428         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
80429         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
80430         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
80431         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
80432         * m4/memxor.m4 (gl_MEMXOR): Likewise.
80433         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
80434         gl_C_RESTRICT replaced by AC_C_RESTRICT.
80435
80436         Merge from coreutils.
80437         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
80438         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
80439         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
80440         * m4/time_r.m4 (gl_TIME_R): Likewise.
80441
80442 2006-08-09  Karl Berry  <karl@gnu.org>
80443
80444         * config/srclist.txt: no more gettext-tools, per Bruno.
80445
80446 2006-08-08  Eric Blake  <ebb9@byu.net>
80447
80448         * modules/verror: New module.
80449         * MODULES.html.sh: Document it.
80450
80451 2006-08-08  Eric Blake  <ebb9@byu.net>
80452
80453         * lib/verror.h, lib/verror.c: New files.
80454
80455 2006-08-08  Eric Blake  <ebb9@byu.net>
80456
80457         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
80458         verror_at_line output complies with GNU Coding Standards even when
80459         file is NULL.
80460
80461 2006-08-07  Bruno Haible  <bruno@clisp.org>
80462
80463         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
80464         versions of AIX.
80465         Reported by Ralf Wildenhues.
80466
80467 2006-08-07  Bruno Haible  <bruno@clisp.org>
80468
80469         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
80470         in an AC_DEFUN. Needed so that the autoconf snippets can use
80471         AC_REQUIRE.
80472
80473 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80474
80475         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80476         Initialize pkgdata_DATA.
80477         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
80478         overriding it.
80479
80480 2006-08-06  Eric Blake  <ebb9@byu.net>
80481
80482         * lib/error.h: Fold in some upstream changes from glibc.
80483         * lib/error.c: Likewise.
80484
80485 2006-08-04  Bruno Haible  <bruno@clisp.org>
80486
80487         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80488         Make the mostlyclean-local rule depend on mostlyclean-generic.
80489         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
80490
80491 2006-07-31  Bruno Haible  <bruno@clisp.org>
80492
80493         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
80494         <stdlib.h>, <string.h>.
80495
80496 2006-07-30  Bruno Haible  <bruno@clisp.org>
80497
80498         * modules/readlink (License): Change to LGPL.
80499
80500 2006-07-30  Bruno Haible  <bruno@clisp.org>
80501
80502         * modules/javaversion (Makefile.am): Distribute javaversion.java and
80503         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
80504         set PKGDATADIR to point to it.
80505
80506 2006-07-30  Bruno Haible  <bruno@clisp.org>
80507
80508         * modules/csharpexec (configure.ac): Comment out macro invocation.
80509         * modules/javaexec (configure.ac): Likewise.
80510         * modules/javacomp-script (configure.ac): Likewise.
80511
80512         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
80513
80514 2006-07-30  Bruno Haible  <bruno@clisp.org>
80515
80516         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
80517         linked-list.
80518
80519 2006-07-30  Bruno Haible  <bruno@clisp.org>
80520
80521         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
80522
80523 2006-07-30  Bruno Haible  <bruno@clisp.org>
80524
80525         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80526         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
80527         get removed.
80528
80529 2006-07-29  Bruno Haible  <bruno@clisp.org>
80530
80531         Make it possible for gnulib-tool to work with locally modified or
80532         augmented gnulib repositories.
80533         * gnulib-tool (func_usage): Document --local-dir option.
80534         (local_gnulib_dir): New variable.
80535         Handle --local-dir option.
80536         (func_lookup_file): New function.
80537         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
80538         (func_get_description, func_get_filelist, func_get_description,
80539         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
80540         func_get_automake_snippet, func_get_include_directive,
80541         func_get_license, func_get_maintainer): Use func_lookup_file.
80542         (func_import, func_create_testdir): Use func_lookup_file.
80543
80544 2006-07-29  Bruno Haible  <bruno@clisp.org>
80545
80546         * modules/setenv (Depends-on): Add unistd.
80547
80548 2006-07-29  Bruno Haible  <bruno@clisp.org>
80549
80550         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
80551
80552 2006-07-29  Bruno Haible  <bruno@clisp.org>
80553
80554         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
80555
80556 2006-07-29  Bruno Haible  <bruno@clisp.org>
80557
80558         * gnulib-tool (import, update): If there is no Makefile.am, look at
80559         aclocal.m4, instead of bailing out.
80560
80561 2006-07-29  Bruno Haible  <bruno@clisp.org>
80562
80563         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
80564         Categorize the options by when they are useful.
80565
80566 2006-07-29  Bruno Haible  <bruno@clisp.org>
80567
80568         * gnulib-tool (func_usage): Document option --no-libtool.
80569         Handle option --no-libtool.
80570         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
80571         for changed semantics of $libtool variable.
80572         (func_import): Likewise. If libtool is not used, show this through
80573         an option --no-libtool.
80574         (func_create_testdir): Update.
80575
80576 2006-07-29  Bruno Haible  <bruno@clisp.org>
80577
80578         * gnulib-tool (func_import): Extend error message about missing
80579         --doc-base.
80580
80581 2006-07-29  Bruno Haible  <bruno@clisp.org>
80582
80583         * gnulib-tool (func_import): Don't create the $docbase directory if
80584         there is no file to store there.
80585
80586 2006-07-29  Bruno Haible  <bruno@clisp.org>
80587
80588         * gnulib-tool (autoconf_minversion): If a --dir option is given and
80589         relevant, look for configure.ac there, not in the current directory.
80590         Also use a simple search for AC_PREREQ, not "autoconf --trace".
80591
80592 2006-07-29  Bruno Haible  <bruno@clisp.org>
80593
80594         * gnulib-tool (SORT): New variable.
80595         (func_usage): Undocument --assume-autoconf option.
80596         Remove --assume-autoconf option handling.
80597         (autoconf_minversion): Determine from the contents of configure.ac.
80598         (func_import): Remove autoconf_minversion handling.
80599         Suggested by Eric Blake.
80600
80601 2006-07-29  Bruno Haible  <bruno@clisp.org>
80602
80603         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
80604
80605 2006-07-29  Bruno Haible  <bruno@clisp.org>
80606
80607         * config/srclist.txt (*setenv.[ch]): Remove rules.
80608
80609 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80610
80611         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
80612
80613 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80614
80615         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
80616         arpa/inet.h.
80617
80618 2006-07-28  Simon Josefsson  <jas@extundo.com>
80619
80620         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
80621         * modules/inet_pton (Depends-on): Likewise.
80622
80623 2006-07-28  Simon Josefsson  <jas@extundo.com>
80624
80625         * m4/netinet_in_h.m4: New file.
80626
80627 2006-07-28  Simon Josefsson  <jas@extundo.com>
80628
80629         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
80630         #include's.
80631
80632 2006-07-28  Simon Josefsson  <jas@extundo.com>
80633
80634         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
80635         #include's.
80636
80637 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
80638
80639         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
80640         setgid on directories only if they set these bits.
80641         * lib/modechange.h: Remove obsolete comment about masks.
80642
80643 2006-07-28  Eric Blake  <ebb9@byu.net>
80644
80645         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
80646         macro expansion.
80647
80648 2006-07-28  Bruno Haible  <bruno@clisp.org>
80649
80650         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
80651
80652 2006-07-28  Bruno Haible  <bruno@clisp.org>
80653
80654         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
80655
80656 2006-07-28  Bruno Haible  <bruno@clisp.org>
80657
80658         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
80659         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
80660         Define fallbacks.
80661         Avoids link error on FreeBSD 4.x.
80662         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
80663
80664         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
80665         encoding.
80666         * lib/mbswidth.c (iswcntrl): Likewise.
80667
80668 2006-07-27  Bruno Haible  <bruno@clisp.org>
80669
80670         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
80671         test.
80672
80673 2006-07-27  Bruno Haible  <bruno@clisp.org>
80674
80675         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
80676         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
80677         defined.
80678
80679 2006-07-26  Eric Blake  <ebb9@byu.net>
80680
80681         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
80682
80683 2006-07-26  Eric Blake  <ebb9@byu.net>
80684
80685         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
80686         like mingw that lack mkstemp.
80687         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
80688         avoid compilation warning on mingw.
80689
80690 2006-07-26  Bruno Haible  <bruno@clisp.org>
80691
80692         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
80693         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
80694         INT_FAST*_MIN, INTPTR_MIN.
80695
80696 2006-07-25  Bruno Haible  <bruno@clisp.org>
80697
80698         * modules/version-etc (Depends-on): Add stdarg.
80699
80700 2006-07-25  Bruno Haible  <bruno@clisp.org>
80701
80702         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
80703         complex commands.
80704
80705 2006-07-25  Bruno Haible  <bruno@clisp.org>
80706
80707         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
80708         defined in <stdarg.h> or config.h.
80709
80710 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
80711
80712         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
80713         (gl_STDIO_SAFER): Remove.
80714
80715 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
80716
80717         * MODULES.html.sh (File stream based Input/Output):
80718         Add fopen-safer, tmpfile-safer; remove stdio-safer.
80719         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
80720         * modules/fopen-safer, modules/tmpfile-safer: New files.
80721         * modules/stdio-safer: Remove.
80722
80723 2006-07-24  Bruno Haible  <bruno@clisp.org>
80724
80725         * modules/tmpdir: New file.
80726         * MODULES.html.sh (File system functions): Add it.
80727
80728 2006-07-24  Bruno Haible  <bruno@clisp.org>
80729
80730         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
80731         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
80732
80733 2006-07-24  Bruno Haible  <bruno@clisp.org>
80734
80735         * modules/clean-temp: New file.
80736
80737 2006-07-24  Bruno Haible  <bruno@clisp.org>
80738
80739         * m4/tmpdir.m4: New file, from GNU gettext.
80740
80741 2006-07-24  Bruno Haible  <bruno@clisp.org>
80742
80743         * lib/tmpdir.h: New file, from GNU gettext.
80744         * lib/tmpdir.c: New file, from GNU gettext.
80745
80746 2006-07-24  Bruno Haible  <bruno@clisp.org>
80747
80748         * lib/clean-temp.h: New file, from GNU gettext.
80749         * lib/clean-temp.c: New file, from GNU gettext.
80750
80751 2006-07-23  Eric Blake  <ebb9@byu.net>
80752
80753         * modules/stdio-safer (Files): Add tmpfile-safer.c.
80754         (Depends-on): Add binary-io.
80755
80756 2006-07-23  Eric Blake  <ebb9@byu.net>
80757
80758         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
80759
80760 2006-07-23  Eric Blake  <ebb9@byu.net>
80761
80762         * lib/tmpfile-safer.c: New file.
80763         * lib/stdio-safer.h (fopen_safer): Add prototype.
80764         * lib/stdio--.h (tmpfile): Make safer.
80765
80766 2006-07-23  Bruno Haible  <bruno@clisp.org>
80767
80768         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
80769         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
80770         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
80771         gl_linked_remove_at): Use it.
80772
80773 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80774         and Simon Josefsson <jas@extundo.com>
80775
80776         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
80777
80778         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
80779
80780 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80781
80782         * modules/close-stream: New file.
80783         * modules/closeout (Description): Make it clear that it exits
80784         with a diagnostic on error.
80785         (Depends-on): Add close-stream.  Remove fpending, stdbool.
80786         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
80787
80788 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80789
80790         * m4/close-stream.m4: New file.
80791
80792 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80793
80794         * lib/close-stream.c, lib/close-stream.h: New files.
80795
80796 2006-07-22  Bruno Haible  <bruno@clisp.org>
80797
80798         Merge from GNU gettext 0.15.
80799
80800         2006-05-01  Bruno Haible  <bruno@clisp.org>
80801
80802                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
80803
80804         2006-07-22  Bruno Haible  <bruno@clisp.org>
80805
80806                 * modules/javaversion: New file.
80807                 * MODULES.html.sh (Java): Add javaversion.
80808
80809         2006-03-12  Bruno Haible  <bruno@clisp.org>
80810
80811                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
80812
80813         2005-12-04  Bruno Haible  <bruno@clisp.org>
80814
80815                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
80816                 (untested).
80817
80818         2006-06-21  Bruno Haible  <bruno@clisp.org>
80819
80820                 Avoid warnings from recent versions of mcs.
80821                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
80822                 -o, -L, -r any more. Use options documented since mcs-1.0
80823                 instead. Similarly for -g.
80824
80825         2005-12-04  Bruno Haible  <bruno@clisp.org>
80826
80827                 * build-aux/csharpcomp.sh.in: Suffix for resources is
80828                 .resources, not .resource.
80829
80830         2005-07-09  Bruno Haible  <bruno@clisp.org>
80831
80832                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
80833                 add a .dll suffix.
80834                 Reported by Mark Junker <mjscod@gmx.de>.
80835
80836         2006-07-22  Bruno Haible  <bruno@clisp.org>
80837
80838                 * modules/gettext: Upgrade to gettext-0.15.
80839                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
80840                 m4/visibility.m4.
80841                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
80842
80843 2006-07-22  Bruno Haible  <bruno@clisp.org>
80844
80845         Merge from GNU gettext 0.15.
80846
80847         2006-03-25  Bruno Haible  <bruno@clisp.org>
80848
80849                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
80850
80851         2006-07-21  Bruno Haible  <bruno@clisp.org>
80852
80853                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
80854                 "1.1".
80855
80856         2006-05-09  Bruno Haible  <bruno@clisp.org>
80857
80858                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
80859                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
80860                 for the conftestver execution.
80861
80862         2006-05-01  Bruno Haible  <bruno@clisp.org>
80863
80864                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
80865                 optional target-version argument. Verify that the compiler
80866                 groks source of the specified source-version, or add -source
80867                 option as necessary. Verify that the compiler produces
80868                 bytecode in the specified target-version, or add -target and
80869                 -source options as necessary. Make the result of the test
80870                 available as variable CONF_JAVAC. Also log error output in
80871                 config.log.
80872
80873         2006-03-11  Bruno Haible  <bruno@clisp.org>
80874
80875                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
80876
80877         2006-05-09  Bruno Haible  <bruno@clisp.org>
80878
80879                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
80880                 CLASSPATH_SEPARATOR to a semicolon.
80881
80882         2006-03-12  Bruno Haible  <bruno@clisp.org>
80883
80884                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
80885                 available as variable CONF_JAVA, for subsequent autoconf
80886                 tests. Also log error output in config.log.
80887
80888         2006-07-19  Bruno Haible  <bruno@clisp.org>
80889
80890                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
80891                 that getline works on glibc2 systems. Needed to avoid trouble
80892                 in relocatable.c.
80893                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
80894
80895         2005-12-04  Bruno Haible  <bruno@clisp.org>
80896
80897                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
80898                 launcher (untested).
80899
80900         2005-12-04  Bruno Haible  <bruno@clisp.org>
80901
80902                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
80903
80904         2006-07-22  Bruno Haible  <bruno@clisp.org>
80905
80906                 * gettext.m4: Update from GNU gettext-0.15.
80907                 * nls.m4: Likewise.
80908                 * po.m4: Likewise.
80909                 * inttypes-pri.m4: Likewise.
80910                 * inttypes-h.m4: Renamed from inttypes.m4.
80911                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
80912
80913 2006-07-22  Bruno Haible  <bruno@clisp.org>
80914
80915         Merge from GNU gettext 0.15.
80916
80917         2005-07-05  Bruno Haible  <bruno@clisp.org>
80918
80919                 * printf-args.c (printf_fetchargs): Work around broken
80920                 definition of wint_t on mingw.
80921
80922         2005-02-12  Bruno Haible  <bruno@clisp.org>
80923
80924                 * xallocsa.h: Add extern "C" for C++.
80925
80926         2006-05-17  Bruno Haible  <bruno@clisp.org>
80927
80928                 Cygwin portability.
80929                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
80930
80931         2006-04-30  Bruno Haible  <bruno@clisp.org>
80932
80933                 * progreloc.c: Include <mach-o/dyld.h> if available.
80934                 (find_executable): Use _NSGetExecutablePath when possible.
80935
80936         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
80937
80938                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
80939                 function.
80940
80941         2005-12-29  Bruno Haible  <bruno@clisp.org>
80942
80943                 * progreloc.c (set_program_name_and_installdir): Fix
80944                 compilation error.
80945
80946         2005-12-04  Bruno Haible  <bruno@clisp.org>
80947
80948                 Cygwin portability.
80949                 * progreloc.c: Include <windows.h> also on Cygwin.
80950                 (find_executable): Add support for Cygwin.
80951                 (set_program_name_and_installdir): Handle also platforms with
80952                 nonempty EXEEXT.
80953
80954         2006-07-11  Bruno Haible  <bruno@clisp.org>
80955
80956                 * javacomp.c: Fix a comment.
80957                 Reported by Jim Meyering.
80958
80959         2006-04-30  Bruno Haible  <bruno@clisp.org>
80960
80961                 * javacomp.h (compile_java_class): Add source_version,
80962                 target_version arguments.
80963                 * javacomp.c: Rewritten to choose only a compiler that
80964                 respects the specified source_version and target_version.
80965
80966         2006-06-27  Bruno Haible  <bruno@clisp.org>
80967
80968                 Assume correct S_ISDIR macro.
80969                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
80970
80971         2006-07-22  Bruno Haible  <bruno@clisp.org>
80972
80973                 * javaversion.h: New file, from GNU gettext.
80974                 * javaversion.c: New file, from GNU gettext.
80975                 * javaversion.java: New file, from GNU gettext.
80976                 * javaversion.class: New file, from GNU gettext.
80977
80978         2006-05-17  Bruno Haible  <bruno@clisp.org>
80979
80980                 Cygwin portability.
80981                 * javaexec.c (execute_java_class): Test for jview program
80982                 also on Cygwin.
80983
80984         2006-04-09  Bruno Haible  <bruno@clisp.org>
80985
80986                 * fatal-signal.c: Don't include string.h.
80987                 (at_fatal_signal): Use a copying loop instead of memcpy.
80988
80989         2005-12-04  Bruno Haible  <bruno@clisp.org>
80990
80991                 * csharpexec.c: Add support for 'clix' launcher (untested).
80992                 (execute_csharp_using_sscli): New function.
80993                 (execute_csharp_program): Call it.
80994
80995         2006-06-21  Bruno Haible  <bruno@clisp.org>
80996
80997                 Avoid warnings from recent versions of mcs.
80998                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
80999                 -o, -L, -r any more. Use options documented since mcs-1.0
81000                 instead. Similarly for -g.
81001
81002         2005-07-09  Bruno Haible  <bruno@clisp.org>
81003
81004                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
81005                 add a .dll suffix.
81006                 Reported by Mark Junker <mjscod@gmx.de>.
81007
81008         2006-06-17  Bruno Haible  <bruno@clisp.org>
81009
81010                 * config.charset: Update for NetBSD 3.0.
81011
81012         2006-05-17  Bruno Haible  <bruno@clisp.org>
81013
81014                 Cygwin portability.
81015                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
81016
81017         2006-05-16  Bruno Haible  <bruno@clisp.org>
81018
81019                 * localcharset.c [CYGWIN]: Include <windows.h>.
81020                 (get_charset_aliases): For Cygwin, return the same CPxxx
81021                 aliases list as under WIN32.
81022                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
81023                 the environment variables. Fall back to GetACP().
81024
81025         2006-04-05  Bruno Haible  <bruno@clisp.org>
81026
81027                 * config.charset: Update Juan Manuel Guerrero's address.
81028
81029         2005-02-12  Bruno Haible  <bruno@clisp.org>
81030
81031                 * allocsa.h: Add extern "C" for C++.
81032
81033         2005-02-10  Bruno Haible  <bruno@clisp.org>
81034
81035                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
81036                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
81037
81038         2006-07-22  Bruno Haible  <bruno@clisp.org>
81039
81040                 * gettext.h: Update to GNU gettext-0.15.
81041
81042 2006-07-22  Bruno Haible  <bruno@clisp.org>
81043
81044         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
81045         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
81046         lib-prefix.m4, longdouble.m4, ssize_t.m4.
81047
81048 2006-07-21  Eric Blake  <ebb9@byu.net>
81049
81050         * modules/stdlib-safer: New file.
81051         * MODULES.html.sh (File stream based Input/Output): Add
81052         stdlib-safer.
81053
81054 2006-07-21  Eric Blake  <ebb9@byu.net>
81055
81056         * lib/stdlib-safer.h: New file from coreutils, required by
81057         stdlib--.h.
81058
81059 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
81060
81061         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
81062
81063 2006-07-20  Bruno Haible  <bruno@clisp.org>
81064
81065         * gnulib-tool: Recognize new option --assume-autoconf.
81066         (autoconf_minversion): New variable.
81067         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
81068
81069 2006-07-20  Bruno Haible  <bruno@clisp.org>
81070
81071         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
81072
81073 2006-07-19  Derek R. Price  <derek@ximbiot.com>
81074
81075         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
81076         Reindent and repaginate.
81077
81078 2006-07-19  Derek Price  <derek@ximbiot.com>
81079
81080         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
81081         Correct grammar.
81082
81083 2006-07-17  Bruno Haible  <bruno@clisp.org>
81084
81085         * modules/list: New file.
81086         * modules/array-list: New file.
81087         * modules/carray-list, modules/carray-list-tests: New files.
81088         * modules/linked-list, modules/linked-list-tests: New files.
81089         * modules/avltree-list, modules/avltree-list-tests: New files.
81090         * modules/rbtree-list, modules/rbtree-list-tests: New files.
81091         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
81092         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
81093         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
81094         * modules/oset: New file.
81095         * modules/array-oset: New file.
81096         * modules/avltree-oset, modules/avltree-oset-tests: New files.
81097         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
81098         * tests/test-carray_list.c: New file.
81099         * tests/test-linked_list.c: New file.
81100         * tests/test-avltree_list.c: New file.
81101         * tests/test-rbtree_list.c: New file.
81102         * tests/test-linkedhash_list.c: New file.
81103         * tests/test-avltreehash_list.c: New file.
81104         * tests/test-rbtreehash_list.c: New file.
81105         * tests/test-avltree_oset.c: New file.
81106         * tests/test-rbtree_oset.c: New file.
81107         * MODULES.html.sh (Container data structures): New section.
81108
81109 2006-07-17  Bruno Haible  <bruno@clisp.org>
81110
81111         * m4/gl_list.m4: New file.
81112
81113 2006-07-17  Bruno Haible  <bruno@clisp.org>
81114
81115         * lib/gl_list.h: New file.
81116         * lib/gl_list.c: New file.
81117         * lib/gl_array_list.h: New file.
81118         * lib/gl_array_list.c: New file.
81119         * lib/gl_carray_list.h: New file.
81120         * lib/gl_carray_list.c: New file.
81121         * lib/gl_linked_list.h: New file.
81122         * lib/gl_linked_list.c: New file.
81123         * lib/gl_anylinked_list1.h: New file.
81124         * lib/gl_anylinked_list2.h: New file.
81125         * lib/gl_avltree_list.h: New file.
81126         * lib/gl_avltree_list.c: New file.
81127         * lib/gl_anyavltree_list1.h: New file.
81128         * lib/gl_anyavltree_list2.h: New file.
81129         * lib/gl_rbtree_list.h: New file.
81130         * lib/gl_rbtree_list.c: New file.
81131         * lib/gl_anyrbtree_list1.h: New file.
81132         * lib/gl_anyrbtree_list2.h: New file.
81133         * lib/gl_anytree_list1.h: New file.
81134         * lib/gl_anytree_list2.h: New file.
81135         * lib/gl_linkedhash_list.h: New file.
81136         * lib/gl_linkedhash_list.c: New file.
81137         * lib/gl_anyhash_list1.h: New file.
81138         * lib/gl_anyhash_list2.h: New file.
81139         * lib/gl_avltreehash_list.h: New file.
81140         * lib/gl_avltreehash_list.c: New file.
81141         * lib/gl_rbtreehash_list.h: New file.
81142         * lib/gl_rbtreehash_list.c: New file.
81143         * lib/gl_anytreehash_list1.h: New file.
81144         * lib/gl_anytreehash_list2.h: New file.
81145
81146         * lib/gl_oset.h: New file.
81147         * lib/gl_oset.c: New file.
81148         * lib/gl_array_oset.h: New file.
81149         * lib/gl_array_oset.c: New file.
81150         * lib/gl_avltree_oset.h: New file.
81151         * lib/gl_avltree_oset.c: New file.
81152         * lib/gl_rbtree_oset.h: New file.
81153         * lib/gl_rbtree_oset.c: New file.
81154         * lib/gl_anytree_oset.h: New file.
81155
81156 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
81157
81158         * m4/mkancesdirs.m4: New file.
81159         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
81160         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
81161         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
81162         it.
81163
81164 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
81165
81166         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
81167         * lib/mkancesdirs.h: New files.
81168         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
81169         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
81170         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
81171         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
81172         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
81173         callers changed.  Revamp internals significantly, by not
81174         attempting to create directories that are temporarily more
81175         permissive than the final results.  Do not attempt to use
81176         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
81177         This removes some race conditions, fixes some bugs, and simplifies
81178         things.  Use new dirchownmod function to do owner and mode changes.
81179         * lib/mkdir-p.h: Likewise.
81180         * lib/modechange.c (octal_to_mode): New function.
81181         (struct mode_change): New member mentioned.
81182         (make_node_op_equals): New arg mentioned.  All callers changed.
81183         (mode_compile): Keep track of which mode bits the user has explicitly
81184         mentioned.
81185         (mode_adjust): New arg DIR, so that we implement the X op correctly.
81186         New arg PMODE_BITS, to keep track of which mode bits the user
81187         mentioned; it treats S_ISUID and S_ISGID speciall.
81188         All callers changed.
81189         * lib/modechange.h: Likewise.
81190
81191 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
81192
81193         * MODULES.html.sh: Add mkancestors.
81194         * modules/mkancesdirs: New module.
81195         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
81196         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
81197         The chdir-safer and afs files are now orphans; I'll remove them
81198         unless someone speaks up.
81199         Add lib/dirchownmod.c, lib/dirchownmod.h.
81200         (Depends-on): Remove alloca, chown, save-cwd, dirname.
81201         Add lchown, mkancesdirs.
81202         (Maintainer): Add self.
81203
81204 2006-07-15  Karl Berry  <karl@gnu.org>
81205
81206         * gnulib-tool: help message wording/arrangement.
81207
81208 2006-07-14  Simon Josefsson  <jas@extundo.com>
81209
81210         * doc/gnulib.texi (Libtool and Windows): New section.
81211
81212 2006-07-12  Simon Josefsson  <jas@extundo.com>
81213
81214         * modules/gendocs (License): Fix license, approved by Karl.
81215
81216 2006-07-12  Eric Blake  <ebb9@byu.net>
81217
81218         * MODULES.html.sh: Add gendocs.
81219
81220 2006-07-11  Eric Blake  <ebb9@byu.net>
81221
81222         * modules/fdl: New module, to install doc/fdl.texi.
81223         * MODULES.html.sh: Add new section for documentation modules.
81224         * gnulib-tool: Avoid space-tab.
81225         (--doc-base): New option, to manage files from doc.
81226
81227 2006-07-11  Eric Blake  <ebb9@byu.net>
81228
81229         * m4/absolute-header.m4: Fix comments to match recent change.
81230
81231 2006-07-11  Eric Blake  <ebb9@byu.net>
81232
81233         * gnulib-tool: List --doc-base before --tests-base.
81234
81235 2006-07-11  Derek R. Price  <derek@ximbiot.com>
81236
81237         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
81238
81239 2006-07-11  Bruno Haible  <bruno@clisp.org>
81240
81241         * README: Mention where to put documentation.
81242
81243 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81244
81245         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
81246
81247 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
81248
81249         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
81250         to stdint.m4.
81251
81252 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
81253
81254         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
81255         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
81256         "no/such/file/stdint.h" when there is no such file, so that
81257         the resulting C code can be parsed by dodgy compilers.
81258         Problems reported by Bob Proulx.
81259
81260 2006-07-10  Derek R. Price  <derek@ximbiot.com>
81261
81262         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
81263         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
81264         macros into the GNU _D_EXACT_NAMLEN.
81265         * lib/savedir.c:  Likewise.
81266         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
81267
81268 2006-07-10  Derek R. Price  <derek@ximbiot.com>
81269         and Paul Eggert  <eggert@cs.ucla.edu>
81270
81271         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
81272         * m4/savedir.m4:
81273         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
81274         macros into the GNU _D_EXACT_NAMLEN.
81275
81276 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
81277
81278         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
81279         around the absolute name, to work around a problem with the HP-UX
81280         11.23 native C compiler, reported by Bob Proulx.
81281
81282 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
81283
81284         * doc/maintain.texi, make-stds.texi: Sync from
81285         <http://savannah.gnu.org/projects/gnustandards>.
81286
81287 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
81288
81289         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
81290
81291 2006-07-09  Jim Meyering  <jim@meyering.net>
81292
81293         * m4/glob.m4: Remove a doubled word in a comment.
81294
81295 2006-07-09  Jim Meyering  <jim@meyering.net>
81296
81297         * lib/argp-pv.c: Remove a doubled word in a comment.
81298         * lib/check-version.c (check_version): Likewise.
81299         * lib/javacomp.c (compile_java_class): Likewise.
81300
81301 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
81302
81303         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
81304         for the benefit of people using Autoconf 2.60.  If you want to
81305         support older Autoconf versions you can copy m4/onceonly_2_57.m4
81306         (or m4/onceonly.m4, if pre-2.57) manually.
81307
81308 2006-07-08  Jim Meyering  <jim@meyering.net>
81309
81310         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
81311         comment.
81312         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
81313         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
81314         comment.
81315
81316 2006-07-08  Jim Meyering  <jim@meyering.net>
81317
81318         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
81319
81320 2006-07-07  Simon Josefsson  <jas@extundo.com>
81321
81322         * tests/test-crc.c: Change expected crc value, the test vector
81323         were probably computed using the old broken crc.c?
81324
81325 2006-07-06  Simon Josefsson  <jas@extundo.com>
81326
81327         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
81328         now the canonical place for the M4 file).
81329
81330         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
81331         from the sys_socket dependency now.
81332
81333         * modules/inet_pton (Files): Ditto.
81334
81335         * modules/inet_ntop (Files): Ditto.
81336
81337 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
81338
81339         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
81340         not gl_PREREQ_GETUSERSHELL.
81341
81342 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81343
81344         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
81345         with only one argument, for Autoconf 2.60.
81346         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
81347         expand to nothing, so add a shell command to avoid syntax error.
81348         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
81349
81350 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81351
81352         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
81353
81354 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
81355
81356         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
81357         no longer needed.  Check for isblank decl.
81358         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
81359         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
81360         of existence.
81361
81362 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
81363
81364         * lib/getloadavg.c: Use __VMS, not VMS.
81365         * lib/getopt.c: Likewise.
81366         * lib/getpagesize.h: Likewise.
81367         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
81368         and probably does not work.
81369
81370 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
81371
81372         * lib/.cppi-disable: Add wcwidth.
81373         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
81374         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
81375         (ISGRAPH): Remove.  All uses changed to isgraph.
81376         (FOLD) [!defined _LIBC]: Remove special case.
81377         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
81378         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
81379         HAVE_ISBLANK.
81380         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
81381         case.
81382
81383 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
81384
81385         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
81386         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
81387         brackets.  Other minor changes to suppress some compiler
81388         warnings.
81389
81390 2006-07-06  Derek R. Price  <derek@ximbiot.com>
81391         and Paul Eggert  <eggert@cs.ucla.edu>
81392
81393         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
81394         of invoking obsolescent AC_HEADER_DIRENT macro.
81395         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
81396         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
81397         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
81398         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
81399         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
81400         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
81401         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
81402         * m4/readdir.m4: Remove; no longer needed.
81403
81404 2006-07-06  Derek R. Price  <derek@ximbiot.com>
81405         and Paul Eggert  <eggert@cs.ucla.edu>
81406
81407         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
81408         Don't worry about this obsolete case any more.
81409         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
81410         directories.
81411         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
81412         worry about this obsolete case any more.
81413         * lib/fts.c: Likewise.
81414         * lib/getcwd.c: Likewise.
81415         * lib/glob.h: Likewise.
81416         * lib/savedir.c: Likewise.
81417
81418 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
81419
81420         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
81421         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
81422         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
81423         needed.
81424         All uses removed.
81425         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
81426         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
81427         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
81428         needed.
81429         * m4/getdate.m4 (gl_GETDATE): Likewise.
81430         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
81431         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
81432         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
81433         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
81434         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
81435         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81436         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
81437         needed.
81438
81439 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
81440
81441         * lib/memcasecmp.c: Include <limits.h>.
81442         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
81443         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
81444         Don't assume isdigit succeeds only on '0' through '9'.
81445
81446 2006-07-05  Eric Blake  <ebb9@byu.net>
81447
81448         * modules/getaddrinfo (Depends-on): Add snprintf.
81449
81450 2006-07-05  Eric Blake  <ebb9@byu.net>
81451
81452         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
81453         to avoid 'header present but could not be compiled' on cygwin.
81454
81455 2006-07-05  Eric Blake  <ebb9@byu.net>
81456
81457         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
81458         missing from netdb.h.
81459         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
81460
81461 2006-07-05  Derek R. Price  <derek@ximbiot.com>
81462
81463         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
81464         no longer needed.
81465         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
81466         * m4/getdate.m4 (gl_GETDATE): Likewise.
81467         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
81468         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
81469         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
81470         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
81471         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81472
81473 2006-07-05  Derek R. Price  <derek@ximbiot.com>
81474
81475         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
81476         All uses of is_space replaced by isspace.
81477         * lib/exit.h: Don't talk about STDC_HEADERS.
81478         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
81479         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
81480         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
81481         replaced by isprint etc.
81482         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
81483         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
81484         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
81485         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
81486         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
81487         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
81488
81489 2006-07-05  Bruno Haible  <bruno@clisp.org>
81490
81491         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
81492         the function exists, before testing against AIX.
81493         Reported by Martin Lambers <marlam@marlam.de>.
81494
81495 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
81496
81497         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
81498         From Mark D. Baushke.
81499
81500 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
81501
81502         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
81503         to the absolute name, not just one, to bypass Sun C 5.8's
81504         "warning: #include of /usr/include/... may be non-portable".
81505
81506 2006-07-04  Eric Blake  <ebb9@byu.net>
81507
81508         * modules/dirname-tests: New test module.
81509         * tests/test-dirname.c: New file, replacing dirname.c
81510         TEST_DIRNAME section that was recently deleted.
81511
81512 2006-07-04  Bruno Haible  <bruno@clisp.org>
81513
81514         Assume ANSI C header files and <ctype.h> functions.
81515         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
81516         (mbsnwidth): Use isprint, iscntrl instead.
81517
81518 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81519
81520         Merge from coreutils.
81521         * MODULES.html.sh: Add xstrtold.
81522         * modules/xstrtold: New file.
81523         * modules/cycle-check (Files): Add lib/same-inode.h.
81524         * modules/dirname (Files): Add m4/double-slash-root.m4.
81525         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
81526         * modules/mkdir-p (Files): Add lib/same-inode.h.
81527         * modules/same (Files): Add lib/same-inode.h.
81528
81529 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81530
81531         * m4/absolute-header.m4: Renamed from full-header-path.m4.
81532         This is to keep the terminology clean; POSIX talks about
81533         "absolute pathnames", not "full pathnames", but the GNU
81534         Coding Standards say to use "path" for something else;
81535         so use "absolute" to keep both sides happy.
81536         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
81537         Set gl_absolute_header, not gl_full_header_path.
81538         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
81539         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
81540         All uses changed.
81541
81542         Merge from coreutils.
81543
81544         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
81545
81546         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
81547         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
81548         want to require the building of c-strtod.o.
81549         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
81550         needs -lm directly.
81551         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
81552
81553         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
81554
81555         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
81556         --as-needed option if available.  Problem reported by Albert Chin in
81557         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
81558         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
81559         cc merely issues a bunch of annoying warnings for --as-needed
81560         (this problem was reported by Bob Proulx).  Also, try linking with
81561         -lm to detect a bug in binutils 2.16 (this problem was reported
81562         by Ralf Wildenhues).
81563
81564         2006-06-18  Jim Meyering  <jim@meyering.net>
81565
81566         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
81567         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
81568         macro.
81569         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
81570         also check for glibc-2.4's abort-inducing bug.
81571
81572         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
81573         Low-probability clean-up should be to use rmdir to get rid of
81574         the just-created directory, not unlink.
81575
81576         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
81577         configure fail, and request a bug report to inform us about it.
81578         Add a comment that, barring reports to the contrary, in 2007 we'll
81579         assume ftruncate is universally available.
81580
81581         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
81582
81583         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
81584
81585         2006-03-12  Jim Meyering  <jim@meyering.net>
81586
81587         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
81588         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
81589         * m4/same.m4 (gl_SAME): Likewise.
81590         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
81591
81592         2006-03-11  Eric Blake  <ebb9@byu.net>
81593
81594         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
81595         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
81596         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
81597         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
81598
81599 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81600
81601         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
81602         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
81603         reported by Mark D. Baushke, one in
81604         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
81605
81606         Merge from coreutils.
81607
81608         * lib/.cppi-disable: Add stdint_.h.
81609         * lib/.cvsignore: Add stdint.h.
81610
81611         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
81612
81613         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
81614         both double and long double versions.
81615         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
81616         * lib/xstrtold.c: New file.
81617         * lib/xstrtod.h (xstrtold): New decl.
81618
81619         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
81620
81621         * lib/filemode.c (setst): Remove.
81622         (strmode): Rewrite to avoid setst.  This makes the code shorter,
81623         (arguably) clearer, and the generated code is a bit smaller on my
81624         Debian GNU/Linux stable x86 host.
81625
81626         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
81627
81628         * lib/filemode.c: Include "filemode.h" first, to test the interface.
81629         Assume that filemode.h includes sys/types.h and sys/stat.h.
81630         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
81631         (ftypelet): Reorder to put common cases first, for efficiency.
81632         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
81633         to do 'M'.
81634         (strmode): Renamed from mode_string, and now stores 12 bytes instead
81635         of 10, for compatibility with FreeBSD.  All callers changed.
81636         (filemodestring): Now stores 12 bytes instead of 10, and sets file
81637         types that can't be deduced solely from st_mode.  First arg is now a
81638         const pointer.
81639         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
81640         (strmode): Renamed from mode_string.
81641         (filemodestring): New decl.
81642         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
81643         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
81644         needed.
81645         (S_ISPORT, S_ISWHT): New macros, if not already defined.
81646
81647         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
81648
81649         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
81650         fsusage.h now does that.  Include fsusage.h first, to test interface.
81651         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
81652         at most one method (the old code could have generated decls that
81653         didn't conform to C89, not that this was ever exercised).
81654         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
81655
81656         2006-03-19  Jim Meyering  <jim@meyering.net>
81657
81658         Work even in a chroot where d_ino values for entries in "/"
81659         don't match the stat.st_ino values for the same names.
81660         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
81661         number, iterate through all entries again, using lstat instead.
81662         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
81663         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
81664
81665         * lib/getcwd.c (__getcwd): Clarify a comment.
81666         Use memcpy in place of a call to strcpy.
81667
81668         2006-03-12  Jim Meyering  <jim@meyering.net>
81669
81670         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
81671         matches that of the current directory (which we're about to chdir ".."
81672         out of), then save the dev-ino of the parent, instead.
81673
81674         * lib/same-inode.h (SAME_INODE): New file/macro.
81675         * lib/chdir-safer.c (SAME_INODE): Remove definition.
81676         Include "same-inode.h", instead.
81677         * lib/same.c: Likewise.
81678         * lib/cycle-check.h: Include "same-inode.h".
81679         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
81680         * lib/cycle-check.c (SAME_INODE): Remove definition.
81681         * lib/root-dev-ino.h: Include "same-inode.h".
81682
81683         2006-03-11  Eric Blake  <ebb9@byu.net>
81684
81685         * lib/same.c (same_name): s/base_name/last_component/
81686         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
81687         * lib/filenamecat.c (file_name_concat): Likewise.
81688
81689         2006-03-11  Eric Blake  <ebb9@byu.net>,
81690                     Paul Eggert  <eggert@cs.ucla.edu>
81691
81692         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
81693         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
81694         drive prefix.
81695         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
81696         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
81697         (last_component): New method.
81698         * lib/dirname.c (dir_len): Determine when drive letters need a
81699         subsequent slash.  Preserve // when it is special.
81700         (dir_name): Don't append dot when drive letter is absolute.
81701         [TEST_DIRNAME]: Move into a full-blown gnulib test.
81702         * lib/basename.c (base_name): New semantics - malloc the result.
81703         Preserve // when it is special.  Preserve relative files that look
81704         like drive letters.
81705         (base_len): Preserve // when it is special.
81706         (last_component): New method, similar to old base_name semantics.
81707         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
81708         base_name.  Strip redundant slashes from ///.
81709
81710 2006-07-03  Jim Meyering  <jim@meyering.net>
81711
81712         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
81713         macro is used before the first cycle_check call.
81714
81715 2006-07-03  Eric Blake  <ebb9@byu.net>
81716
81717         * modules/dirname (Depends-on): Add xstrndup.
81718
81719 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
81720
81721         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
81722         test cases, so that config.log is a bit easier to follow.
81723
81724 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
81725
81726         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
81727         both are 64 bits, since this seems to be the tradition, and this
81728         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
81729         we ever run into a host that prefers long long to long in this
81730         case, we'll need another configure-time test.  Problem reported by
81731         Jim Meyering.
81732
81733 2006-07-02  Eric Blake  <ebb9@byu.net>
81734
81735         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
81736
81737 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81738
81739         * modules/inttypes (Depends-on): No longer depends on stdint.
81740         * modules/stdint (Description): Say more about assumptions.
81741         Say that the fast types might differ.  Say macros are used.
81742         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
81743         (Makefile.am): Revise list of substituted symbols to match
81744         new stdint.m4.
81745         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
81746         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
81747         * tests/test-stdint.c (verify_same_types)
81748         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
81749         the code conforms to C99/C89.
81750         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
81751         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
81752
81753 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81754
81755         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
81756         but fix a bug, by requiring at least 64 bits.
81757         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
81758         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
81759         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
81760         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
81761
81762         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
81763         changes.  Make 2.59 a prerequisite.  Check and substitute for
81764         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
81765         inttypes.h.  Do not use special include files; just use the
81766         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
81767         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
81768         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
81769         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
81770         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
81771         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
81772         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
81773         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
81774         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
81775         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
81776         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
81777         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
81778         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
81779         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
81780         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
81781         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
81782         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
81783         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
81784         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
81785         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
81786         WINT_MAX.  Check for C99 conformance more strictly, by detecting
81787         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
81788         not check for things that C99 does not require, e.g., int8_t.  If
81789         a test isn't needed unless <stdint.h> isn't working, and is
81790         unlikely to be needed for any other reason, then don't do it
81791         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
81792         size_t, since we assume C89 freestanding at least.  Do not check
81793         for sig_atomic_t, wchar_t, or wint_t, since the code now does
81794         the right thing even if the types are not defined.  Instead use:
81795         (gl_STDINT_TYPE_PROPERTIES): New macro.
81796         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
81797         testing whether <sys/types.h> clashes, as Autoconf does this for
81798         us now.  All uses removed.
81799         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
81800         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
81801         (gl_CHECK_TYPE_SAME):
81802         Remove; no longer needed.
81803         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
81804         exists, since we'll return 0 anyway in that case.
81805         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
81806
81807 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81808
81809         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
81810         possible collision with system files.
81811         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
81812         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
81813         WCHAR_MIN and WCHAR_MAX in this case.
81814         (<stddef.h>): Do not include; no longer needed.
81815         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
81816         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
81817         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
81818         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
81819         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
81820         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
81821         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
81822         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
81823         !defined(__c99))]: Include in this case too, since it's harmless
81824         now.
81825         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
81826         dangerous to do so.
81827         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
81828         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
81829         (_STDINT_MIN, _STDINT_MAX): New macros.
81830         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
81831         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
81832         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
81833         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
81834         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
81835         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
81836         macros, not typedefs; this simplifies things quite a bit.
81837         Use long int for all types narrower than int64_t.
81838         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
81839         Define in terms of long long int or int64_t or long int,
81840         not int64_t or int32_t.  This saves some compile-time testing.
81841         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
81842         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
81843         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
81844         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
81845         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
81846         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
81847         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
81848         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
81849         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
81850         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
81851         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81852         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81853         undef any previous version and define our own version, for
81854         simplicity and consistency with the new macros for types.
81855         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81856         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81857         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
81858         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
81859         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
81860         @WINT_T_SUFFIX@ to keep things simple here.
81861         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
81862         Simplify by assuming typical 8/16/32/64 host, since we're
81863         already doing that elsewhere anyway.
81864         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
81865         and assume long long int is 64 bits if available.  This
81866         speeds up 'configure'.
81867
81868 2006-07-01  Eric Blake  <ebb9@byu.net>
81869
81870         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
81871         Reported by Andreas Buening.
81872
81873 2006-07-01  Eric Blake  <ebb9@byu.net>
81874
81875         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
81876
81877 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
81878
81879         * lib/getaddrinfo.c: fixed typo
81880
81881 2006-06-29  Jim Meyering  <jim@meyering.net>
81882
81883         * modules/strftime (Maintainer): Add my name, since with the
81884         FPRINTFTIME changes strftime.c has forked from glibc.
81885
81886 2006-06-29  Eric Blake  <ebb9@byu.net>
81887
81888         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
81889
81890 2006-06-29  Eric Blake  <ebb9@byu.net>
81891
81892         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
81893
81894 2006-06-29  Eric Blake  <ebb9@byu.net>
81895
81896         * lib/stat_.h: New file.
81897
81898 2006-06-29  Eric Blake  <ebb9@byu.net>
81899
81900         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
81901         unused static function.
81902
81903 2006-06-29  Eric Blake  <ebb9@byu.net>
81904
81905         * doc/functions.texi (Function Portability): Document missing lstat
81906         on mingw.
81907
81908 2006-06-29  Eric Blake  <ebb9@byu.net>
81909
81910         * MODULES.html.sh: Add sys_stat.
81911         * modules/sys_stat: New module.
81912         * modules/mkstemp (Depends-on): Add sys_stat.
81913
81914 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81915
81916         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
81917
81918 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81919
81920         * m4/c-bs-a.m4: Removed.
81921
81922 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81923
81924         * lib/strftime.c: Assume strftime() exists.
81925
81926 2006-06-29  Derek Price  <derek@ximbiot.com>
81927
81928         * modules/c-bs-a: Removed - \a is C89.
81929         * MODULES.html.sh: Remove c-bs-a.
81930
81931 2006-06-29  Bruno Haible  <bruno@clisp.org>
81932
81933         * modules/wcwidth (License): Change to LGPL.
81934
81935 2006-06-28  Simon Josefsson  <jas@extundo.com>
81936
81937         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
81938         on _WIN32.
81939
81940         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
81941         getnameinfo.
81942
81943 2006-06-28  Simon Josefsson  <jas@extundo.com>
81944
81945         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
81946
81947 2006-06-28  Simon Josefsson  <jas@extundo.com>
81948
81949         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
81950         functions there.  It will succeed on Windows XP, but on Windows
81951         2000 and (presumably) earlier, it will fail, and use the internal
81952         re-implementation.
81953         (use_win32_p): New function.
81954         (getaddrinfo): Use strtoul on servname, to support numeric ports.
81955         Support AI_NUMERICSERV to disable getservbyname.
81956         (getnameinfo): New function, only supports
81957         NI_NUMERICHOST|NI_NUMERICSERV for now.
81958
81959         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
81960         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
81961         getnameinfo.
81962
81963 2006-06-28  Eric Blake  <ebb9@byu.net>
81964
81965         * modules/wcwidth: New file.
81966         * modules/mbchar (Depends-on): Add wcwidth.
81967         * modules/mbswidth (Depends-on): Add wcwidth.
81968         * MODULES.html.sh: Add wcwidth.
81969
81970 2006-06-28  Eric Blake  <ebb9@byu.net>
81971
81972         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
81973         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
81974
81975 2006-06-28  Eric Blake  <ebb9@byu.net>
81976
81977         * lib/xvasprintf.h: Fix comments.
81978
81979 2006-06-28  Eric Blake  <ebb9@byu.net>
81980
81981         * lib/mbchar.h (wcwidth): Include wcwidth.h.
81982         * lib/mbswidth.c (wcwidth): Move from here...
81983         * lib/wcwidth.h: ...to this new file.
81984
81985 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81986
81987         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
81988
81989         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
81990         it's obsolete.
81991         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
81992
81993 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81994
81995         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
81996         Autoconf 2.60 says this stuff was obsolete.
81997
81998 2006-06-28  Bruno Haible  <bruno@clisp.org>
81999
82000         * modules/wcwidth (Files): Add m4/wchar_t.m4.
82001
82002 2006-06-28  Bruno Haible  <bruno@clisp.org>
82003
82004         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
82005         gt_TYPE_WCHAR_T.
82006
82007 2006-06-28  Bruno Haible  <bruno@clisp.org>
82008
82009         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
82010         declaration for wcwidth.
82011         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
82012
82013 2006-06-28  Bruno Haible  <bruno@clisp.org>
82014
82015         * lib/mkdtemp.c [MINGW]: Include <io.h>.
82016         (mkdir): Define using _mkdir.
82017
82018 2006-06-28  Bruno Haible  <bruno@clisp.org>
82019
82020         * lib/getaddrinfo.h: Fix POSIX URL.
82021         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
82022         _WIN32.
82023         (use_win32_p): Make static.
82024         (getaddrinfo): Reject service name if it is empty or does not consist
82025         solely of decimal digits, or if its value is > 65535.
82026         (getnameinfo): Remove useless casts.
82027
82028 2006-06-27  Simon Josefsson  <jas@extundo.com>
82029
82030         * modules/sys_select: New file, suggested by Bruno Haible, Paul
82031         Eggert and Martin Lambers.
82032
82033 2006-06-27  Simon Josefsson  <jas@extundo.com>
82034
82035         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
82036         Eggert and Martin Lambers.
82037
82038 2006-06-27  Bruno Haible  <bruno@clisp.org>
82039
82040         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
82041         result to 0, not to empty.
82042         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
82043
82044 2006-06-27  Bruno Haible  <bruno@clisp.org>
82045
82046         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
82047
82048 2006-06-26  Simon Josefsson  <jas@extundo.com>
82049
82050         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
82051         present.
82052
82053 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
82054
82055         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
82056         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
82057         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
82058
82059 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
82060
82061         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
82062
82063 2006-06-26  Bruno Haible  <bruno@clisp.org>
82064
82065         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
82066
82067 2006-06-26  Bruno Haible  <bruno@clisp.org>
82068
82069         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
82070
82071 2006-06-26  Bruno Haible  <bruno@clisp.org>
82072
82073         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
82074         SGI C compiler in pre-C99 mode.
82075         Suggested by Mark D. Baushke and Larry Jones.
82076
82077 2006-06-26  Bruno Haible  <bruno@clisp.org>
82078
82079         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
82080         WCHAR_MAX.
82081         Reported by Mark D. Baushke and Larry Jones.
82082
82083 2006-06-26  Bruno Haible  <bruno@clisp.org>
82084
82085         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
82086         in pre-C99 mode.
82087         Suggested by Mark D. Baushke and Larry Jones.
82088
82089 2006-06-23  Simon Josefsson  <jas@extundo.com>
82090             Bruno Haible  <bruno@clisp.org>
82091
82092         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
82093         Emit mostlyclean-local rule.
82094         (func_emit_tests_Makefile_am): Likewise.
82095         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
82096
82097 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
82098
82099         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
82100
82101 2006-06-23  Bruno Haible  <bruno@clisp.org>
82102
82103         * tests/test-stdint.c: Update to match ISO C 99 Technical
82104         Corrigendum 1.
82105
82106 2006-06-23  Bruno Haible  <bruno@clisp.org>
82107
82108         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
82109
82110 2006-06-23  Bruno Haible  <bruno@clisp.org>
82111
82112         * lib/stdint_.h: Treat IRIX like OpenBSD.
82113
82114 2006-06-23  Bruno Haible  <bruno@clisp.org>
82115
82116         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
82117         ISO C 99 Technical Corrigendum 1.
82118
82119 2006-06-22  Simon Josefsson  <jas@extundo.com>
82120
82121         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
82122         MinGW.
82123
82124 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82125
82126         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
82127         needed.  Some compiler complained about some of them.  Problem reported
82128         by Larry Jones in
82129         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
82130
82131 2006-06-21  Simon Josefsson  <jas@extundo.com>
82132
82133         * tests/test-getaddrinfo.c: New file.
82134
82135         * modules/getaddrinfo-tests: New file.
82136
82137         * MODULES.html.sh: Add inet_pton.
82138
82139         * modules/inet_pton: New file.
82140
82141 2006-06-21  Simon Josefsson  <jas@extundo.com>
82142
82143         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
82144         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
82145         of using the (limited) gnulib implementation on Windows XP.
82146
82147         * m4/inet_pton.m4: New file.
82148
82149 2006-06-21  Simon Josefsson  <jas@extundo.com>
82150
82151         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
82152         variable.
82153
82154         * lib/socket_.h: Don't define WINVER.
82155
82156         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
82157         slightly modified to work in gnulib.
82158
82159 2006-06-21  Simon Josefsson  <jas@extundo.com>
82160
82161         * doc/gnulib.texi (Windows sockets): Add.
82162
82163 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
82164
82165         * lib/read-file.c (fread_file): Start with buffer allocation of
82166         0 bytes rather than 1 byte; this simplifies the code.
82167         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
82168         code to free buffer and save/restore errno.
82169         (internal_read_file): Remove unused local.
82170
82171 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
82172
82173         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
82174         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
82175         Problem reported by Denis Excoffier in
82176         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
82177
82178 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
82179
82180         * modules/sys_socket, modules/socklen: Include sys/types since
82181         FreeBSD 4.x's sys/socket.h needs it.
82182
82183 2006-06-19  Simon Josefsson  <jas@extundo.com>
82184
82185         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
82186
82187 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
82188
82189         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
82190
82191 2006-06-19  Bruno Haible  <bruno@clisp.org>
82192
82193         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
82194         and FULL_PATH_INTTYPES_H in angle brackets.
82195         Reported by Mark D. Baushke <mdb@gnu.org>.
82196
82197 2006-06-17  Eric Blake  <ebb9@byu.net>
82198
82199         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
82200         errno.
82201
82202 2006-06-17  Bruno Haible  <bruno@clisp.org>
82203
82204         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
82205         <sys/inttypes.h>.
82206
82207 2006-06-17  Bruno Haible  <bruno@clisp.org>
82208
82209         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
82210         whether errno is declared. Assume <errno.h> declares errno.
82211
82212 2006-06-17  Bruno Haible  <bruno@clisp.org>
82213
82214         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
82215
82216 2006-06-17  Bruno Haible  <bruno@clisp.org>
82217
82218         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
82219         problem on Solaris 2.5.1.
82220
82221 2006-06-16  Eric Blake  <ebb9@byu.net>
82222
82223         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
82224         * lib/unicodeio.c [!defined errno]: Likewise.
82225         * lib/strtol.c [!defined errno]: Likewise.
82226         * lib/strtod.c [!defined errno]: Likewise.
82227
82228 2006-06-15  Eric Blake  <ebb9@byu.net>
82229
82230         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
82231
82232 2006-06-15  Eric Blake  <ebb9@byu.net>
82233
82234         * config/srclist.txt (ssize_t.m4): Lose sync.
82235
82236 2006-06-15  Bruno Haible  <bruno@clisp.org>
82237
82238         * modules/stdint (Files): Include m4/full-header-path.m4,
82239         m4/size_max.m4, m4/wchar_t.m4.
82240         (Makefile.am): Many more substitutions.
82241         * modules/stdint-tests: New file.
82242         * tests/test-stdint.c: New file.
82243
82244 2006-06-15  Bruno Haible  <bruno@clisp.org>
82245
82246         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
82247         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
82248         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
82249         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
82250         gl_CHECK_TYPE_SAME): New macros.
82251
82252 2006-06-15  Bruno Haible  <bruno@clisp.org>
82253
82254         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
82255
82256 2006-06-15  Bruno Haible  <bruno@clisp.org>
82257
82258         * lib/stdint_.h: Rewritten to be fully auto-configured.
82259         Fixes bug on HP-UX/IA64.
82260
82261 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
82262
82263         * lib/getdate.y (__attribute__): Don't define if already defined.
82264         Problem reported by Larry Jones.
82265         * lib/utimens.c (__attribute__): Likewise.
82266
82267 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
82268
82269         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
82270         reported by Andreas Schwab.
82271
82272 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82273             Bruno Haible  <bruno@clisp.org>
82274
82275         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
82276         check for the declaration of strnlen and a run test that exposes the
82277         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
82278         rpl_strndup.
82279
82280 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82281             Bruno Haible  <bruno@clisp.org>
82282
82283         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
82284
82285 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82286
82287         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
82288         compile test, for Tru64 4.0D.
82289
82290 2006-05-28  Karl Berry  <karl@gnu.org>
82291
82292         * config/srclist.txt (printf-args.c): lose sync.
82293
82294 2006-05-26  Martin Lambers  <marlam@marlam.de>
82295
82296         * lib/getpass.c: Updates the test for the native W32 API, and adds
82297         missing includes, thus fixing compilation warnings.
82298
82299 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82300
82301         * lib/exclude.c (exclude_fnmatch): New function.
82302         (excluded_file_name): Call exclude_fnmatch.
82303         * lib/exclude.h (excluded_file_name): New prototype
82304
82305 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
82306
82307         * lib/tempname.c (small_open, large_open): New macros.
82308         (__open, __open64) [!_LIBC]: Remove.
82309         (__gen_tempname): Use small_open and large_open instead of __open
82310         and __open64.  This fixes a portability bug on HP-UX 11.11i
82311         reported by Simon Wing-Tang in
82312         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
82313
82314 2006-05-24  Bruno Haible  <bruno@clisp.org>
82315
82316         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
82317         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
82318         Reported by Thorsten Maerz <torte@netztorte.de> via
82319         Aaron Stone <aaron@serendipity.cx>.
82320
82321 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
82322
82323         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
82324         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
82325         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
82326         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
82327         not really conditional on the cache.
82328         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
82329
82330 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
82331
82332         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
82333         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
82334         (my_usleep): Don't mishandle maximum value.
82335
82336 2006-05-19  Jim Meyering  <jim@meyering.net>
82337
82338         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
82339
82340 2006-05-17  Bruno Haible  <bruno@clisp.org>
82341
82342         Cygwin portability.
82343         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
82344
82345 2006-05-17  Bruno Haible  <bruno@clisp.org>
82346
82347         * lib/stdint_.h: Fix recognition of Cygwin.
82348
82349 2006-05-15  Bruno Haible  <bruno@clisp.org>
82350
82351         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
82352         on libtool patch by Ralf Wildenhues.
82353
82354 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82355
82356         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
82357         test for C99 conformance; (bool) 0.5 is an integer constant
82358         expression, but (bool) -0.5 is not.  Problem reported by Fedor
82359         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
82360
82361 2006-05-11  Simon Josefsson  <jas@extundo.com>
82362
82363         * m4/xvasprintf.m4: Fix obvious typo.
82364
82365 2006-05-11  Jim Meyering  <jim@meyering.net>
82366
82367         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
82368         James Lemley.
82369
82370 2006-05-10  Simon Josefsson  <jas@extundo.com>
82371
82372         * lib/md4.c: Typo fix, update copyright years.
82373         (K1, K2): Don't use L because it turn computations into 64-bit on
82374         64-bit platforms.
82375
82376 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
82377
82378         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
82379         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
82380         unwanted sign propagation, e.g., on hosts with 64-bit int.
82381         There still are some problems with reeelly weird theoretical hosts
82382         (e.g., 33-bit int) but it's not worth worrying about now.
82383         * lib/sha1.c (rol): Likewise.
82384         (K1, K2, K3, K4): Remove unnecessary L suffix.
82385
82386 2006-05-10  Bruno Haible  <bruno@clisp.org>
82387
82388         * lib/des.c: Cast to avoid warnings.
82389
82390 2006-05-09  Bruno Haible  <bruno@clisp.org>
82391
82392         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
82393         (Depends-on): Depend also on xsize, stdarg.
82394         (configure.ac): Add gl_XVASPRINTF.
82395
82396 2006-05-09  Bruno Haible  <bruno@clisp.org>
82397
82398         * m4/xvasprintf.m4: New file.
82399
82400 2006-05-09  Bruno Haible  <bruno@clisp.org>
82401
82402         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
82403         (EOVERFLOW): Define fallback value.
82404         (xstrcat): New function.
82405         (xvasprintf): Recognize the special case of a string concatenation.
82406
82407 2006-05-08  Eric Blake  <ebb9@byu.net>
82408
82409         * gnulib-tool (func_version): Base copyright year on CVS date.
82410         (func_emit_copyright_notice): New function.
82411         (func_emit_lib_Makefile_am): Use it.
82412         (func_emit_tests_Makefile_am): Likewise.
82413         (func_import): Likewise.
82414
82415 2006-05-08  Bruno Haible  <bruno@clisp.org>
82416
82417         * modules/stdarg: New file.
82418         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
82419
82420 2006-05-08  Bruno Haible  <bruno@clisp.org>
82421
82422         * m4/stdarg.m4: New file, from GNU gettext.
82423
82424 2006-05-08  Bruno Haible  <bruno@clisp.org>
82425
82426         * config/srclist.txt (build-aux/config.rpath): different from latest
82427         release.
82428
82429 2006-05-08  Bruno Haible  <bruno@clisp.org>
82430
82431         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
82432
82433 2006-05-05  Jim Meyering  <jim@meyering.net>
82434
82435         * m4/warning.m4: New file, derived from bison's file by the same name.
82436
82437 2006-05-03  Bruno Haible  <bruno@clisp.org>
82438
82439         * lib/stdint_.h: Shorter URL.
82440         * lib/inttypes.h: Likewise.
82441
82442 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
82443
82444         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
82445
82446 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
82447
82448         * lib/verify.h: Document the internals better.  Most of this change
82449         was written by Bruno Haible.
82450
82451 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
82452
82453         * doc/verify.texi: New file, partly based on a proposal by
82454         Bruno Haible.
82455
82456 2006-05-02  Bruno Haible  <bruno@clisp.org>
82457
82458         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
82459         test from here...
82460         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
82461
82462 2006-04-29  Bruno Haible  <bruno@clisp.org>
82463
82464         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
82465         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
82466
82467 2006-04-29  Bruno Haible  <bruno@clisp.org>
82468
82469         * gnulib-tool: Make --update option actually work.
82470
82471 2006-04-29  Bruno Haible  <bruno@clisp.org>
82472
82473         * doc/gcd.texi: New file.
82474         * doc/gnulib.texi: Include it.
82475
82476 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
82477
82478         * lib/getdate.y (get_date): When adding relative date, start with the
82479         initial time, not with the result of the first mktime call.
82480
82481 2006-04-25  Bruno Haible  <bruno@clisp.org>
82482
82483         * gnulib-tool (func_import): Output the include directives in three
82484         blocks, sorted separately.
82485         Reported by Ben Pfaff <blp@cs.stanford.edu>.
82486
82487 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
82488
82489         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
82490         to define main with arguments, for C++.  Reported by Eric Blake.
82491         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
82492         Prefer 'int main ()' to 'int main (void)', for C++.
82493         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
82494         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
82495         for 'main', for C99 and C++.
82496
82497 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
82498
82499         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
82500         Don't assume that exit status -1 is valid.
82501         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82502         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
82503         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
82504         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
82505         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
82506         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
82507         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
82508         functions can be used without declaring them, or that you can
82509         exit with status -1.
82510         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
82511
82512 2006-04-24  Karl Berry  <karl@gnu.org>
82513
82514         * config/srclist.txt (longdouble.m4): sync lost.
82515
82516 2006-04-24  Eric Blake  <ebb9@byu.net>
82517
82518         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
82519
82520 2006-04-24  Bruno Haible  <bruno@clisp.org>
82521
82522         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
82523         poll() implementation in AIX.
82524         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82525
82526 2006-04-24  Bruno Haible  <bruno@clisp.org>
82527
82528         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
82529         assigned exactly once.
82530
82531 2006-04-23  Claudio Fontana  <claudio@gnu.org>
82532             Bruno Haible  <bruno@clisp.org>
82533
82534         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
82535         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
82536         for AM_CPPFLAGS.
82537
82538 2006-04-23  Bruno Haible  <bruno@clisp.org>
82539
82540         * modules/copy-file: Depend on unistd.
82541         * modules/execute: Likewise.
82542         * modules/fatal-signal: Likewise.
82543         * modules/findprog: Likewise.
82544         * modules/mkdtemp : Likewise.
82545         * modules/pipe: Likewise.
82546         * modules/wait-process: Likewise.
82547
82548 2006-04-23  Bruno Haible  <bruno@clisp.org>
82549
82550         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
82551         condition was already detected.
82552         Reported by Ben Pfaff <blp@cs.stanford.edu>.
82553
82554 2006-04-23  Bruno Haible  <bruno@clisp.org>
82555
82556         * lib/copy-file.c: Include <unistd.h> unconditionally.
82557         * lib/execute.c: Likewise.
82558         * lib/fatal-signal.c: Likewise.
82559         * lib/findprog.c: Likewise.
82560         * lib/mkdtemp.c: Likewise.
82561         * lib/pipe.h: Likewise.
82562         * lib/pipe.c: Likewise.
82563         * lib/wait-process.h: Likewise.
82564
82565 2006-04-23  Bruno Haible  <bruno@clisp.org>
82566
82567         * gnulib-tool (func_usage): Fix --import description. Document
82568         --update.
82569         (func_import): Create temporary file in a temporary directory, if
82570         --dry-run is specified. Silence errors from 'grep' when there are no
82571         m4 files in $m4dir.
82572         (func_create_testdir): Silence errors from 'grep' when there are no
82573         m4 files in $m4dir.
82574         Reported by Karl Berry <karl@freefriends.org>.
82575
82576 2006-04-20  Bruno Haible  <bruno@clisp.org>
82577
82578         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
82579         one argument, so that the code will be portable to Autoconf 2.60.
82580         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
82581         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
82582         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
82583
82584 2006-04-19  Derek Price  <derek@ximbiot.com>
82585             Eric Blake  <ebb9@byu.net>
82586
82587         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
82588         rather than "/full/path.h".  Update comment to match.  Shorten &
82589         generalize m4_translit call via AS_TR_CPP.
82590
82591 2006-04-19  Derek Price  <derek@ximbiot.com>
82592             Eric Blake  <ebb9@byu.net>
82593
82594         * lib/inttypes.h: Correct grammar in comment.
82595
82596 2006-04-18  Derek Price  <derek@ximbiot.com>
82597             Paul Eggert  <eggert@cs.ucla.edu>
82598
82599         * modules/inttypes: New file.
82600         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
82601
82602 2006-04-18  Derek Price  <derek@ximbiot.com>
82603             Paul Eggert  <eggert@cs.ucla.edu>
82604
82605         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
82606         New files.
82607
82608 2006-04-18  Derek Price  <derek@ximbiot.com>
82609             Paul Eggert  <eggert@cs.ucla.edu>
82610
82611         * lib/inttypes.h: New file.
82612         * lib/strtoimax.c: Assume <inttypes.h>.
82613
82614 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
82615
82616         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
82617         isn't mounted.  Problem reported by Kir Kolyshkin.
82618
82619 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
82620
82621         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
82622         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
82623         Derek R. Price.
82624         * lib/regex.h (RE_DUP_MAX): Update comment to match current
82625         implementation.
82626
82627 2006-04-12  Eric Blake  <ebb9@byu.net>
82628
82629         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
82630         is now done automatically by the corresponding Autoconf macro.
82631
82632 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
82633
82634         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
82635         time_r.h.
82636
82637 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82638
82639         Merge regex changes from libc, removing some of our
82640         POSIX-conformance changes that were rejected and redoing them in a
82641         less-intrusive way.
82642
82643         * lib/regcomp.c (re_compile_internal, init_dfa):
82644         Length arg is now size_t, not Idx.  All uses changed.
82645         (peek_token): Forward decl now says internal_function.
82646         (__re_error_msgid, __re_error_msgid_idx):
82647         Now static rather than extern with attribute_hidden.
82648         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
82649         For some reason libc prefers K&R style defns for external functions.
82650         (regerror) [!defined _LIBC]: Likewise.
82651         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
82652         (seek_collating_symbol_entry, lookup_collation_sequence_value):
82653         (build_range_exp, build_collating_symbol):
82654         Use K&R-style defn.
82655         (re_compile_fastmap): Use '\0' to memset, not 0.
82656         (utf8_sb_map): Make the calculations more obvious.
82657         (init_dfa, parse_bracket_exp, build_charclass_op):
82658         Call calloc and cast result, as glibc does.
82659         (init_word_char, fetch_token, peek_token, peek_token_bracket):
82660         (build_range_exp, build_collating_symbol):
82661         Now internal functions.
82662
82663         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
82664
82665         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
82666         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
82667         Don't depend on VMS; depend on __VMS instead, for POSIX
82668         namespace cleanness.
82669         (regoff_t): Define to ssize_t, not long int.
82670
82671         Remove the REG_ macros named below.  Instead, make the old names
82672         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
82673         __USE_GNU_REGEX.
82674         (REG_BACKSLASH_ESCAPE_IN_LISTS):
82675         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
82676         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
82677         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
82678         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
82679         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
82680         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
82681         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
82682         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
82683         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
82684         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
82685         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
82686         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
82687         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
82688         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
82689         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
82690         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
82691         (REG_NREGS):
82692         Remove.  All uses replaced by the old RE_* names.
82693         (RE_BACKSLASH_ESCAPE_IN_LISTS):
82694         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
82695         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
82696         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
82697         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
82698         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
82699         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
82700         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
82701         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
82702         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
82703         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
82704         Don't bother having these macros be independent of each others'
82705         values, since they no longer exist in the POSIX name space.
82706
82707         Rename the following member names back to their old names,
82708         unless !__USE_GNU_REGEX.  All uses changed back.
82709         (buffer): Renamed from re_buffer.
82710         (allocated): Renamed from re_allocated.
82711         (used): Renamed from re_used.
82712         (syntax): Renamed from re_syntax.
82713         (fastmap): Renamed from re_fastmap.
82714         (translate): Renamed from re_translate.
82715         (can_be_null): Renamed from re_can_be_null.
82716         (regs_allocated): Renamed from re_regs_allocated.
82717         (fastmap_accurate): Renamed from re_fastmap_accurate.
82718         (no_sub): Renamed from re_no_sub.
82719         (not_bol): Renamed from re_not_bol.
82720         (not_eol): Renamed from re_not_eol.
82721         (newline_anchor): Renamed from re_newline_anchor.
82722         (num_regs): Renamed from rm_num_regs.
82723         (start): Renamed from rm_start.
82724         (end): Renamed from rm_end.
82725
82726         (free_state): Move up a bit.
82727
82728         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
82729         #define to be empty.
82730         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
82731         when that is what is intended.
82732         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
82733         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
82734         (MAX): New macro.
82735         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
82736         All uses changed back to re_malloc, etc.  It's now the caller's
82737         responsibility to check for overflow; all callers changed.
82738         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
82739         (re_x2nrealloc): Remove.
82740         (free_state): Remove decl.
82741
82742         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
82743         (re_set_registers, re_exec):
82744         Use K&R-style defn.
82745
82746         2006-01-31  Roland McGrath  <roland@redhat.com>
82747
82748         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
82749         Reported by Mike Frysinger <vapier@gentoo.org>.
82750
82751         2006-01-15  Andreas Jaeger  <aj@suse.de>
82752
82753         [BZ #1950]
82754         * lib/regex_internal.c (re_string_reconstruct): Adjust for
82755         build_wcs_upper_buffer change.
82756         (build_wcs_upper_buffer): Change return type.
82757
82758         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
82759
82760         * lib/regex_internal.h: Include <stdint.h> if available.
82761
82762         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
82763
82764         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
82765
82766         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
82767
82768         * lib/regcomp.c: Adjust for changed secondary hash function.
82769
82770         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
82771
82772         * lib/regex.h: Pretty printing.
82773         Clean up namespace a bit.
82774
82775         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
82776
82777         * lib/regexec.c (update_cur_sifted_state, check_arrival,
82778         check_arrival_add_next_nodes): Avoid using uninitialized variable.
82779
82780         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82781                     Ulrich Drepper  <drepper@redhat.com>
82782
82783         [BZ #1302]
82784         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
82785         changed.
82786         (bitset_word_t): Renamed from bitset_word.  All uses changed.
82787
82788         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
82789
82790         [BZ #281]
82791         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
82792         * lib/regcomp.c: Remove unnecessary uses of
82793         unsigned RE_TRANSLATE_TYPE.
82794         * lib/regex_internal.h: Likewise.
82795         * lib/regex_internal.c: Likewise.
82796         * lib/regexec.c: Likewise.
82797         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
82798
82799         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
82800
82801         * lib/regexec.c (find_recover_state): Remove unnecessary
82802         initialization.
82803         (transit_state_bkref): Make DFA a const pointer.
82804         (get_subexp): Likewise.
82805         (check_arrival): Likewise.
82806         (update_cur_sifted_state): Likewise.
82807         (re_search_internal): Likewise.
82808         (prune_impossible_nodes): Likewise.
82809         (acquire_init_state_context): Likewise.
82810         (proceed_next_node): Likewise.
82811         (set_regs): Likewise.
82812         (free_fail_stack_return): Likewise.
82813         (check_arrival_expand_ecl): Mark DFA parameter as const.
82814         (check_arrival_expand_ecl_sub): Likewise.
82815         (check_subexp_limits): Likewise.
82816         (sub_epsilon_src_nodes):  Likewise.
82817         (add_epsilon_src_nodes):  Likewise.
82818         (merge_state_array): Likewise.
82819         (update_regs): Likewise.
82820         (build_trtable): Likewise.
82821         (sift_states_backward): Mark MCTX parameter as const.
82822         (build_sifted_states): Likewise.
82823         (update_cur_sifted_state): Likewise.
82824         (sift_states_mkref): Likewise.
82825         (check_arrival_expand_ecl): Mark eclosure as const.
82826         (check_dst_limits_calc_pos_1): Likewise.
82827         * lib/regex_internal.h (re_match_context_t): Make dfa a const
82828         pointer.
82829
82830         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
82831
82832         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
82833         (transit_state_sb): Likewise.
82834         (transit_state_mb): Likewise.
82835         (sift_states_iter_mb): Likewise.
82836         (check_arrival_add_next_nodes): Likewise.
82837         (check_node_accept_bytes): Change first parameter to pointer-to-const.
82838         [_LIBC] (re_search_2_stub): Use mempcpy.
82839
82840         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
82841         mbrtowc for very simple UTF-8 case.
82842
82843         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
82844         a pointer-to-const.
82845         (re_acquire_state_context): Likewise.
82846         * lib/regex_internal.h: Adjust prototypes.
82847
82848         * lib/regex.c: Prevent using C++ compilers.
82849
82850         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
82851         (re_acquire_state_context): Likewise.
82852
82853 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82854
82855         * modules/regex (Depends-on): Add ssize_t.
82856
82857 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82858
82859         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
82860         translation table.
82861
82862 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82863
82864         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
82865
82866 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
82867             Bruno Haible  <bruno@clisp.org>
82868
82869         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
82870         <sys/types.h> and <inttypes.h>.
82871
82872 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82873
82874         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
82875         `__error_t_defined', so argp.h will not typedef the former.
82876
82877 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
82878
82879         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
82880         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
82881         glibc names.  Even if glibc is changed to conform to POSIX, the
82882         traditional names will be available anyway, since regex depends on
82883         the extensions module.  Also, fix a longstanding typo in the
82884         implementation of Spencer ERE test #75 from grep 2.3.  Problems
82885         reported by Emanuele Giaquinta.  Also, change sense of cached
82886         variable, so that the message makes sense.
82887
82888 2006-03-24  Simon Josefsson  <jas@extundo.com>
82889
82890         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
82891         including some doc fixes.
82892         (base64_encode_alloc): Fix +1 bug on allocation failures.
82893
82894 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82895
82896         * lib/base64.c (base64_encode): Do not read past end of array with
82897         unsanitized input on systems with CHAR_BIT > 8.
82898
82899 2006-03-24  Eric Blake  <ebb9@byu.net>
82900
82901         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
82902
82903 2006-03-22  Karl Berry  <karl@gnu.org>
82904
82905         * config/srclist.txt (*setenv.[ch]): get from coreutils.
82906         * config/srclistvars.sh (COREUTILS): new var.
82907
82908 2006-03-17  Jim Meyering  <jim@meyering.net>
82909
82910         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
82911         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
82912
82913 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82914
82915         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
82916         no longer needs it.  Instead, check that regoff_t is as least
82917         as wide as ptrdiff_t.
82918
82919         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
82920         so that our regex.h stays compatible with the installed regex.
82921         This is helpful for installers who configure --without-included-regex.
82922         Problem reported by Emanuele Giaquinta.
82923
82924 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82925
82926         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
82927         Typedef to long int, not to off_, as POSIX will likely change
82928         in that direction.
82929
82930 2006-03-15  Eric Blake  <ebb9@byu.net>
82931
82932         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
82933
82934 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82935
82936         * lib/argp-help.c (validate_uparams): Fix typo
82937         * lib/argp-parse.c (argp_default_options): Consistently begin help
82938         messages with a lowercase letter.
82939
82940 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
82941
82942         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
82943         overrun buffers and shouldn't be used (much as gets shouldn't be
82944         used).
82945         * lib/time_r.c (asctime_r, ctime_r): Likewise.
82946
82947 2006-03-08  Simon Josefsson  <jas@extundo.com>
82948
82949         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
82950         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82951
82952 2006-03-08  Simon Josefsson  <jas@extundo.com>
82953
82954         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
82955         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82956
82957 2006-03-08  Simon Josefsson  <jas@extundo.com>
82958
82959         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
82960         signal that configure disabled the device.
82961
82962 2006-03-08  Simon Josefsson  <jas@extundo.com>
82963
82964         * build-aux/maint.mk: Fix refresh-po, to handle no translated
82965         languages.
82966
82967 2006-03-07  Simon Josefsson  <jas@extundo.com>
82968
82969         * modules/getopt (Depends-on): Add unistd.
82970
82971         * modules/unistd: New file.
82972
82973 2006-03-07  Simon Josefsson  <jas@extundo.com>
82974
82975         * modules/gc-random: New file.
82976
82977 2006-03-07  Simon Josefsson  <jas@extundo.com>
82978
82979         * m4/unistd_h.m4: New file.
82980
82981 2006-03-07  Simon Josefsson  <jas@extundo.com>
82982
82983         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
82984         test to be side-effect free by storing the result in the cache
82985         variable gl_cv_lib_readline, and moving the assignment of
82986         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
82987         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82988
82989 2006-03-07  Simon Josefsson  <jas@extundo.com>
82990
82991         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
82992         error on missing devices (the functions will return an error).
82993
82994         * m4/gc.m4: Move random stuff to gc-random.m4
82995
82996 2006-03-07  Simon Josefsson  <jas@extundo.com>
82997
82998         * lib/unistd_.h: New file.
82999
83000 2006-03-07  Simon Josefsson  <jas@extundo.com>
83001
83002         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
83003
83004 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
83005
83006         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
83007         Problem reported by Juan Manuel Guerrero.
83008
83009 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
83010
83011         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
83012         the unistd module.
83013         * lib/getlogin_r.c: Likewise.
83014         * lib/getlogin_r.h: Likewise.
83015         * lib/glob.c: Likewise.
83016         * lib/pagealign_alloc.c: Likewise.
83017         * lib/unistd_.h: Remove; no longer needed.
83018
83019 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
83020
83021         * MODULES.html.sh (Support for systems lacking POSIX:2001):
83022         Add unistd.
83023         * modules/c-stack (Depends-on): Add unistd.
83024         * modules/getlogin_r: Likewise.
83025         * modules/glob: Likewise.
83026         * modules/pagealign_alloc: Likewise.
83027         * modules/unistd (Files): Remove lib/unistd_.h.
83028         (EXTRA_DIST): Remove.
83029         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
83030         need unistd_.h.
83031         (MOSTLYCLEANFILES): Remove unistd.h-t.
83032
83033 2006-03-03  Simon Josefsson  <jas@extundo.com>
83034
83035         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
83036
83037 2006-03-03  Simon Josefsson  <jas@extundo.com>
83038
83039         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
83040         libidn and bison.
83041
83042 2006-03-03  Simon Josefsson  <jas@extundo.com>
83043
83044         * build-aux/maint.mk: Add indent target.
83045
83046 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
83047
83048         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
83049         our replacement poll.h in any case, to avoid a differing
83050         declaration from a system header.  Seen on AIX.
83051
83052 2006-03-01  Simon Josefsson  <jas@extundo.com>
83053
83054         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
83055         <kasal@ucw.cz>.
83056
83057 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83058
83059         * modules/gettime (Depends-on): Add extensions module.
83060         * modules/nanosleep (Depends-on): Likewise.
83061         * modules/settime (Depends-on): Likewise.
83062
83063 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83064
83065         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
83066         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
83067         pedantically.
83068         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
83069         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
83070
83071         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
83072         not "==".  Reported by Ralf Wildenhues.
83073
83074 2006-03-01  Karl Berry  <karl@gnu.org>
83075
83076         * doc/Copyright/request-*: new files, synced from gnuorg.
83077
83078 2006-03-01  Karl Berry  <karl@gnu.org>
83079
83080         * config/srclist.txt (Copyright/*): new entries.
83081
83082 2006-02-28  Simon Josefsson  <jas@extundo.com>
83083
83084         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
83085
83086 2006-02-27  Simon Josefsson  <jas@extundo.com>
83087
83088         * lib/base64.h: Indent #define's.  From Jim Meyering
83089         <jim@meyering.net>.
83090
83091 2006-02-27  Jim Meyering  <jim@meyering.net>
83092
83093         Revert the change of 2006-02-24, so these files can continue
83094         to be sync'd from gettext.
83095         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
83096         of `config.h'.
83097
83098 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
83099
83100         * modules/intprops: New file.
83101         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
83102         Add intprops.
83103         * modules/getloadavg (Files): Remove lib/intprops.h.
83104         (Depends-on): Add intprops.
83105         * modules/human: Likewise.
83106         * modules/inttostr: Likewise.
83107         * modules/openat: Likewise.
83108         * modules/sig2str: Likewise.
83109         * modules/userspec: Likewise.
83110         * modules/utimecmp: Likewise.
83111         * modules/xnanosleep: Likewise.
83112         * modules/xstrtol: Likewise.
83113
83114 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
83115
83116         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
83117         * modules/lock-tests (TESTS): Use $(EXEEXT).
83118         * modules/tls-tests: Likewise.
83119         * modules/argp-tests: Likewise.
83120         (check_PROGRAMS): New var, replacing...
83121         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
83122
83123 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83124
83125         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
83126         `config.h'.
83127
83128 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
83129
83130         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
83131
83132 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83133
83134         Sync from coreutils.
83135         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
83136         gl_CHDIR_SAFER.
83137
83138 2006-02-22  Jim Meyering  <jim@meyering.net>
83139
83140         Sync from coreutils.
83141         * m4/chdir-safer.m4: New file.
83142
83143 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
83144
83145         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
83146         AT_FDCWD exceeds INT_MAX.
83147         * lib/openat.h (AT_FDCWD): Likewise.
83148
83149 2006-02-17  Eric Blake  <address@hidden>
83150
83151         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
83152
83153 2006-02-16  Simon Josefsson  <jas@extundo.com>
83154
83155         * modules/getaddrinfo (Depends-on): Add sys_socket.
83156
83157 2006-02-15  Simon Josefsson  <jas@extundo.com>
83158
83159         * build-aux/maint.mk: Add dsyntax-check rule.
83160
83161 2006-02-15  Eric Blake  <ebb9@byu.net>
83162
83163         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
83164         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
83165         'present but cannot compile' warnings on cygwin.
83166         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
83167         use ws2tcpip.h if sys/socket.h works.
83168         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
83169         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
83170
83171 2006-02-14  Simon Josefsson  <jas@extundo.com>
83172
83173         * modules/maintainer-makefile (Files): Rename.
83174
83175         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
83176         and (the local) Makefile.cfg to maint-cfg.mk.
83177
83178         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
83179         to the latter.
83180
83181         * modules/maintainer-makefile: New module.
83182
83183         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
83184         severaly stripped to make it possible to build it up from scratch
83185         with reliable tests.
83186
83187         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
83188         fixes to permit overriding the default actions when configure and
83189         makefile are not available.
83190
83191 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
83192
83193         Sync from coreutils.
83194         * modules/lstat (Depends-on): Don't depend on xalloc.
83195         (License): Change from GPL to LGPL, since this is now simply a
83196         replacement for a libc function.
83197
83198 2006-02-14  Jim Meyering  <jim@meyering.net>
83199
83200         Sync from coreutils.
83201
83202         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
83203         failure on deficient systems, and simplify gnulib lgpl dependencies.
83204         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
83205         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
83206
83207         * lib/xalloc-die.c: Remove unused definition of N_.
83208
83209 2006-02-14  Jim Meyering  <jim@meyering.net>
83210
83211         Sync from coreutils.
83212         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
83213         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
83214         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
83215         double-quote uses of that variable, to accommodate the rare case in
83216         which getmntent is available in none of the libraries checked.  This
83217         happens at least on FreeBSD 5.0.
83218
83219 2006-02-13  Simon Josefsson  <jas@extundo.com>
83220
83221         * gnulib-tool (Usage): Fix --import, from
83222         karl@freefriends.org (Karl Berry).
83223
83224 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
83225
83226         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
83227
83228 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
83229
83230         * lib/argp-namefrob.h: Restore changes accidentally lost during the
83231         "autoupdate" on 2005-12-12.
83232
83233 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
83234
83235         * modules/closeout (Depends-on): Remove atexit.
83236
83237 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
83238
83239         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
83240         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
83241
83242 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
83243
83244         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
83245         __EXTENSIONS__ if this causes compilation to fail.  Problem
83246         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
83247         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
83248
83249 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
83250
83251         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
83252         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
83253         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
83254         All uses changed.
83255
83256 2006-01-26  Simon Josefsson  <jas@extundo.com>
83257
83258         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
83259         prototype is visible on mingw32.
83260
83261         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
83262         for mingw32.
83263
83264         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
83265         mingw32).
83266
83267 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
83268
83269         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
83270         attempt to open for write; this always fails, at least on POSIX
83271         hosts.  This reinstates the 2006-01-09 change, which was
83272         inadvertently removed.
83273
83274 2006-01-26  Bruno Haible  <bruno@clisp.org>
83275
83276         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
83277         Reported by Paul Eggert.
83278
83279 2006-01-26  Bruno Haible  <bruno@clisp.org>
83280             Paul Eggert  <eggert@cs.ucla.edu>
83281
83282         * lib/stdbool_.h (_Bool)
83283         [(! (defined __cplusplus || defined __BEOS__)
83284           && !defined __GNUC__
83285           && !(defined __HP_cc || defined __xlc__
83286                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
83287                || defined __sgi))]:
83288         #define to signed char in these cases too; this simplifies
83289         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
83290         etc., separately) and makes it more conservative.
83291
83292 2006-01-25  Simon Josefsson  <jas@extundo.com>
83293
83294         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
83295         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
83296         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
83297
83298 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83299
83300         * lib/argp-namefrob.h: Bugfix. Remove stray #
83301
83302 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
83303
83304         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
83305         so that we test the test.
83306         Check for yet another HP-UX cc bug involving *bool |= bool.
83307
83308 2006-01-25  Karl Berry  <karl@gnu.org>
83309
83310         * config/srclist.txt (vasnprintf.c): sync lost.
83311
83312 2006-01-25  Jim Meyering  <jim@meyering.net>
83313
83314         Sync from the stable (b5) branch of coreutils:
83315
83316         * lib/fts.c (fts_children): Don't let close() clobber errno from
83317         failed fchdir().
83318
83319         * lib/fts.c (fts_stat): When following a symlink-to-directory,
83320         don't necessarily interpret stat-fails+lstat-succeeds as indicating
83321         a dangling symlink.  That can also happen at least for ELOOP.
83322         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
83323         FYI, this bug predates the inclusion of fts.c in coreutils.
83324
83325         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
83326         in their own block, so pre-c99 compilers don't object.
83327
83328         Avoid the double-free (first in fts_read, second in fts_close) that
83329         would occur when an `active' directory is made inaccessible (e.g.,
83330         via chmod a-x) during a traversal.
83331         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
83332         before returning.  Reproduce this failure by
83333         mkdir -p a/b; cd a; chmod a-x . b
83334         Reported by Stavros Passas.
83335
83336 2006-01-25  Jim Meyering  <jim@meyering.net>
83337
83338         * lib/fileblocks.c: Remove more useless parentheses.
83339         * lib/readutmp.h: Likewise.
83340
83341 2006-01-25  Bruno Haible  <bruno@clisp.org>
83342
83343         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
83344         warnings.
83345         Reported by Paul Eggert.
83346
83347 2006-01-25  Bruno Haible  <bruno@clisp.org>
83348
83349         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
83350         rid of a trap command. For Solaris sh.
83351         Reported by Mark D. Baushke <mdb@gnu.org>.
83352
83353 2006-01-24  Simon Josefsson  <jas@extundo.com>
83354
83355         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
83356         Bruno.
83357
83358 2006-01-24  Karl Berry  <karl@gnu.org>
83359
83360         * config/srclist.txt (argp-namefrob.h): sync lost.
83361
83362 2006-01-24  Jim Meyering  <jim@meyering.net>
83363
83364         * modules/openat (Files): Add lib/intprops.h.
83365         From Mark D. Baushke.
83366
83367 2006-01-24  Jim Meyering  <jim@meyering.net>
83368
83369         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
83370         Reported by Mark D. Baushke.
83371
83372 2006-01-24  Jim Meyering  <jim@meyering.net>
83373
83374         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
83375
83376 2006-01-24  Bruno Haible  <bruno@clisp.org>
83377
83378         * modules/strnlen (Maintainer): Change from glibc to all.
83379
83380 2006-01-24  Bruno Haible  <bruno@clisp.org>
83381
83382         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
83383         Patch by Paul Eggert.
83384
83385 2006-01-24  Bruno Haible  <bruno@clisp.org>
83386
83387         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
83388         already has it.
83389         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
83390         2005-11-26.
83391
83392         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
83393         'signed char' to avoid problems with the built-in _Bool type.
83394         Reported by Paul Eggert on 2005-11-26.
83395
83396 2006-01-24  Bruno Haible  <bruno@clisp.org>
83397
83398         * gnulib-tool (func_import): Avoid constructing complicated sed
83399         expressions inside backquote.
83400         Report and solution by Mark D. Baushke <mdb@gnu.org>.
83401
83402 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
83403
83404         These changes imported from libc.
83405         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
83406         test and two separate function calls.
83407         * lib/strndup.c (__strndup): Add libc_hidden_def.
83408
83409 2006-01-23  Simon Josefsson  <jas@extundo.com>
83410
83411         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
83412         Remove the test_*_SOURCES variable: automake infers it by default.
83413         * modules/tls-tests: Likewise.
83414
83415 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83416
83417         Work around porting bugs reported by Dieter in
83418         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
83419         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
83420         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
83421         Include "getopt.h" first, to check interface.
83422         (getenv): Declare only if defined HAVE_DECL_GETENV &&
83423         !HAVE_DECL_GETENV.
83424         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
83425         (__strndup): Revert to K&R-style function dfns, the glibc style.
83426         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
83427         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
83428         Include strnlen.h first, to get prototype properly.
83429         (strnlen): Renamed from __strnlen.
83430         Remove weak alias.
83431
83432 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83433
83434         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
83435
83436 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83437
83438         * config/srclist.txt: Adjust to reflect glibc reorganization.
83439         This affects only comments.
83440
83441 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
83442
83443          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
83444          Reported by Bruce Korb <bkorb@gnu.org>.
83445
83446 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
83447
83448         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
83449         to pacify gcc -Wswitch-default.
83450
83451 2006-01-22  Bruno Haible  <bruno@clisp.org>
83452
83453         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
83454         temporary buffer for sprintf, take into account the precision also
83455         for 'd', 'i', 'u', 'o', 'x', 'X'.
83456
83457 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
83458
83459         * modules/argp-tests: New module
83460         * tests/test-argp.c: New file
83461         * tests/test-argp-2.sh: New file
83462
83463 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
83464
83465         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
83466         (__argp_base_name): Removed
83467         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
83468         typo.
83469         (__argp_base_name): Provide macro definition or extern declaration
83470         depending on the configuration
83471
83472 2006-01-20  Simon Josefsson  <jas@extundo.com>
83473
83474         * modules/inet_ntop (Depends-on): Depend on sys_socket.
83475
83476 2006-01-20  Simon Josefsson  <jas@extundo.com>
83477
83478         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
83479
83480 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
83481
83482         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
83483         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
83484         Suggested by Bruno Haible.
83485
83486 2006-01-20  Karl Berry  <karl@gnu.org>
83487
83488         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
83489         until changes propagate, I guess.
83490
83491 2006-01-19  Simon Josefsson  <jas@extundo.com>
83492
83493         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
83494
83495 2006-01-19  Simon Josefsson  <jas@extundo.com>
83496
83497         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
83498
83499 2006-01-19  Simon Josefsson  <jas@extundo.com>
83500
83501         * gnulib-tool: Set check_PROGRAMS.
83502
83503         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
83504         modules/des-tests, modules/gc-arcfour-tests,
83505         modules/gc-arctwo-tests, modules/gc-des-tests,
83506         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
83507         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
83508         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
83509         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
83510         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
83511         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
83512         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
83513         test_*_SOURCES.
83514
83515 2006-01-18  Simon Josefsson  <jas@extundo.com>
83516
83517         * modules/socklen (Depends-on): Depend on sys_socket.
83518
83519 2006-01-18  Simon Josefsson  <jas@extundo.com>
83520
83521         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
83522         modules/des-tests, modules/gc-arcfour-tests,
83523         modules/gc-arctwo-tests, modules/gc-des-tests,
83524         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
83525         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
83526         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
83527         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
83528         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
83529         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
83530         $(EXEEXT) to automake TESTS variable, for mingw32.
83531
83532 2006-01-17  Simon Josefsson  <jas@extundo.com>
83533
83534         * modules/socklen (Include): Need sys/socket.h.
83535
83536 2006-01-17  Bruno Haible  <bruno@clisp.org>
83537
83538         * modules/ssize_t (Include): Add <sys/types.h>.
83539
83540 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
83541
83542         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
83543         it's not portable and it doesn't work with cross-compiles.
83544         Problem reported by Bruno Haible.  Fix missing-$ typo in
83545         'test "gl_cv_ignore_unused_libraries" ...' that prevented
83546         -zignore from being used with Sun's C compiler.
83547
83548 2006-01-12  Simon Josefsson  <jas@extundo.com>
83549
83550         * lib/base64.c: Fix warning, reported by Bruno Haible
83551         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
83552
83553 2006-01-12  Bruno Haible  <bruno@clisp.org>
83554
83555         * modules/ldd: New file.
83556         * build-aux/ldd.sh.in: New file.
83557         * MODULES.html.sh (Support for building libraries and executables): Add
83558         ldd.
83559
83560 2006-01-12  Bruno Haible  <bruno@clisp.org>
83561
83562         * m4/ldd.m4: New file.
83563
83564 2006-01-12  Bruno Haible  <bruno@clisp.org>
83565
83566         * gnulib-tool (func_import, func_create_testdir): Don't go into an
83567         endless loop while replacing $auxdir with build-aux.
83568
83569 2006-01-11  Simon Josefsson  <jas@extundo.com>
83570
83571         * lib/stdint_.h (SIZE_MAX): Add missing (.
83572
83573 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
83574
83575         Sync from coreutils.
83576         * lib/md5.c: Fix commentary typos.
83577         (alignof, UNALIGNED_P): No need for a GCC-specific version.
83578         * lib/md5.h (__attribute__): Remove; unused.
83579         * lib/sha1.c: Fix commentary to match md5 better.
83580         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
83581         so that we don't need to worry about alignment.  All uses changed.
83582         This merges the 2005-10-28 md5 change into sha1.
83583
83584 2006-01-11  Jim Meyering  <jim@meyering.net>
83585
83586         Sync from coreutils.
83587         * lib/md5.c (OP): Fix spacing.
83588
83589 2006-01-11  Bruno Haible  <bruno@clisp.org>
83590
83591         Ensure automatic ordering between gl_LOCK and gl_ARGP.
83592         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
83593         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
83594
83595 2006-01-11  Bruno Haible  <bruno@clisp.org>
83596
83597         Ensure automatic ordering between gl_LOCK and gl_ARGP.
83598         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
83599         the "early" section as well.
83600
83601 2006-01-11  Bruno Haible  <bruno@clisp.org>
83602
83603         Avoid "ar: no archive members specified" error on MacOS X.
83604         * gnulib-tool (func_modules_add_dummy): New function.
83605         (func_import, func_create_testdir): Invoke it.
83606
83607 2006-01-11  Bruno Haible  <bruno@clisp.org>
83608
83609         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
83610         with $auxdir in AC_CONFIG_FILES statements.
83611
83612 2006-01-11  Bruno Haible  <bruno@clisp.org>
83613
83614         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
83615         Initialize also noinst_HEADERS to empty.
83616
83617 2006-01-11  Bruno Haible  <bruno@clisp.org>
83618
83619         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
83620         variables.
83621         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
83622         autoreconf.
83623
83624 2006-01-11  Bruno Haible  <bruno@clisp.org>
83625
83626         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
83627         overridable by the user.
83628         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83629
83630 2006-01-10  Simon Josefsson  <jas@extundo.com>
83631
83632         * modules/sys_socket: New file.
83633
83634 2006-01-10  Simon Josefsson  <jas@extundo.com>
83635
83636         * m4/sys_socket_h.m4: New file.
83637
83638 2006-01-10  Simon Josefsson  <jas@extundo.com>
83639
83640         * lib/socket_.h: New file.
83641
83642 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83643
83644         * modules/readutmp (Maintainer): Add myself.
83645
83646 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83647
83648         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
83649         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
83650         People who are still concerned with buggy memcmp implementations
83651         can invoke gl_FUNC_MEMCMP themselves.
83652
83653 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83654
83655         * lib/regex_internal.h (BITSET_WORD_BITS):
83656         Work around a bug in 64-bit PGC (before version 6.1-2), where the
83657         preprocessor mishandles large unsigned values as if they were signed.
83658         Problem reported by Claudio Fontana in
83659         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
83660
83661 2006-01-10  Jim Meyering  <jim@meyering.net>
83662
83663         Avoid the double-free (first in fts_read, second in fts_close) that
83664         would occur when an `active' directory is made inaccessible (e.g.,
83665         via chmod a-x) during a traversal.
83666         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
83667         before returning.  Reproduce this failure by
83668         mkdir -p a/b; cd a; chmod a-x . b
83669         Reported by Stavros Passas.
83670
83671         Sync from coreutils.
83672         * lib/sha1.c: Tweak grammar in a comment.
83673
83674 2006-01-10  Jim Meyering  <jim@meyering.net>
83675
83676         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
83677         Patch by Joerg Sonnenberger.
83678
83679 2006-01-10  Bruno Haible  <bruno@clisp.org>
83680
83681         * modules/readutmp: Depend on module free.
83682         * modules/strtok_r: Depend on module restrict.
83683
83684 2006-01-10  Bruno Haible  <bruno@clisp.org>
83685
83686         * modules/gettext (configure.ac): Add an invocation of
83687         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
83688
83689 2006-01-10  Bruno Haible  <bruno@clisp.org>
83690
83691         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
83692         Reported by Werner Lemberg <wl@gnu.org>.
83693
83694 2006-01-10  Bruno Haible  <bruno@clisp.org>
83695
83696         * lib/localcharset.c: Update from GNU gettext.
83697
83698 2006-01-10  Bruno Haible  <bruno@clisp.org>
83699
83700         * lib/argp.h (__const): Remove macro. Use const instead.
83701         * lib/argp-fmtstream.h (__const): Likewise.
83702         * lib/glob_.h (__const): Remove macro.
83703         * lib/glob-libc.h: Use const instead of __const.
83704
83705 2006-01-10  Bruno Haible  <bruno@clisp.org>
83706
83707         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
83708         variable.
83709         Needed to avoid an automake error regarding the 'gettext' module.
83710
83711 2006-01-09  Simon Josefsson  <jas@extundo.com>
83712
83713         * modules/inet_ntop (Depends-on): Add restrict.
83714
83715 2006-01-09  Simon Josefsson  <jas@extundo.com>
83716
83717         * modules/gc-rijndael-tests (License): Put under LGPL.
83718
83719         * modules/gc-des-tests (License): Likewise.
83720
83721         * modules/gc-arcfour-tests (License): Likewise.
83722
83723         * modules/gc-arctwo-tests (License): Likewise.
83724
83725         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
83726
83727         * modules/gc-hmac-sha1-tests (Files): Likewise.
83728
83729         * modules/gc-hmac-md5-tests (License): Likewise.
83730
83731         * modules/gc-sha1-tests (License): Likewise.
83732
83733         * modules/gc-md5-tests (License): Likewise.
83734
83735         * modules/gc-md4-tests (License): Likewise.
83736
83737         * modules/gc-md2-tests (License): Likewise.
83738
83739         * modules/gc-tests (License): Likewise.
83740
83741         * modules/des-tests (License): Likewise.
83742
83743         * modules/md4-tests (License): Likewise.
83744
83745         * modules/md2-tests (License): Likewise.
83746
83747 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83748
83749         Sync from coreutils:
83750
83751         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
83752         * modules/lib-ignore: New file.
83753         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
83754         chdir-safer.m4, lchmod.m4.
83755         * modules/openat: Add mkdirat.c, openat-priv.h.
83756
83757 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83758
83759         Sync from coreutils.
83760         * m4/lib-ignore.m4: New file.
83761         * m4/lchmod.m4: New file.
83762
83763 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83764
83765         Sync from coreutils.
83766         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
83767         for write access: POSIX says that must fail.
83768         * lib/fts.c (diropen): Likewise.
83769         * lib/save-cwd.c (save_cwd): Likewise.
83770         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
83771         well, for minor improvements on hosts that lack O_DIRECTORY.
83772         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
83773         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
83774         Fall back on chown if open failed with EACCES.
83775
83776         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
83777         Report an error at compile-time if only a 1-second nominal clock
83778         resolution is found.
83779
83780         * lib/lchmod.h: New file.
83781         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
83782         (make_dir_parents): Use lchown rather than chown, and
83783         lchmod rather than chmod.
83784
83785         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
83786         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
83787         "proc" reported by n0dalus.
83788
83789         * lib/mountlist.c: Include <limits.h>.
83790         (dev_from_mount_options)
83791         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
83792         New function.  It no longer assumes "dev=" has the System V meaning
83793         on Linux (since it doesn't).  It also parses "dev=" more carefully.
83794         (read_file_system_list)
83795         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
83796         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
83797         dev= in that case.
83798
83799         * lib/posixtm.h (PDS_PRE_2000): New macro.
83800         * lib/posixtm.c (year): Arg is now syntax_bits rather than
83801         allow_century.  All usages changed.  Reject dates outside the range
83802         1969-1999 if PDS_PRE_2000 is used.
83803
83804 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83805
83806         Sync from coreutils.
83807         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
83808         (Time of day items): Mention the possibility of leap seconds.
83809         Problem reported by Dr. David Alan Gilbert.
83810
83811 2006-01-09  Jim Meyering  <jim@meyering.net>
83812
83813         Sync from coreutils.
83814
83815         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
83816
83817         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
83818
83819         * lib/modechange.c (mode_compile): Reject an invalid mode string
83820         that starts with an octal digit.  From Andreas Gruenbacher.
83821
83822         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
83823         and dup to open_safer and dup_safer, respectively.
83824         (openat_permissive): Fix typo in comment.
83825
83826         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
83827         "gettext.h"; either no longer needed or are guaranteed by openat.h.
83828         (_): Remove; no longer needed.
83829         (openat): Renamed from rpl_openat; no need for rpl_openat
83830         since openat.h renames openat for us.
83831         Replace most of the body with a call to openat_permissive,
83832         to avoid duplicate code.
83833         Port to (probably hypothetical) environments were mode_t is
83834         wider than int.
83835         (openat_permissive): Require mode arg, so that we can check
83836         types better.  Put it just after flags.  Change cwd failure
83837         indicator from pointer-to-bool to pointer-to-errno-value.
83838         All callers changed.
83839         Invoke openat_save_fail and/or openat_restore_fail if
83840         cwd_errno is null, so that openat can call us.
83841         (openat_permissive, fdopendir, fstatat, unlinkat):
83842         Simplify errno handling to avoid some duplicate code,
83843         as it's OK to set errno on success.
83844         * lib/openat.h: Revamp code so that function macros depend on
83845         __OPENAT_PREFIX only, not also on AT_FDCWD.
83846         (openat_ro): Remove.  Caller changed to use openat_permissive.
83847         (openat_permissive): Now a macro, if not a function.
83848         (openat_restore_fail, openat_save_fail): Now always functions,
83849         since mkdirat needs them even if __OPENAT_PREFIX is defined.
83850
83851         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
83852         and openat.c.
83853         * lib/mkdirat.c: Include openat-priv.h.
83854         Remove definitions of macros defined therein.
83855         * lib/openat.c: Likewise.
83856
83857         * lib/mkdirat.c (mkdirat): New file and function.
83858         * lib/openat.h (mkdirat): Declare.
83859
83860         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
83861
83862         * lib/openat.h (openat_permissive): Declare.
83863         (openat_ro): Define.
83864
83865         * lib/openat.c (EXPECTED_ERRNO): New macro.
83866         (openat_permissive): New function -- used in remove.c rewrite.
83867         (all functions): Set errno just before returning, only if there
83868         was an actual failure.
83869         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
83870
83871         Emulate openat-family functions using Linux's procfs, if possible.
83872         Idea and some code based on Ulrich Drepper's glibc changes.
83873
83874         * lib/openat.c: (BUILD_PROC_NAME): New macro.
83875         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
83876         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
83877         before falling back on save_cwd and restore_cwd.
83878         (fdopendir, fstatat, unlinkat): Likewise.
83879
83880         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
83881         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
83882
83883         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
83884         as second argument to va_arg.  Otherwise, some versions of gcc
83885         warn that `if this code is reached, the program will abort'.
83886
83887 2006-01-09  Jim Meyering  <jim@meyering.net>
83888
83889         Sync from coreutils.
83890         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
83891         Require openat-priv.h.
83892
83893 2006-01-09  Bruno Haible  <bruno@clisp.org>
83894
83895         * modules/strnlen (Include): Use strnlen.h.
83896
83897 2006-01-09  Bruno Haible  <bruno@clisp.org>
83898
83899         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
83900
83901 2006-01-09  Bruno Haible  <bruno@clisp.org>
83902
83903         * lib/sysexit_.h (EX_OK): New macro.
83904         Suggested by Martin Lambers <marlam@marlam.de>.
83905
83906 2006-01-09  Bruno Haible  <bruno@clisp.org>
83907
83908         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
83909         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
83910
83911 2006-01-09  Bruno Haible  <bruno@clisp.org>
83912
83913         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
83914         numbers.
83915
83916 2006-01-09  Bruno Haible  <bruno@clisp.org>
83917
83918         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
83919         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
83920         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
83921         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
83922
83923 2006-01-09  Bruno Haible  <bruno@clisp.org>
83924
83925         * build-aux/javacomp.sh.in: New file, moved from lib/.
83926         * modules/javacomp-script (Files): Update.
83927         (configure.ac): Add AC_CONFIG_FILES invocation.
83928         (EXTRA_DIST): Remove variable.
83929
83930         * build-aux/javaexec.sh.in: New file, moved from lib/.
83931         * modules/javaexec (Files): Update.
83932         (configure.ac): Add AC_CONFIG_FILES invocation.
83933         (EXTRA_DIST): Remove javaexec.sh.in.
83934
83935         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
83936         * modules/csharpcomp-script (Files): Update.
83937         (configure.ac): Add AC_CONFIG_FILES invocation.
83938         (EXTRA_DIST): Remove variable.
83939
83940         * build-aux/csharpexec.sh.in: New file, moved from lib/.
83941         * modules/csharpexec (Files): Update.
83942         (configure.ac): Add AC_CONFIG_FILES invocation.
83943         (EXTRA_DIST): Remove csharpexec.sh.in.
83944
83945 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83946
83947         Sync from coreutils.
83948
83949         Add POSIX ACL support
83950         * lib/acl.h (copy_acl, set_acl): Add declarations.
83951         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
83952         systems other than Linux.
83953         (chmod_or_fchmod): New function: use fchmod when possible,
83954         and chmod otherwise.
83955         (file_has_acl): Add a POSIX ACL implementation, with a
83956         Linux-specific subcase.
83957         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
83958         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
83959         acls are unsupported.
83960         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
83961         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
83962         are unsupported.
83963
83964 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83965
83966         Sync from coreutils.
83967         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
83968
83969 2006-01-07  Bruno Haible  <bruno@clisp.org>
83970
83971         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
83972         gl_EARLY.
83973
83974 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83975
83976         * lib/strftime.c (tzname): Don't declare if it is already #defined.
83977         Problem reported for Mingw by Mark Junker.
83978
83979 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83980
83981         * README: Gnulib normally doesn't generate a tarball.
83982
83983 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
83984
83985         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
83986         long int, not int, for nanosecond counts, so that people who are
83987         used to POSIX struct timespec won't be surprised.  Reported by Jim
83988         Meyering.
83989
83990 2005-12-28  Bruno Haible  <bruno@clisp.org>
83991
83992         * build-aux/config.rpath: Update from GNU gettext.
83993
83994 2005-12-16  Jim Meyering  <jim@meyering.net>
83995
83996         * modules/fprintftime: New module.
83997         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
83998
83999 2005-12-16  Jim Meyering  <jim@meyering.net>
84000
84001         * m4/fprintftime.m4: New file.
84002
84003 2005-12-16  Jim Meyering  <jim@meyering.net>
84004
84005         * lib/fprintftime.c, lib/fprintftime.h: New files.
84006
84007 2005-12-15  Simon Josefsson  <jas@extundo.com>
84008
84009         * modules/socklen (configure.ac): Fix M4 macro name, to align with
84010         new m4/socklen.m4.
84011
84012 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
84013
84014         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
84015         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
84016
84017 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
84018
84019         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
84020         * lib/argp-help.c (fill_in_uparams): Check if the constructed
84021         struct uparams is valid. Fall back to the default values if it is
84022         not.
84023
84024 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
84025
84026         * modules/argp (Files): Add argp-pin.c
84027         (Depends-on): dirname
84028         (lib_SOURCES): Add argp-pin.c
84029
84030 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
84031
84032         * m4/argp.m4:  Check if program_invocation_name and
84033         program_invocation_short_name are declared and define appropriate
84034         macros if they are not.
84035
84036 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
84037
84038         * lib/argp-help.c (__argp_base_name): New function
84039         (__argp_short_program_name): Rewrite using __argp_base_name
84040         * lib/argp-namefrob.h: Define program_invocation_name and
84041         program_invocation_short_name if requested
84042         (__argp_base_name): Add prototype
84043         * lib/argp-parse.c (argp_def): Use gettext wrappers
84044         (argp_default_parser): Use __argp_base_name
84045         * lib/argp-pin.c: New file. Defines program_invocation_name and
84046         program_invocation_short_name on systems that lack them.
84047
84048 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
84049
84050         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
84051         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
84052         porting problem reported by Georg Schwarz in
84053         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
84054
84055 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
84056
84057         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
84058         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
84059         porting problem reported by Georg Schwarz in
84060         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
84061
84062 2005-12-05  Bruno Haible  <bruno@clisp.org>
84063
84064         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
84065         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
84066         Reported by Mark Junker <mjscod@gmx.de>.
84067
84068 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
84069
84070         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
84071         Use implementation from Albert Chin, with some
84072         comments/corrections by Stepan Kasal and myself.
84073
84074 2005-12-02  Bruno Haible  <bruno@clisp.org>
84075
84076         * gnulib-tool (func_import): Accept GPLed build tool modules when
84077         --lgpl is given.
84078         * modules/csharpcomp-script: New file.
84079         * modules/csharpcomp: Depend on it.
84080         * modules/javacomp-script: New file.
84081         * modules/javacomp: Depend on it.
84082         Suggested by Simon Josefsson.
84083
84084 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
84085
84086         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
84087         statement, to work around an HP-UX 10.20 compiler bug reported by
84088         Peter O'Gorman.
84089
84090 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
84091
84092         * modules/savedir (Depends-on): Add openat.
84093
84094 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
84095
84096         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
84097         (uintmax_t) [defined uintmax_t]: Do not declare.
84098         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
84099         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
84100         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
84101         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
84102         sake of portability to weird hosts that C allows (though we don't
84103         know of any practical examples).
84104
84105         * lib/savedir.h (fdsavedir): New decl.
84106         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
84107         contains most of the former guts of savedir.
84108         (savedir): Use savedirstream.
84109         Include "openat.h".
84110
84111 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
84112
84113         * modules/obstack (Files): Add m4/ulonglong.m4.
84114         Problem reported by Davide Angelocola.
84115
84116 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
84117
84118         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
84119         coreutils no longer futzes with rounding modes.
84120
84121 2005-11-14  Jim Meyering  <jim@meyering.net>
84122
84123         * lib/mkstemp-safer.c: Include <config.h>, required for possible
84124         replacement of mkstemp.
84125
84126 2005-11-10  Simon Josefsson  <jas@extundo.com>
84127
84128         * lib/readline.c: Remove EOL.
84129
84130 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
84131
84132         * modules/gethrxtime (Depends-on): Add gettime.
84133
84134 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
84135
84136         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
84137         or gettimeofday; no longer needed.
84138
84139 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
84140
84141         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
84142         time business.
84143         (gethrxtime) [! (HAVE_NANOUPTIME
84144         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
84145         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
84146         our own approximation.
84147
84148 2005-11-08  Eric Blake  <ebb9@byu.net>
84149
84150         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
84151
84152 2005-11-08  Eric Blake  <ebb9@byu.net>
84153
84154         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
84155
84156 2005-11-04  Bruno Haible  <bruno@clisp.org>
84157
84158         * gnulib-tool: Implement --update mode.
84159
84160 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
84161
84162         Fix porting problem reported by Theodoros V. Kalamatianos.
84163         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
84164         Don't assume that futimes failing means we must fail.
84165
84166 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
84167
84168         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
84169         variables to suggest the intended function of the PATH_MAX check.
84170
84171 2005-10-30  Kean Johnston  <jkj@sco.com>
84172
84173         Trivial changes to support SCO systems.
84174         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
84175         as PATH_MAX.
84176         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
84177         where __ptr is null when no I/O is pending.
84178
84179 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
84180
84181         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
84182         leave errno alone.  Problem reported by Dmitry V. Levin.
84183
84184 2005-10-28  Simon Josefsson  <jas@extundo.com>
84185
84186         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
84187         Test more.
84188
84189         * tests/test-gc-md2.c, tests/test-md2.c: New files.
84190
84191         * modules/md2, modules/md2-tests: New files.
84192
84193 2005-10-28  Simon Josefsson  <jas@extundo.com>
84194
84195         * m4/inet_ntop.m4: More tests.
84196
84197         * m4/gc-md2.m4, md2.m4: New file.
84198
84199 2005-10-28  Simon Josefsson  <jas@extundo.com>
84200
84201         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
84202         "restrict" keywords, as per POSIX.  Protect the function
84203         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
84204         Don't use K&R prototypes.  Check the sprintf return values.
84205         Re-define EAFNOSUPPORT if not present.  Indent.
84206
84207         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
84208         suggested by Bruno Haible <bruno@clisp.org>.
84209
84210         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
84211
84212         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
84213
84214         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
84215         libgcrypt).
84216
84217         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
84218
84219         * lib/md2.h, lib/md2.c: New files.
84220
84221 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
84222
84223         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
84224         errno alone.  Problem reported by Frederic Jolliton.
84225
84226 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
84227
84228         * modules/verify (License): Change from GPL to LGPL.  This is a
84229         tiny module and there are apparently near-equivalents that are
84230         under the BSD license.
84231
84232 2005-10-24  Simon Josefsson  <jas@extundo.com>
84233
84234         * modules/sha1: Relicense to LGPL.
84235
84236 2005-10-24  Simon Josefsson  <jas@extundo.com>
84237
84238         * lib/md4.h: Shrink buffer size, now that we changed the type.
84239
84240 2005-10-23  Simon Josefsson  <jas@extundo.com>
84241
84242         * gnulib-tool (func_import): Fix --tests-base.
84243
84244 2005-10-22  Simon Josefsson  <jas@extundo.com>
84245
84246         * modules/arcfour (Depends-on): Need stdint.
84247
84248 2005-10-22  Simon Josefsson  <jas@extundo.com>
84249
84250         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
84251         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
84252
84253 2005-10-22  Simon Josefsson  <jas@extundo.com>
84254
84255         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
84256         suggested by Bruno Haible <bruno@clisp.org>.
84257
84258 2005-10-22  Simon Josefsson  <jas@extundo.com>
84259
84260         * lib/crc.h: Include stddef.h, for size_t.
84261
84262 2005-10-22  Simon Josefsson  <jas@extundo.com>
84263
84264         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
84265         arcfour_context struct (simplify test vector testing in GNU
84266         Shishi).
84267
84268 2005-10-21  Simon Josefsson  <jas@extundo.com>
84269
84270         * modules/des, modules/des-tests: New files.
84271
84272         * modules/gc-des, modules/gc-des-tests: New files.
84273
84274         * tests/test-des.c, tests/test-gc-des.c: New file.
84275
84276 2005-10-21  Simon Josefsson  <jas@extundo.com>
84277
84278         * modules/arctwo, modules/arctwo-tests: New files.
84279
84280         * tests/test-arctwo.c: New file.
84281
84282         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
84283
84284         * tests/test-gc-arctwo.c: New file.
84285
84286 2005-10-21  Simon Josefsson  <jas@extundo.com>
84287
84288         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
84289         Bruno Haible <bruno@clisp.org>.
84290
84291         * m4/gc-des.m4: New file.
84292
84293 2005-10-21  Simon Josefsson  <jas@extundo.com>
84294
84295         * m4/arctwo.m4: New file.
84296
84297         * m4/gc-arctwo.m4: New file.
84298
84299 2005-10-21  Simon Josefsson  <jas@extundo.com>
84300
84301         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
84302         block.
84303
84304 2005-10-21  Simon Josefsson  <jas@extundo.com>
84305
84306         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
84307         <bruno@clisp.org>.
84308
84309         * lib/hmac-sha1.c (hmac_sha1): Likewise.
84310
84311         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
84312         Bruno Haible <bruno@clisp.org>.
84313
84314         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
84315         <bruno@clisp.org>.
84316
84317 2005-10-21  Simon Josefsson  <jas@extundo.com>
84318
84319         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
84320
84321 2005-10-21  Simon Josefsson  <jas@extundo.com>
84322
84323         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
84324
84325 2005-10-21  Simon Josefsson  <jas@extundo.com>
84326
84327         * lib/des.h, lib/des.c: New files.
84328
84329         * lib/gc-gnulib.c: Support DES.c
84330
84331 2005-10-21  Simon Josefsson  <jas@extundo.com>
84332
84333         * lib/arctwo.h, lib/arctwo.c: New files.
84334
84335         * lib/gc-gnulib.c: Support ARCTWO.
84336
84337 2005-10-21  Simon Josefsson  <jas@extundo.com>
84338
84339         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
84340         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
84341
84342 2005-10-21  Simon Josefsson  <jas@extundo.com>
84343
84344         * gnulib-tool (func_import, func_create_testdir): Define automake
84345         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
84346         Makefile.am snippet),
84347         suggested by Bruno Haible <bruno@clisp.org>.
84348
84349         * modules/gc (Makefile.am): Use it.
84350
84351 2005-10-21  Bruno Haible  <bruno@clisp.org>
84352
84353         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
84354         patch.
84355
84356 2005-10-19  Simon Josefsson  <jas@extundo.com>
84357
84358         * tests/test-gc-rijndael.c: New file.
84359
84360         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
84361
84362 2005-10-19  Simon Josefsson  <jas@extundo.com>
84363
84364         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
84365         interface too.
84366
84367 2005-10-19  Simon Josefsson  <jas@extundo.com>
84368
84369         * tests/test-gc-arcfour.c: New file.
84370
84371         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
84372
84373 2005-10-19  Simon Josefsson  <jas@extundo.com>
84374
84375         * modules/gc-md4, modules/gc-md4-tests: New file.
84376
84377         * tests/test-gc-md4.c: New file.
84378
84379 2005-10-19  Simon Josefsson  <jas@extundo.com>
84380
84381         * m4/gc-md4.m4: New file.
84382
84383 2005-10-19  Simon Josefsson  <jas@extundo.com>
84384
84385         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
84386         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
84387         <kasal@ucw.cz>.
84388
84389 2005-10-19  Simon Josefsson  <jas@extundo.com>
84390
84391         * m4/gc-arcfour.m4: New file.
84392
84393         * m4/gc-rijndael.m4: New file.
84394
84395 2005-10-19  Simon Josefsson  <jas@extundo.com>
84396
84397         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
84398
84399 2005-10-19  Simon Josefsson  <jas@extundo.com>
84400
84401         * lib/gc-gnulib.c: Support ARCFOUR.
84402
84403 2005-10-19  Simon Josefsson  <jas@extundo.com>
84404
84405         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
84406         support.
84407
84408         * lib/gc.h: Add ECB enum type.
84409
84410         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
84411
84412 2005-10-18  Simon Josefsson  <jas@extundo.com>
84413
84414         * tests/test-md5.c: New file.
84415
84416         * modules/md5-tests: New file.
84417
84418 2005-10-18  Simon Josefsson  <jas@extundo.com>
84419
84420         * tests/test-md4.c: New file.
84421
84422         * modules/md4, modules/md4-tests: New files.
84423
84424 2005-10-18  Simon Josefsson  <jas@extundo.com>
84425
84426         * m4/md4.m4: New file.
84427
84428 2005-10-18  Simon Josefsson  <jas@extundo.com>
84429
84430         * lib/md4.h, lib/md4.c: New files, based on md5.?.
84431
84432 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
84433
84434         * gnulib-tool (func_create_testdir): Omit the second check whether
84435         BUILT_SOURCES in nonempty.
84436
84437 2005-10-17  Simon Josefsson  <jas@extundo.com>
84438
84439         * tests/test-rijndael.c: New file.
84440
84441 2005-10-17  Simon Josefsson  <jas@extundo.com>
84442
84443         * modules/sha1: Depend on stdint instead of md5.
84444
84445         * modules/md5: Depend on stdint, remove uint32_t.
84446
84447 2005-10-17  Simon Josefsson  <jas@extundo.com>
84448
84449         * modules/gc-sha1-tests: New file.
84450
84451         * tests/test-gc-sha1.c: New file.
84452
84453 2005-10-17  Simon Josefsson  <jas@extundo.com>
84454
84455         * m4/md5.m4: Remove call to uint32_t.m4.
84456
84457 2005-10-17  Simon Josefsson  <jas@extundo.com>
84458
84459         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
84460
84461         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
84462         md5.h.
84463
84464         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
84465
84466         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
84467
84468 2005-10-17  Simon Josefsson  <jas@extundo.com>
84469
84470         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
84471
84472 2005-10-17  Simon Josefsson  <jas@extundo.com>
84473
84474         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
84475
84476 2005-10-17  Simon Josefsson  <jas@extundo.com>
84477
84478         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
84479
84480         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
84481
84482 2005-10-17  Bruno Haible  <bruno@clisp.org>
84483
84484         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
84485         that it can also be used in a test.
84486
84487 2005-10-16  Bruno Haible  <bruno@clisp.org>
84488
84489         * gnulib-tool (func_emit_tests_Makefile_am): Also define
84490         TESTS_ENVIRONMENT, so that individual tests can augment it.
84491
84492         * gnulib-tool (func_create_testdir): Use an intermediate target for
84493         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
84494         macros, like $(ALLOCA_H), which cannot be passed through the command
84495         line.
84496
84497 2005-10-15  Simon Josefsson  <jas@extundo.com>
84498
84499         * modules/rijndael-tests: New file.
84500
84501         * modules/rijndael: New file.
84502
84503 2005-10-15  Simon Josefsson  <jas@extundo.com>
84504
84505         * m4/rijndael.m4: New file.
84506
84507 2005-10-15  Simon Josefsson  <jas@extundo.com>
84508
84509         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
84510
84511         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
84512
84513 2005-10-14  Simon Josefsson  <jas@extundo.com>
84514
84515         * tests/test-arcfour.c: New file.
84516
84517         * modules/arcfour, modules/arcfour-tests: New files.
84518
84519 2005-10-14  Simon Josefsson  <jas@extundo.com>
84520
84521         * m4/arcfour.m4: New file.
84522
84523 2005-10-14  Simon Josefsson  <jas@extundo.com>
84524
84525         * lib/arcfour.h, lib/arcfour.c: New files.
84526
84527 2005-10-14  Roland McGrath  <roland@redhat.com>
84528
84529         Import from libc.  [BZ #1331]
84530         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
84531         macro argument.
84532         Reported by Matej Vela <vela@debian.org>.
84533
84534 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
84535
84536         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
84537         include <wchar.h>; no longer needed.
84538
84539 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
84540
84541         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
84542
84543 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
84544         and  Ulrich Drepper  <drepper@redhat.com>
84545
84546         Import from libc.
84547         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
84548         instead of inline stream orientation test and two separate
84549         function calls.  Pay no attention to USE_IN_LIBIO.
84550
84551 2005-10-13  Simon Josefsson  <jas@extundo.com>
84552
84553         * modules/gc-hmac-md5-tests: New file.
84554
84555         * tests/test-gc-hmac-sha1.c: New file.
84556
84557         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
84558
84559         * modules/gc-hmac-md5-tests: New file.
84560
84561         * tests/test-gc-md5.c: New file.
84562
84563         * modules/gc-md5-tests: New file.
84564
84565 2005-10-13  Simon Josefsson  <jas@extundo.com>
84566
84567         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
84568         Move memory allocation outside of loop.
84569
84570 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
84571
84572         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
84573         intermediate directory is in a read-only file system.  Problem
84574         reported by Eric Blake.
84575
84576 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
84577
84578         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
84579
84580 2005-10-12  Simon Josefsson  <jas@extundo.com>
84581
84582         * tests/test-hmac-sha1.c: New file.
84583
84584         * modules/hmac-sha1-tests: New file.
84585
84586         * modules/hmac-sha1: New file.
84587
84588 2005-10-12  Simon Josefsson  <jas@extundo.com>
84589
84590         * modules/gc-sha1: New file.
84591
84592 2005-10-12  Simon Josefsson  <jas@extundo.com>
84593
84594         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
84595
84596         * tests/test-gc-pbkdf2-sha1.c: New file.
84597
84598 2005-10-12  Simon Josefsson  <jas@extundo.com>
84599
84600         * modules/gc-md5, modules/gc-hmac-md5: New files.
84601
84602         * modules/gc (Files): Remove md5, memxor and hmac files.
84603
84604 2005-10-12  Simon Josefsson  <jas@extundo.com>
84605
84606         * m4/gc-pbkdf2-sha1.m4: New file.
84607
84608         * m4/gc-hmac-sha1.m4: New file.
84609
84610         * m4/gc-sha1: New file.
84611
84612         * m4/hmac-sha1.m4: New file.
84613
84614 2005-10-12  Simon Josefsson  <jas@extundo.com>
84615
84616         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
84617
84618         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
84619
84620 2005-10-12  Simon Josefsson  <jas@extundo.com>
84621
84622         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
84623         suggested by Bruno Haible <bruno@clisp.org>.
84624
84625 2005-10-12  Simon Josefsson  <jas@extundo.com>
84626
84627         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
84628
84629 2005-10-12  Simon Josefsson  <jas@extundo.com>
84630
84631         * lib/gc-pbkdf2-sha1.c: New file.
84632
84633         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
84634
84635 2005-10-12  Simon Josefsson  <jas@extundo.com>
84636
84637         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
84638
84639         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
84640
84641 2005-10-12  Simon Josefsson  <jas@extundo.com>
84642
84643         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
84644         GC_USE_HMAC_MD5, respectively.
84645
84646         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
84647         (gc_md5): Fix typo.
84648
84649         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
84650
84651         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
84652
84653         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
84654
84655 2005-10-12  Bruno Haible  <bruno@clisp.org>
84656
84657         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
84658         Reported by Stepan Kasal <kasal@ucw.cz>.
84659
84660 2005-10-11  Simon Josefsson  <jas@extundo.com>
84661
84662         * tests/test-crc.c: New file.
84663
84664         * modules/crc, modules/crc-tests: New files.
84665
84666 2005-10-11  Simon Josefsson  <jas@extundo.com>
84667
84668         * m4/crc.m4: New file.
84669
84670 2005-10-11  Simon Josefsson  <jas@extundo.com>
84671
84672         * lib/gc.h: Add gc_hash and gc_hash_buffer.
84673
84674         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
84675
84676         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
84677
84678 2005-10-11  Simon Josefsson  <jas@extundo.com>
84679
84680         * lib/crc.h, lib/crc.c: New files.
84681
84682         * lib/gc.h (gc_hash_buffer): Add doc.
84683
84684 2005-10-11  Bruno Haible  <bruno@clisp.org>
84685
84686         * modules/c-strcasestr: New file.
84687         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
84688
84689 2005-10-11  Bruno Haible  <bruno@clisp.org>
84690
84691         * modules/c-strcase: New file.
84692         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
84693
84694 2005-10-11  Bruno Haible  <bruno@clisp.org>
84695
84696         * lib/strcasecmp.c: Include limits.h.
84697         (strcasecmp): Avoid integer overflow on exotic platforms.
84698         * lib/strncasecmp.c: Include limits.h.
84699         (strncasecmp): Avoid integer overflow on exotic platforms.
84700         Reported by Paul Eggert.
84701
84702 2005-10-11  Bruno Haible  <bruno@clisp.org>
84703
84704         * lib/c-strcasestr.h: New file, from GNU gettext.
84705         * lib/c-strcasestr.c: New file, from GNU gettext.
84706
84707 2005-10-11  Bruno Haible  <bruno@clisp.org>
84708
84709         * lib/c-strcase.h: New file, from GNU gettext.
84710         * lib/c-strcasecmp.c: New file, from GNU gettext.
84711         * lib/c-strncasecmp.c: New file, from GNU gettext.
84712
84713 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
84714
84715         * modules/mempcpy (License): GPL -> LGPL.
84716         * modules/strchrnul (License): Likewise.
84717         * modules/sysexits (License): Likewise.
84718
84719 2005-10-08  Simon Josefsson  <jas@extundo.com>
84720
84721         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
84722
84723 2005-10-07  Simon Josefsson  <jas@extundo.com>
84724
84725         * m4/memxor.m4: Remove gl_C_RESTRICT call.
84726
84727 2005-10-06  Simon Josefsson  <jas@extundo.com>
84728
84729         * tests/test-hmac-md5.c: New file.
84730
84731         * modules/hmac-md5-tests: New file.
84732
84733         * modules/hmac-md5: New file.
84734
84735 2005-10-06  Simon Josefsson  <jas@extundo.com>
84736
84737         * m4/hmac-md5.m4: New file.
84738
84739         * m4/memxor.m4: Require gl_C_RESTRICT.
84740
84741 2005-10-06  Simon Josefsson  <jas@extundo.com>
84742
84743         * lib/memxor.c (memxor): Avoid casts and warnings.
84744
84745 2005-10-06  Simon Josefsson  <jas@extundo.com>
84746
84747         * lib/hmac-md5.c: New file.
84748
84749         * lib/hmac.h: New file.
84750
84751 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
84752
84753         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
84754         promotes to int, not unsigned int, to catch the AIX 5.3
84755         compiler bug.
84756
84757 2005-10-05  Simon Josefsson  <jas@extundo.com>
84758
84759         * modules/memxor: New file.
84760
84761         * modules/iconv (Files): Move config.rpath to havelib, it is used
84762         there.
84763
84764         * modules/havelib (Files): Add config.rpath.
84765
84766 2005-10-05  Simon Josefsson  <jas@extundo.com>
84767
84768         * m4/memxor.m4: New file.
84769
84770 2005-10-05  Simon Josefsson  <jas@extundo.com>
84771
84772         * lib/memxor.c (memxor): Fix compiler error.
84773
84774         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
84775         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
84776
84777         * lib/memxor.h, lib/memxor.c: New files.
84778
84779         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
84780         we assume all systems have it, suggested by Jim Meyering
84781         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
84782         any systems lack sys/socket.h; mingw32 is known to lack it, but we
84783         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
84784         same reasons.
84785
84786 2005-10-05  Simon Josefsson  <jas@extundo.com>
84787
84788         * config/srclist.txt: Add glibc bug 1423 for md5.h.
84789
84790 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
84791
84792         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
84793         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
84794         needed, since the source code now assumes these .h files.
84795
84796 2005-10-05  Derek Price  <derek@ximbiot.com>
84797
84798         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
84799
84800 2005-10-05  Bruno Haible  <bruno@clisp.org>
84801
84802         * modules/stdint (License): Change to LGPL.
84803
84804 2005-10-04  Simon Josefsson  <jas@extundo.com>
84805
84806         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
84807         D. Baushke" <mdb@gnu.org>.
84808
84809 2005-10-04  Bruno Haible  <bruno@clisp.org>
84810
84811         * lib/verify.h (verify_true): Provide alternative definition for C++.
84812
84813 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
84814
84815         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
84816         (SSIZE_MAX): New macro, if not already defined.
84817         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
84818         than 2 GiB.
84819
84820 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84821
84822         Sync from coreutils.
84823         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
84824         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
84825         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
84826         ULLONG_MAX doesn't work with 2.7.2.1.
84827
84828 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84829
84830         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
84831         From Ben Pfaff.
84832
84833         * modules/exclude (Depends-on): Depend on verify.
84834         * modules/strtoimax (Depends-on): Likewise.
84835         * modules/utimecmp (Depends-on): Likewise.
84836
84837 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84838
84839         * lib/exclude.c: Include verify.h.
84840         (verify): Remove.  All callers changed to use verify.h's version.
84841         * lib/strtoimax.c: Likewise.
84842         * lib/utimecmp.c: Likewis.e
84843
84844         Sync from coreutils.
84845         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
84846         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
84847         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
84848         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
84849         bother returning ENOSYS if settimeofday or stime fails; just let
84850         them return whatever errno they want to return.
84851         * lib/utimens.c: Include unistd.h, for dup2.
84852         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
84853         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
84854
84855 2005-10-02  Jim Meyering  <jim@meyering.net>
84856
84857         Sync from coreutils.
84858         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
84859         from glibc-2.2.5 that fails for read-only files.
84860
84861 2005-10-02  Jim Meyering  <jim@meyering.net>
84862
84863         Sync from coreutils.
84864         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
84865         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
84866         `#if HAVE_CONFIG_H'.
84867         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
84868         Remove AT_FDCWD test.
84869         Do not consume the fd unless successful.
84870         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
84871         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
84872         block, so that we don't even try to compile it if settimeofday is
84873         available.  This works around a compilation failure on OSF1 V5.1,
84874         due to stime requiring a `long int*' while tv_sec is `int'.
84875
84876 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
84877
84878         Sync from coreutils.
84879         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
84880         against `yes', rather than just testing for nonempty.
84881
84882 2005-10-01  Simon Josefsson  <jas@extundo.com>
84883
84884         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
84885         and Darwin.
84886
84887         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
84888         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
84889         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
84890         freeaddrinfo and gai_strerror are declared by the POSIX headers.
84891         Check if struct addrinfo is declared.
84892
84893 2005-10-01  Simon Josefsson  <jas@extundo.com>
84894
84895         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
84896         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
84897         AI_* and EAI_* definitions.  Protect function declarations.
84898
84899 2005-10-01  Jim Meyering  <jim@meyering.net>
84900
84901         Sync from coreutils.
84902
84903         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
84904         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
84905         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
84906         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84907         in the inet and nsl libraries.  Required on Solaris 5.7.
84908
84909 2005-10-01  Jim Meyering  <jim@meyering.net>
84910
84911         Sync from coreutils.
84912         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84913         in the inet and nsl libraries.  Required on Solaris 5.7.
84914
84915 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
84916
84917         * lib/getdelim.c (getdelim): Remove unused variables.
84918
84919 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
84920
84921         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
84922         so that the code works even with ancient cpp.  Portability problem
84923         with GCC 2.7.2.1 reported by Thomas M.Ott.
84924
84925 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
84926
84927         * modules/regex (Depends-on): Add strcase.
84928
84929         * modules/gethostname (Licence): Change from GPL to LGPL, since
84930         gethostname.c is a trivial implementation of a standard library
84931         function.
84932         * modules/poll (License): Change from GPL to LGPL, since it's
84933         derived from LGPL code.
84934
84935 2005-09-27  Jim Meyering  <jim@meyering.net>
84936
84937         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
84938         HAVE_CONFIG_H.
84939
84940         * lib/intprops.h (signed_type_or_expr__): Define.
84941         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
84942         for unsigned types.
84943
84944 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
84945
84946         * lib/verify.h (verify_expr): Remove, replacing with:
84947         (verify_true): New macro that returns true instead of void.
84948         (verify_type__): Remove.
84949         (verify): Use verify_true rather than verify_type__.
84950
84951 2005-09-26  Bruno Haible  <bruno@clisp.org>
84952
84953         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
84954         is necessary.
84955         (lib_SOURCES): Remove mbchar.c.
84956         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
84957         (Files): Add m4/mbrtowc.m4.
84958         * modules/mbiter: Likewise.
84959         * modules/mbuiter: Likewise.
84960
84961 2005-09-26  Bruno Haible  <bruno@clisp.org>
84962
84963         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
84964         compile mbchar.c if they are not both present.
84965         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
84966         * m4/mbiter.m4 (gl_MBITER): Likewise.
84967         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
84968         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
84969         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
84970
84971 2005-09-25  Jim Meyering  <jim@meyering.net>
84972
84973         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
84974         also uses socklen_t.
84975
84976 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
84977
84978         * lib/utimens.c (ENOSYS): Define if not already defined.
84979         (futimens): Support having a null PATH if the file descriptor
84980         is nonnegative.
84981
84982         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
84983         Remove.
84984         (__attribute): Define to empty unless GCC 3.1 or later.
84985         This works around a core dump on OpenBSD 3.4, which has GCC
84986         2.95.3, which dumps core when given __attribute__(()).  It also
84987         simplifies other tests, since we really don't want to bother with
84988         worrying about which ancient version of GCC supported what.
84989         Original problem reported by Yoann Vandoorselaere, with part of
84990         the fix suggested by Derek Price.
84991
84992 2005-09-24  Jim Meyering  <jim@meyering.net>
84993
84994         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
84995         so we can once again use a positive bitfield width of 1 -- now we
84996         don't have to explain why we were using a bitfield width of 2.
84997
84998 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84999
85000         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
85001         and similarly for the other external symbols.  Problem reported
85002         by James Gallager.
85003
85004         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
85005         bug reported by Jim Meyering.
85006
85007         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
85008         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
85009         not needed, since socklen is a prerequisite module.
85010
85011 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
85012
85013         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
85014         Problem reported by Eric Blake.
85015         (getaddrinfo): Initialize se so that it's not garbage.
85016         Redo internal storage allocation so that it doesn't make unportable
85017         assumptions about alignment.
85018         Fix a memory leak.
85019
85020         * lib/utimens.c (futimens): Use futimesat if available.
85021         Prefer it to futimes since it doesn't have the futimes bug.
85022
85023         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
85024         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
85025         Instead, declare a function that returns a pointer to an array,
85026         and use verify_type__ to declare the size of the array.
85027         Problem and germ of a solution reported by Bruno Haible.
85028         (verify_type__): Use 2, not 1, for bitfield size, to avoid
85029         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
85030
85031 2005-09-23  Jim Meyering  <jim@meyering.net>
85032
85033         Sync from coreutils.
85034         Correct build failure (socklen_t not defined) on at least
85035         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
85036         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
85037
85038 2005-09-23  Jim Meyering  <jim@meyering.net>
85039
85040         * modules/getaddrinfo (Depends-on): Add socklen.
85041
85042 2005-09-23  Bruno Haible  <bruno@clisp.org>
85043
85044         * tests/test-verify.c: New file.
85045
85046 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
85047
85048         Sync from coreutils.
85049
85050         * modules/argmatch (Depends-on): Add verify.
85051         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
85052         unistd-safer.
85053         * modules/save-cwd (Depends-on): Likewise.
85054
85055         * modules/openat (Files): Add lib/openat-die.c.
85056         (Depends-on): Remove error, exitfail.
85057         Add dirname.
85058
85059         * modules/verify: New file.
85060         * MODULES.html.sh (Diagnostics <assert.h>): New section,
85061         with "verify" module.
85062
85063 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
85064
85065         Sync from coreutils.
85066
85067         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
85068         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
85069         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
85070         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
85071         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
85072         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
85073         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
85074         Don't bother checking for string.h, stdlib.h, unistd.h.
85075         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
85076         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
85077         module's job.
85078         * m4/jm-macros.m4 (gl_MACROS): Likewise.
85079         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
85080
85081         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
85082         (gl_GETDATE): Use it.
85083
85084         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
85085
85086 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
85087
85088         Sync from coreutils.
85089
85090         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
85091         stat-time.h.
85092         * lib/argmatch.h: Include verify.h
85093         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
85094         (ARGMATCH_ASSERT): Remove; unused.
85095         * lib/canonicalize.c: Assume STDC_HEADERS.
85096         * lib/exclude.c: Include "strcase.h".
85097         * lib/regex_internal.h [!defined _LIBC]: Likewise.
85098         * lib/getusershell.c: Include stdio--.h rather than stdio.h
85099         and stdio-safer.h.
85100         (getusershell): Call fopen, not fopen_safer.
85101         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
85102         Do not include unistd-safer.h.
85103         (save_cwd): Don't call fd_safer; no longer needed
85104         now that we include fcntl--.h.
85105
85106         * lib/getdate.y (relative_time): New type.
85107         (RELATIVE_TIME_0): New constant.
85108         (parser_control): Use relative_time instead of doing it ourselves.
85109         (%union): Add new relative_time rel member.
85110         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
85111         Now typeless.
85112         (relunit, relunit_snumber): Now of type rel.
85113         (zone, rel, relunit, get_date): Adjust to above changes.
85114
85115         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
85116         Do not include unistd-safer.h.
85117         (getloadavg): Don't call fd_safer; no longer needed
85118         now that we include fcntl--.h.
85119
85120         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
85121         (make_dir_parents): Treat ENOSYS like EEXIST.
85122
85123         Improve quality of diagnostics on restore_cwd failure.
85124         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
85125         (make_dir_parents): Last arg is now int * (for errno), not bool *.
85126         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
85127         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
85128         each time through the loop.  Do not diagnose restore_cwd failure;
85129         that is the caller's job (and perhaps the caller does not care).
85130
85131         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
85132         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
85133         If the file already exists but is not a directory, don't bother
85134         to try to make its parents.
85135         Close potential file descriptor leak if we can't chdir("/") (!).
85136         Don't always return true if chdir($PWD) fails; return true only
85137         if the requested action was done successfully (except for the
85138         chdir($PWD)).
85139         Don't log final directory unless we actually made it.
85140         Refactor to avoid duplicate code to fix up permissions.
85141         Don't attempt to fix up parent permissions if chdir($PWD) fails.
85142
85143         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
85144         to make it a bit faster and (I hope) clearer.
85145         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
85146         Fix bug in formats like %2N.
85147
85148         * lib/verify.h: New file.
85149
85150 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
85151
85152         Sync from coreutils.
85153         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
85154
85155 2005-09-22  Jim Meyering  <jim@meyering.net>
85156
85157         Sync from coreutils.
85158
85159         * m4/lstat.m4 (gl_FUNC_LSTAT):
85160         Use AC_LIBSOURCES to require lstat.c and lstat.h.
85161         Remove obsolete comment.
85162         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
85163         * m4/xstrtod.m4: Likewise.
85164
85165         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
85166
85167 2005-09-22  Jim Meyering  <jim@meyering.net>
85168
85169         Sync from coreutils.
85170
85171         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
85172
85173         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
85174         the .tm_year member, since otherwise gcc-4.0 would now warn about
85175         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
85176
85177         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
85178         order to avoid an unsuppressible warning from gcc on 64-bit systems.
85179
85180         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
85181         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
85182         when run in a time zone for which daylight savings time is in effect
85183         for the starting date.
85184
85185         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
85186         stop us from restricting permissions of just-created absolute-named
85187         directories.
85188         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
85189         to restore initial working directory.
85190         * lib/mkdir-p.c (make_dir_parents): New parameter:
85191         different_working_dir, to tell caller if/when we change the working
85192         directory and are unable to return to the initial one.
85193         * lib/mkdir-p.h (make_dir_parents): Update prototype.
85194         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
85195         `return false'.  This fixes a bug introduced on 2004-07-30.
85196
85197         * lib/openat.c (fdopendir): Be sure to close the supplied
85198         file descriptor before returning.  This makes our replacement
85199         implementation a little closer to Solaris's, where fdopendir
85200         ties the file descriptor to the returned DIR* pointer.
85201         * lib/openat.c (unlinkat): New function.
85202         * lib/openat.h (unlinkat): Add prototype.
85203         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
85204         (openat_restore_fail): Rename from openat_restore_die.
85205         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
85206
85207         Provide an alternative to exiting immediately upon save_cwd or
85208         restore_cwd failure.  Now, an application can arrange e.g.,
85209         to perform a longjump in that case.
85210         * lib/openat.c: Include dirname.h.
85211         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
85212         (rpl_openat, fdopendir, fstatat): Call openat_save_die
85213         and openat_restore_die rather than calling error directly.
85214         Don't include "error.h" or "exitfail.h"; they're no longer needed.
85215
85216         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
85217         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
85218         define.
85219
85220         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
85221         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
85222                             int utc, int nanoseconds);
85223         Background:
85224         date should not have to allocate a megabyte of virtual memory to
85225         handle a format argument like +%1048575T.  When implemented with
85226         strftime, it must allocate such a buffer, use strftime to fill it
85227         in, print it, then free it.
85228         With fprintftime, it simply prints everything and exits.
85229         With no need for memory allocation, that's one fewer way to fail.
85230         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
85231         optional field width, not before, so we accept %9:z, not %:9z.
85232         (my_strftime): Be sure to use L_('x') for literals.
85233
85234         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
85235         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
85236         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
85237         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
85238         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
85239         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
85240         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
85241         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
85242         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
85243         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
85244         * lib/xgethostname.c, lib/xreadlink.c:
85245         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
85246
85247         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
85248         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
85249         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
85250         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
85251         and don't include <sys/file.h>).
85252
85253 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
85254
85255         Sync from coreutils.
85256
85257         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
85258         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
85259         [!LDAV_DONE]: Avoid unused variable warning.
85260
85261 2005-09-21  Bruno Haible  <bruno@clisp.org>
85262
85263         * lib/unicodeio.h (unicode_to_mb): New declaration.
85264
85265 2005-09-20  Derek Price  <derek@ximbiot.com>
85266
85267         * lib/getaddrinfo.c: Don't include <netdb.h> included from
85268         getaddrinfo.h.
85269
85270 2005-09-20  Bruno Haible  <bruno@clisp.org>
85271
85272         * gnulib-tool: Remove trailing slashes from the values specified for
85273         --source-base, --m4-base, --tests-base, --aux-dir.
85274         Suggested by Simon Josefsson <jas@extundo.com>.
85275
85276 2005-09-20  Bruno Haible  <bruno@clisp.org>
85277
85278         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
85279         func_modules_to_filelist, func_import, func_create_testdir): Make all
85280         sorting results locale-independent, so that gnulib-cache.m4 doesn't
85281         change when gnulib-tool is invoked in a different locale.
85282
85283 2005-09-19  Simon Josefsson  <jas@extundo.com>
85284
85285         * m4/socklen.m4: Fix typo.
85286
85287 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85288
85289         Use a consistent style for including <config.h>.
85290         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
85291         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
85292         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
85293         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
85294         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
85295         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
85296         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
85297         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
85298         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
85299         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
85300         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
85301         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
85302         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
85303         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
85304         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
85305         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
85306         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
85307         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
85308         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
85309         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
85310         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
85311         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
85312         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
85313         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
85314         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
85315         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
85316         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
85317         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
85318         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
85319         lib/xstrtoumax.c, lib/yesno.c:
85320         Standardize inclusion of config.h.
85321         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
85322         lib/inttostr.h:  Removed inclusion of config.h from header files.
85323         * lib/inttostr.c:  Adjusted in-tree users.
85324         * lib/timespec.h: Remove superfluous warning to include config.h.
85325         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
85326         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
85327         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
85328         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
85329         config.h with HAVE_CONFIG_H.
85330
85331 2005-09-19  Jim Meyering  <jim@meyering.net>
85332
85333         * modules/pathmax (License): Change to LGPL.
85334
85335 2005-09-19  Derek Price  <derek@ximbiot.com>
85336
85337         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
85338
85339 2005-09-19  Bruno Haible  <bruno@clisp.org>
85340
85341         * gnulib-tool (import): Provide default for --tests-base.
85342
85343 2005-09-19  Bruno Haible  <bruno@clisp.org>
85344
85345         * doc/quote.texi: New file, extracted from gnulib.texi.
85346         * doc/ctime.texi: New file, extracted from gnulib.texi.
85347         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
85348         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
85349         * doc/gnulib.texi: Include them.
85350
85351 2005-09-18  Bruno Haible  <bruno@clisp.org>
85352
85353         Portability fix.
85354         * gnulib-tool (func_readlink): New function.
85355         (func_ln_if_changed): Use it.
85356
85357 2005-09-18  Bruno Haible  <bruno@clisp.org>
85358
85359         * gnulib-tool: Support --with-tests also with --import.
85360         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
85361         (func_import): Use variables $testsbase and $inctests. Emit a
85362         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
85363         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
85364         SUBDIRS += $testsdir.
85365         (func_create_testdir): Update.
85366
85367 2005-09-18  Bruno Haible  <bruno@clisp.org>
85368
85369         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
85370         instead of $dry_run.
85371         (func_cp_if_changed, func_mv_if_changed): Remove functions.
85372         (func_ln_if_changed): Don't handle dry-run here.
85373         (func_import): In dry-run mode, detect more precisely which actions
85374         would be performed, and don't use "...ing" verbs.
85375
85376 2005-09-18  Bruno Haible  <bruno@clisp.org>
85377
85378         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
85379         (func_import): Use join on two temporary files instead of three nested
85380         loops, in order to determine which files are new or old.
85381
85382 2005-09-18  Bruno Haible  <bruno@clisp.org>
85383
85384         * gnulib-tool (func_import): Comment out code that spits out the
85385         new files with --dry-run.
85386
85387 2005-09-18  Bruno Haible  <bruno@clisp.org>
85388
85389         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
85390
85391 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
85392
85393         * lib/stat-time.h: New file.
85394         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
85395         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
85396         in a different way.
85397         (timespec_cmp): New function.
85398         * lib/utimecmp.c: Include stat-time.h.
85399         (SYSCALL_RESOLUTION): Depend on whether various struct stat
85400         members exist, not on the obsolescent ST_MTIM_NSEC.
85401         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
85402
85403 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
85404
85405         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
85406
85407 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
85408
85409         * MODULES.html.sh (File system functions): Add stat-time.
85410         * modules/stat-time: New file.
85411         * modules/timespec (Files): Remove m4/st_mtim.m4; this
85412         is now done in a different way, by the stat-time module.
85413         * modules/utimecmp (Depends-on): Add stat-time.
85414
85415 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
85416
85417         * m4/st_mtim.m4: Remove.  Superseded by...
85418         * m4/stat-time.m4: New file.
85419         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
85420         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
85421
85422 2005-09-15  Derek Price  <derek@ximbiot.com>
85423
85424         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
85425
85426 2005-09-15  Derek Price  <derek@ximbiot.com>
85427
85428         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
85429         * lib/regex_internal.c: Ditto, using this...
85430         (__GNUC_PREREQ): ...new macro.
85431         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
85432         using...
85433         (__GNUC_PREREQ): ...this new macro.
85434
85435         * lib/strstr.h: Include string.h. Define strstr as a macro here.
85436
85437 2005-09-15  Derek Price  <derek@ximbiot.com>
85438             Paul Eggert  <eggert@cs.ucla.edu>
85439
85440         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
85441         changes, consolidating in...
85442         * lib/regex_internal.h: ...this file.
85443
85444 2005-09-13  Jim Meyering  <jim@meyering.net>
85445
85446         * lib/canon-host.c: Filter through gnu indent and reword comments
85447         slightly.
85448         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
85449
85450 2005-09-13  Derek Price  <derek@ximbiot.com>
85451
85452         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
85453         failure.
85454         Reported by Jim Meyering  <jim@meyering.net>.
85455
85456 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
85457
85458         * lib/base64.c: Typo.
85459         (base64_encode): Put b64str in initialized data section.
85460
85461 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
85462
85463         Merge glibc and coreutils changes into gnulib, plus a few
85464         extra fixes.
85465         * lib/md5.c: Use #error rather than a string.
85466         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
85467         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
85468         (__attribute__): Define to empty for non recent-GCC.
85469         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
85470         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
85471         Renamed from their non-__ counterparts, with new macros replacing
85472         them if not _LIBC.  Add __THROW attribute.
85473         (rol): Remove.
85474         (struct md5_ctx): Align buffer if using GCC.
85475         * lib/sha1.h (struct sha1_ctx): Likewise.
85476         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
85477         The old name was backwards.
85478         (NOTSWAP): Remove; not used.
85479         (rol): New macro, moved here from md5.h.
85480         (sha1_process_block): Remove a FIXME that doesn't make sense.
85481
85482 2005-09-12  Derek Price  <derek@ximbiot.com>
85483
85484         Return usable errors from canon-host.
85485         * lib/canon-host.h: New file.
85486         * lib/canon-host.c (canon_host): Wrap...
85487         (canon_host_r): ...this new function, which now relies exclusively on
85488         getaddrinfo.
85489         (ch_strerror): New function.
85490         (last_cherror): New global.
85491         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
85492         interface.
85493         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
85494         void *.
85495         (freeaddrinfo): Free ai->ai_canonname when set.
85496
85497 2005-09-12  Derek Price  <derek@ximbiot.com>
85498
85499         Make canon-host require getaddrinfo.
85500         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
85501         AC_LIBSOURCE canon-host.h.  Call...
85502         (gl_PREREQ_CANON_HOST): ...this new function, which requires
85503         gl_GETADDRINFO.
85504         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
85505
85506 2005-09-12  Derek Price  <derek@ximbiot.com>
85507
85508         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
85509         LGPL.
85510         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
85511
85512 2005-09-12  Derek Price  <derek@ximbiot.com>
85513
85514         * lib/gai_strerror.c: Include config.h when available.  Include
85515         getaddrinfo.h before other headers to test interface.
85516         Reported by Larry Jones <lawrence.jones@ugs.com>.
85517
85518 2005-09-12  Derek Price  <derek@ximbiot.com>
85519             Paul Eggert  <eggert@cs.ucla.edu>
85520
85521         * modules/glob (Files): Add glob-libc.h.
85522
85523 2005-09-12  Derek Price  <derek@ximbiot.com>
85524             Paul Eggert  <eggert@cs.ucla.edu>
85525
85526         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
85527         glob_.h, glob-libc.h.
85528         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
85529
85530 2005-09-12  Derek Price  <derek@ximbiot.com>
85531             Paul Eggert  <eggert@cs.ucla.edu>
85532
85533         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
85534         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
85535         protecting things that should be done only in gnulib contexts.
85536         * lib/glob_.h: New file, containing only the glob things needed for
85537         gnulib.
85538         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
85539         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
85540         (glob, globfree, glob_pattern_p): Now defined simply in terms of
85541         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
85542         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
85543         and to respect the namespace rules better.
85544
85545 2005-09-08  Simon Josefsson  <jas@extundo.com>
85546
85547         * modules/socklen: New file.
85548
85549 2005-09-08  Simon Josefsson  <jas@extundo.com>
85550
85551         * m4/socklen.m4: New file.
85552
85553 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
85554
85555         * modules/utimens (Files): Add m4/utimbuf.m4, since
85556         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
85557         Reported by Sergey Poznyakoff.
85558
85559 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
85560
85561         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
85562         definitions, since that's the preferred style in glibc.
85563         Fix a minor spacing issue, and update copyright notice to match
85564         glibc's.
85565
85566 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
85567
85568         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
85569
85570 2005-09-06  Simon Josefsson  <jas@extundo.com>
85571
85572         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
85573         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
85574
85575 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
85576
85577         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
85578         warning.
85579
85580 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
85581
85582         * config/srclist.txt: Add glibc bug 1302.
85583
85584 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
85585
85586         Change bitset word type from unsigned int to unsigned long int,
85587         as this has better performance on typical 64-bit hosts.
85588         Port bitset code to hosts with unusual word sizes.
85589         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
85590         (build_collating_symbol):
85591         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
85592         argument is a bitset.  This is merely a style issue, but it makes
85593         it clearer that an entire array is expected.
85594         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
85595         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
85596         Port to the case where bitset_word is not the same as unsigned int.
85597         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
85598         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
85599         Likewise.
85600         * lib/regexec.c (check_dst_limits_calc_pos_1,
85601         check_subexp_matching_top):
85602         (build_trtable, group_nodes_into_DFAstates):
85603         Likewise.
85604         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
85605         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
85606         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
85607         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
85608         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
85609         * lib/regcomp.c (optimize_subexps, lower_subexp):
85610         Work even if bitset_word has holes in its bitwise representation.
85611         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
85612         * lib/regexec.c (check_dst_limits_calc_pos_1,
85613         check_subexp_matching_top):
85614         Likewise.
85615         * lib/regex_internal.c (re_string_reconstruct):
85616         Don't assume UCHAR_MAX == 255.
85617         * lib/regex_internal.h (bitset_set_all): Likewise.
85618         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
85619         All uses changed.
85620         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
85621         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
85622         All uses changed.
85623         (BITSET_WORD_MAX): New macro.
85624         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
85625         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
85626         (bitset_empty, bitset_copy):
85627         Prefer sizeof (bitset) to multiplying it out ourselves.
85628         (bitset_not_merge): Remove; unused.
85629         (bitset_contain): Return bool, not unsigned int with one bit on.
85630         All callers changed.
85631         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
85632         alignment than re_node_set; do this by defining a new internal
85633         type struct dests_alloc and using it to allocate memory.
85634
85635 2005-09-05  Bruno Haible  <bruno@clisp.org>
85636
85637         * gnulib-tool (func_import): Fix comparison in handling of symbolic
85638         links.
85639
85640 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
85641
85642         * modules/size_max (Makefile.am): Add size_max.h
85643
85644 2005-09-04  Derek Price  <derek@ximbiot.com>
85645
85646         * gnulib-tool (func_import): Fix reversed $symbolic logic.
85647
85648 2005-09-03  Simon Josefsson  <jas@extundo.com>
85649
85650         * gnulib-tool: Fix typo.
85651
85652 2005-09-03  Simon Josefsson  <jas@extundo.com>
85653
85654         * config/srclist.txt: Add glibc bug 1293.
85655
85656 2005-09-03  Derek Price  <derek@ximbiot.com>
85657
85658         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
85659         From Larry Jones <lawrence.jones@ugs.com>.
85660
85661 2005-09-02  Simon Josefsson  <jas@extundo.com>
85662
85663         * modules/socklen: New file.
85664
85665 2005-09-02  Simon Josefsson  <jas@extundo.com>
85666
85667         * modules/havelib: New module.
85668
85669         * modules/gettext, modules/iconv, modules/lock, modules/readline:
85670         Use havelib.
85671
85672 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
85673
85674         Check for arithmetic overflow when calculating sizes, to prevent
85675         some buffer-overflow issues.  These patches are conservative, in the
85676         sense that when I couldn't determine whether an overflow was possible,
85677         I inserted a run-time check.
85678         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
85679         macros.
85680         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
85681         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
85682         (re_xnrealloc, re_x2nrealloc): New inline functions.
85683         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
85684         parse_bracket_exp):
85685         (build_equiv_class, build_charclass): Check for arithmetic overflow
85686         in size expression calculations.
85687         * lib/regex_internal.c (re_string_realloc_buffers):
85688         (build_wcs_upper_buffer, re_node_set_add_intersect):
85689         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
85690         (re_dfa_add_node, register_state): Likewise.
85691         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
85692         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
85693         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
85694         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
85695
85696 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
85697
85698         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
85699         m4/ulonglong.m4.  Problem reported by Martin Lambers.
85700
85701 2005-09-02  Bruno Haible  <bruno@clisp.org>
85702
85703         Support for lib vs. lib64 distinction on biarch platforms.
85704         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
85705         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
85706         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
85707
85708 2005-09-02  Bruno Haible  <bruno@clisp.org>
85709
85710         * gnulib-tool (import): In the other first-use case, provide defaults
85711         as well.
85712
85713 2005-09-02  Bruno Haible  <bruno@clisp.org>
85714
85715         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
85716         patches not yet found in the latest gettext release.
85717
85718 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
85719
85720         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
85721         to avoid a collision with bits/local_lim.h in glibc.
85722         All uses changed.  Problem reported by Dmitry V. Levin in
85723         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
85724
85725         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
85726         bugs in int versus size_t comparisons.
85727         (re_string_context_at): Fix bug where the code assumed that
85728         Idx is signed.
85729
85730         Use bool where appropriate.
85731         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
85732         All callers changed.
85733         (calc_eclosure_iter): Likewise, for ROOT arg.
85734         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
85735         (build_charclass_op): Likewise, for NON_MATCH arg.
85736         * lib/regex_internal.c (re_string_allocate, re_string_construct):
85737         (re_string_construct_common): Likewise, for ICASE arg.
85738         * lib/regexec.c (re_search_2_stub, re_search_stub):
85739         Likewise, for RET_LEN arg.
85740         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
85741         (set_regs): Likewise, for FL_BACKTRACK arg.
85742         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
85743         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
85744         (calc_eclosure_iter, parse_bracket_exp):
85745         Use bool for internal variables that are booleans.
85746         * lib/regexec.c (re_search_internal, check_matching,
85747         proceed_next_node):
85748         (set_regs, build_sifted_states, sift_states_bkref):
85749         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
85750         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
85751         (find_collation_sequence_value):
85752         Likewise.
85753         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
85754         (re_node_set_compare):
85755         Return bool, not int. All callers changed.
85756         * lib/regexec.c (check_halt_node_context, check_dst_limits):
85757         (build_trtable, check_node_accept): Likewise.
85758         * lib/regex_internal.h: Include stdbool.h.
85759
85760         Fix bugs uncovered when converting to bool.
85761         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
85762         failure instead of charging ahead blindly.
85763         * lib/regex_internal.c (register_state): Likewise.
85764         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
85765         for freeing internal storage.
85766         (group_nodes_into_DFA_states): Use unsigned int, not int, for
85767         bitset pieces used as boolean, to avoid undefined behavior
85768         on hosts that do int overflow checking.
85769
85770 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
85771
85772         * config/srclist.txt: Add glibc bugs 1285-1287.
85773
85774 2005-09-01  Jim Meyering  <jim@meyering.net>
85775
85776         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
85777         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
85778         Require gl_STAT_MACROS, too.
85779
85780 2005-09-01  Bruno Haible  <bruno@clisp.org>
85781
85782         * gnulib-tool (import): In the first-use case, provide defaults.
85783
85784 2005-09-01  Bruno Haible  <bruno@clisp.org>
85785
85786         * gnulib-tool (func_import): Remove the .tmp files.
85787
85788 2005-09-01  Bruno Haible  <bruno@clisp.org>
85789
85790         * gnulib-tool (func_import): Fix handling of symbolic links.
85791
85792 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85793
85794         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
85795         old glibc regex code mishandles strings longer than 2**31 bytes.
85796         This patch fixes this when the regex code is used in gnulib
85797         (i.e., outside glibc).
85798
85799         This patch should not affect the use of the regex code inside
85800         glibc.  No doubt this problem also needs to be handled for glibc
85801         as well, but the result will be an incompatible change to the
85802         glibc ABI, and the old ABI will have to be supported too.  That
85803         can be the the subject for another patch.
85804
85805         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
85806         governing whether the rest of this patch is active.  By default,
85807         the macro is disabled and the patch has no effect.
85808         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
85809         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
85810         (struct re_pattern_buffer, re_search, re_search_2, re_match):
85811         (re_match_2, re_set_registers): Use the new types.
85812         * lib/regex_internal.h (Idx, re_hashval_t): New types.
85813         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
85814         New macros.
85815         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
85816         (re_string_context_at, bin_tree_t, re_dfastate_t):
85817         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
85818         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
85819         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
85820         (re_string_char_size_at, re_string_wchar_at):
85821         (re_string_elem_size_at):
85822         Use the new types and macros to port to 64-bit hosts.
85823         Use unsigned types for internal values, so that the code
85824         mostly works even for arrays larger than SSIZE_MAX.
85825         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
85826         (search_duplicated_node, calc_eclosure_iter, fetch_number):
85827         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
85828         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
85829         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
85830         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
85831         (calc_inveclosure, parse_dup_op, build_range_exp):
85832         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
85833         (fetch_number, create_token_tree, mark_opt_subexp):
85834         Likewise.
85835         * lib/regex_internal.c (re_string_construct_common,
85836         create_ci_newstate):
85837         (create_cd_newstate, re_string_allocate, re_string_construct):
85838         (re_string_realloc_buffers, build_wcs_upper_buffer):
85839         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85840         (re_string_reconstruct, re_string_peek_byte_case):
85841         (re_string_fetch_byte_case, re_string_context_at):
85842         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85843         (re_node_set_init_copy, re_node_set_add_intersect):
85844         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85845         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85846         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85847         (re_acquire_state, re_acquire_state_context, register_state):
85848         Likewise.
85849         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
85850         search_cur_bkref_entry):
85851         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
85852         (re_search_internal, re_search_2_stub, re_search_stub)
85853         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
85854         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
85855         (update_cur_sifted_state, check_dst_limits):
85856         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85857         (check_subexp_limits, sift_states_bkref, merge_state_array):
85858         (check_subexp_matching_top, get_subexp, get_subexp_sub):
85859         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
85860         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85861         (expand_bkref_cache, check_node_accept_bytes):
85862         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
85863         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
85864         (acquire_init_state_context, check_halt_node_context):
85865         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
85866         (sift_states_backward, clean_state_log_if_needed):
85867         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
85868         (find_recover_state, transit_state_sb, transit_state_mb):
85869         (transit_state_bkref, build_trtable, match_ctx_clean):
85870         Likewise.
85871         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
85872         to work around an assumption that REG_MISSING is negative.
85873
85874         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
85875         (seek_collating_symbol_entry) [defined _LIBC]:
85876         (lookup_collation_sequence_value) [defined _LIBC]:
85877         (build_range_exp, build_collating_symbol) [defined _LIBC]:
85878         Use prototypes rather than old-style function definitions.
85879         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
85880         (transit_state_sb) [0]:
85881         (find_collation_sequence_value) [defined _LIBC]: Likewise.
85882
85883         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
85884         rm_eo.
85885
85886         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
85887         (optimize_subexps, lower_subexp):
85888         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
85889         since the signed shift might overflow.  Use 1u<<31 instead.
85890         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
85891         Likewise.
85892         * lib/regexec.c (check_dst_limits_calc_pos_1,
85893         check_subexp_matching_top): Likewise.
85894
85895         * lib/regcomp.c (optimize_subexps, lower_subexp):
85896         Use CHAR_BIT rather than 8, for clarity.
85897         * lib/regexec.c (check_dst_limits_calc_pos_1):
85898         (check_subexp_matching_top): Likewise.
85899         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
85900         have to worry about portability issues when shifting it left.
85901         Remove no-longer-needed test for table_size > 0.
85902         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
85903         in a word, as the resulting behavior is undefined.
85904         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
85905         in one case, a <= should have been an <, and in another case the
85906         whole test was missing.
85907         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
85908         the standard name CHAR_BIT.
85909         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
85910         this is not true on one's complement and signed-magnitude hosts.
85911
85912         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
85913         next_last_offset.
85914         (struct re_dfa_t): Remove unused member states_alloc.
85915         * lib/regcomp.c (init_dfa): Don't initialize unused members.
85916
85917 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85918
85919         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
85920         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
85921         and large-file glibc and in 32-bit large-file Solaris.
85922
85923 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85924
85925         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
85926         lengths fit in regoff_t; this isn't true if regoff_t is the same
85927         width as size_t.
85928         * lib/regex.c (re_search_internal): 5th arg is LAST_START
85929         (= START + RANGE) instead of RANGE.  This avoids overflow
85930         problems when regoff_t is the same width as size_t.
85931         All callers changed.
85932         (re_search_2_stub): Check for overflow when adding the
85933         sizes of the two strings.
85934         (re_search_stub): Check for overflow when adding START
85935         to RANGE; if it occurs, substitute the extreme value.
85936
85937 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85938
85939         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
85940
85941 2005-08-31  Jim Meyering  <jim@meyering.net>
85942
85943         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
85944         a pointer-to-const.
85945         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
85946         (register_state): Likewise.
85947         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
85948         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85949         (group_nodes_into_DFAstates): Likewise.
85950
85951 2005-08-31  Jim Meyering  <jim@meyering.net>
85952
85953         * check-module: Add a FIXME comment.
85954
85955 2005-08-31  Eric Blake  <ebb9@byu.net>
85956
85957         * modules/unistd-safer (Files): Add unistd--.h.
85958         * modules/stdio-safer (Files): Add stdio--.h.
85959
85960 2005-08-31  Derek Price  <derek@ximbiot.com>
85961
85962         * lib/getdelim.c (getdelim): Return EOF on EOF.
85963         Reported by Larry Jones <lawrence.jones@ugs.com>.
85964
85965 2005-08-31  Bruno Haible  <bruno@clisp.org>
85966
85967         Avoid unnecessary diffs in the generated lib/Makefile.am.
85968         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
85969         the generated files.
85970         (func_import): Don't set cmd.
85971
85972 2005-08-31  Bruno Haible  <bruno@clisp.org>
85973
85974         * lib/strstr.c: Include <stddef.h>, for NULL.
85975         * lib/strcasestr.c: Likewise.
85976         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
85977
85978 2005-08-31  Bruno Haible  <bruno@clisp.org>
85979
85980         * gnulib-tool: New option --macro-prefix.
85981         (func_import): Use macro_prefix.
85982         (import): Handle option --macro-prefix.
85983
85984 2005-08-31  Bruno Haible  <bruno@clisp.org>
85985
85986         * gnulib-tool (import): Rename most ac_* variables to cached_*.
85987         Also use new variables cached_lgpl, cached_libtool.
85988
85989 2005-08-31  Bruno Haible  <bruno@clisp.org>
85990
85991         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
85992         always instantiating them.
85993
85994 2005-08-31  Bruno Haible  <bruno@clisp.org>
85995
85996         * gnulib-tool (func_import): Read the previous cached settings
85997         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
85998         earlier added by gnulib but are now dropped. Warn when a gnulib file
85999         overwrites a non-gnulib file.
86000
86001 2005-08-31  Bruno Haible  <bruno@clisp.org>
86002
86003         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
86004         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
86005         projects that don't keep autogenerated files in CVS. Put into
86006         actioncmd only the specified modules, not the transitive closure.
86007
86008 2005-08-31  Bruno Haible  <bruno@clisp.org>
86009
86010         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
86011         Create directories that shall be filled.
86012         (import): Don't look for gl_* macros in configure.ac. Recurse across
86013         all directories containing a gnulib-cache.m4 files, if meaningful.
86014
86015 2005-08-31  Bruno Haible  <bruno@clisp.org>
86016
86017         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
86018         (import): Set seen_libtool when we see gl_LIBTOOL.
86019
86020 2005-08-31  Bruno Haible  <bruno@clisp.org>
86021
86022         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
86023         declaration macro definitions from generated gnulib.m4.
86024
86025 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
86026
86027         * lib/iconvme.h: Add prototype for iconv_alloc.
86028
86029 2005-08-29  Simon Josefsson  <jas@extundo.com>
86030
86031         * lib/iconvme.c: Fix errno.
86032
86033 2005-08-29  Bruno Haible  <bruno@clisp.org>
86034
86035         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
86036         that it works when the directory contains spaces.
86037
86038 2005-08-29  Bruno Haible  <bruno@clisp.org>
86039
86040         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
86041
86042 2005-08-29  Bruno Haible  <bruno@clisp.org>
86043
86044         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
86045         Emit more advice.
86046
86047 2005-08-29  Bruno Haible  <bruno@clisp.org>
86048         and Stepan Kasal  <kasal@ucw.cz>
86049
86050         * check-module: If more parameters are given, check each of them
86051         separately; add more exceptions, as noted by Jim Meyering.
86052         (check_module): New procedure.
86053         (%exempt_header): Now contains all exceptions.
86054
86055 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
86056
86057         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
86058
86059 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
86060
86061         * lib/iconvme.c: Split iconv_string into iconv_alloc.
86062
86063 2005-08-28  Bruno Haible  <bruno@clisp.org>
86064
86065         * m4/gnulib-tool.m4: New file.
86066
86067 2005-08-27  Jim Meyering  <jim@meyering.net>
86068
86069         * modules/unistd-safer (Files): Add pipe-safer.c.
86070         * modules/fcntl-safer (Files): Add creat-safer.c.
86071
86072 2005-08-27  Jim Meyering  <jim@meyering.net>
86073
86074         * m4/stdlib-safer.m4: New file.  From coreutils.
86075         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
86076         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
86077         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
86078         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
86079         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
86080
86081 2005-08-27  Jim Meyering  <jim@meyering.net>
86082
86083         * lib/fopen-safer.c: Merge minor changes from coreutils.
86084         * lib/dup-safer.c: Likewise.
86085         * lib/fd-safer.c: Likewise.
86086
86087         Merge from coreutils.
86088         * lib/stdio--.h: New file.
86089         * lib/stdlib--.h: New file.
86090         * lib/mkstemp-safer.c: New file.
86091
86092         GNU tar needs these.
86093         * lib/pipe-safer.c: New file.
86094         * lib/creat-safer.c: New file.
86095         * lib/fcntl--.h (creat): Define to creat_safer.
86096         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
86097         * lib/unistd--.h (pipe): Define to pipe_safer.
86098         * lib/unistd-safer.h: Declare pipe_safer.
86099
86100 2005-08-26  Simon Josefsson  <jas@extundo.com>
86101
86102         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
86103         Haible <bruno@clisp.org>.
86104
86105 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
86106
86107         * lib/regex_internal.h: Remove all references to
86108         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
86109         or better.
86110         (bitset_not, bitset_merge, bitset_not_merge):
86111         (bitset_mask, re_string_allocate, re_string_construct):
86112         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
86113         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
86114         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
86115         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
86116         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
86117         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
86118         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
86119         (re_acquire_state_context):
86120         Remove unnecessary forward decls.
86121         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
86122         Put __attribute at function definition,
86123         now that the function decl has been removed.
86124         * lib/regex_internal.c (re_string_peek_byte_case):
86125         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
86126         Likewise.
86127
86128 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
86129
86130         * m4/regex.m4: Add AC_PREREQ(2.50).
86131         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
86132
86133 2005-08-25  Simon Josefsson  <jas@extundo.com>
86134
86135         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
86136         __fsetlocking.
86137
86138 2005-08-25  Simon Josefsson  <jas@extundo.com>
86139
86140         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
86141         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
86142         GLIBC specific code.
86143
86144 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
86145
86146         Make regex safe for g++.  This fixes one real bug (an "err"
86147         that should have been "*err").  g++ problem reported by
86148         Sam Steingold.
86149         * lib/regex_internal.h (re_calloc): New macro, consistent with
86150         re_malloc etc.  All callers of calloc changed to use re_calloc.
86151         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
86152         not int.  All callers changed.
86153         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
86154         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
86155         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
86156         (find_recover_state): Change "err" to "*err"; this fixes what
86157         appears to be a real bug.
86158         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
86159         versus int.
86160
86161 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
86162
86163         * modules/regex (Depends-on): Add malloc, since the code
86164         assumes that !malloc(0) means failure.
86165
86166 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
86167
86168         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
86169
86170         alloca modernization/simplification for regex.
86171         * lib/regex.c: Remove portability cruft for alloca.  This no longer
86172         needs to be at the start of the file, and can be moved into
86173         regex_internal.h and simplified.
86174         * lib/regex_internal.h: Include <alloca.h>.
86175         (__libc_use_alloca) [!defined _LIBC]: New macro.
86176         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
86177         now works outside glibc.
86178
86179 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
86180
86181         * config/srclist.txt: Add glibc bugs 1241, 1245.
86182
86183 2005-08-25  Jim Meyering  <jim@meyering.net>
86184
86185         * lib/open-safer.c: Include <config.h>.
86186         Otherwise, we'd lose LARGEFILE support in any file using
86187         e.g. "fcntl--.h"
86188
86189 2005-08-25  Bruno Haible  <bruno@clisp.org>
86190
86191         * m4/minmax.m4: Require autoconf 2.52.
86192         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
86193         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
86194         alternatives of translit over the alphabet.
86195         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
86196
86197 2005-08-24  Simon Josefsson  <jas@extundo.com>
86198
86199         * tests/test-getpass.c: New file.
86200
86201 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
86202
86203         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
86204         for GNU regex features.
86205
86206 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
86207
86208         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
86209         * lib/regex.h (regerror): Likewise.
86210
86211         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
86212         requires this.  (The code never needed it.)
86213
86214         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
86215         All uses of recently-renamed identifiers changed to use the new,
86216         POSIX-compliant names.  The code will build and run just fine
86217         without these changes, but it's better to eat our own dog food
86218         and use the standard-conforming names.
86219
86220         * lib/regex.h: Fix a multitude of POSIX name space violations.
86221         These changes have an effect only for programs that define
86222         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
86223         do not change anything for programs compiled in the normal way.
86224         Also, there is no effect on the ABI.
86225
86226         (_REGEX_SOURCE): New macro.
86227         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
86228         defined and _GNU_SOURCE is not; this fixes a name space violation.
86229
86230         Rename the following macros to obey POSIX requirements.
86231         The old names are still visible as macros if _REGEX_SOURCE is defined.
86232         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
86233         RE_BACKSLASH_ESCAPE_IN_LISTS.
86234         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
86235         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
86236         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
86237         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
86238         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
86239         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
86240         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
86241         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
86242         (REG_INTERVALS): renamed from RE_INTERVALS.
86243         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
86244         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
86245         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
86246         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
86247         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
86248         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
86249         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
86250         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
86251         RE_UNMATCHED_RIGHT_PAREN_ORD.
86252         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
86253         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
86254         (REG_DEBUG): renamed from RE_DEBUG.
86255         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
86256         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
86257         unusual, since we can't clash with the POSIX REG_ICASE.
86258         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
86259         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
86260         (REG_NO_SUB): renamed from RE_NO_SUB.
86261         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
86262         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
86263         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
86264         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
86265         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
86266         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
86267         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
86268         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
86269         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
86270         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
86271         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
86272         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
86273         RE_SYNTAX_POSIX_MINIMAL_BASIC.
86274         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
86275         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
86276         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
86277         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
86278         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
86279         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
86280         (REG_FIXED): Renamed from REGS_FIXED.
86281         (REG_NREGS): Renamed from RE_NREGS.
86282
86283         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
86284         of other REG_* macros, since POSIX says the user is allowed to
86285         #undef these macros selectively.
86286
86287         (reg_errcode_t): Update comment stating what other tables need
86288         to be consistent.
86289
86290         Rename the following enum values to obey POSIX requirements.
86291         The old names are still visible as macros.
86292         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
86293         is not defined, since GNU is supposed to be a superset of POSIX as
86294         much as possible, and since we want reg_errcode_t to be a signed
86295         type for implementation consistency.
86296         (_REG_NOERROR): Renamed from REG_NOERROR.
86297         (_REG_NOMATCH): Renamed from REG_NOMATCH.
86298         (_REG_BADPAT): Renamed from REG_BADPAT.
86299         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
86300         (_REG_ECTYPE): Renamed from REG_ECTYPE.
86301         (_REG_EESCAPE): Renamed from REG_EESCAPE.
86302         (_REG_ESUBREG): Renamed from REG_ESUBREG.
86303         (_REG_EBRACK): Renamed from REG_EBRACK.
86304         (_REG_EPAREN): Renamed from REG_EPAREN.
86305         (_REG_EBRACE): Renamed from REG_EBRACE.
86306         (_REG_BADBR): Renamed from REG_BADBR.
86307         (_REG_ERANGE): Renamed from REG_ERANGE.
86308         (_REG_ESPACE): Renamed from REG_ESPACE.
86309         (_REG_BADRPT): Renamed from REG_BADRPT.
86310         (_REG_EEND): Renamed from REG_EEND.
86311         (_REG_ESIZE): Renamed from REG_ESIZE.
86312         (_REG_ERPAREN): Renamed from REG_ERPAREN.
86313         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
86314         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
86315         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
86316         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
86317
86318         (_REG_RE_NAME, _REG_RM_NAME): New macros.
86319         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
86320         changed.  But support the old name if the new one is not defined
86321         and if _REGEX_SOURCE.
86322
86323         Change the following member names in struct re_pattern_buffer.
86324         The old names are still supported if !_REGEX_SOURCE.
86325         The new names are always supported, regardless of _REGEX_SOURCE.
86326         (re_buffer): Renamed from buffer.
86327         (re_allocated): Renamed from allocated.
86328         (re_used): Renamed from used.
86329         (re_syntax): Renamed from syntax.
86330         (re_fastmap): Renamed from fastmap.
86331         (re_translate): Renamed from translate.
86332         (re_can_be_null): Renamed from can_be_null.
86333         (re_regs_allocated): Renamed from regs_allocated.
86334         (re_fastmap_accurate): Renamed from fastmap_accurate.
86335         (re_no_sub): Renamed from no_sub.
86336         (re_not_bol): Renamed from not_bol.
86337         (re_not_eol): Renamed from not_eol.
86338         (re_newline_anchor): Renamed from newline_anchor.
86339
86340         Change the following member names in struct re_registers.
86341         The old names are still supported if !_REGEX_SOURCE.
86342         The new names are always supported, regardless of _REGEX_SOURCE.
86343         (rm_num_regs): Renamed from num_regs.
86344         (rm_start): Renamed from start.
86345         (rm_end): Renamed from end.
86346
86347         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
86348         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
86349         Prepend __ to parameter names.
86350
86351         Undo yesterday's changes.
86352
86353 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
86354
86355         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
86356         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
86357         lib/regex.c.
86358
86359 2005-08-24  Jim Meyering  <jim@meyering.net>
86360
86361         Sync from coreutils.
86362         * m4/fcntl-safer.m4: New file.
86363
86364         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
86365         and object files for this module.
86366
86367 2005-08-24  Jim Meyering  <jim@meyering.net>
86368
86369         Sync from coreutils.
86370         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
86371
86372 2005-08-24  Jim Meyering  <jim@meyering.net>
86373
86374         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
86375         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
86376
86377 2005-08-24  Jim Meyering  <jim@meyering.net>
86378
86379         * modules/fcntl-safer: New module.
86380         * modules/fts (Depends-on): Add fcntl-safer.
86381         * MODULES.html.sh (File descriptor based Input/Output):
86382         Add fcntl-safer.
86383
86384 2005-08-24  Bruno Haible  <bruno@clisp.org>
86385
86386         Support for unit test modules.
86387         * modules/README: Mention tests modules.
86388         * modules/TEMPLATE-TESTS: New file.
86389         * gnulib-tool: New options --extract-tests-module, --with-tests and
86390         --tests-base (unused for the moment).
86391         (testsbase, inctests): New variables.
86392         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
86393         (func_verify_module): Exclude TEMPLATE-TESTS.
86394         (func_verify_nontests_module, func_verify_tests_module): New functions.
86395         (func_get_dependencies): Add implicit dependency for tests modules.
86396         (func_get_tests_module): New function.
86397         (func_modules_transitive_closure): When --with-tests was specified,
86398         include the unit tests as well, unless explicitly avoided.
86399         (func_emit_lib_Makefile_am): Ignore the tests modules here.
86400         (func_emit_tests_Makefile_am): New function.
86401         (func_create_testdir): When --with-tests was specified, emit a
86402         tests/ directory.
86403         * MODULES.html.sh (Future developments): Update.
86404
86405 2005-08-24  Bruno Haible  <bruno@clisp.org>
86406
86407         * modules/tls-tests: New file.
86408         * tests/test-tls.c: New file, from GNU gettext.
86409
86410 2005-08-24  Bruno Haible  <bruno@clisp.org>
86411
86412         * modules/lock-tests: New file.
86413         * tests/test-lock.c: New file, from GNU gettext.
86414
86415 2005-08-24  Bruno Haible  <bruno@clisp.org>
86416
86417         * lib/lock.h: Add multiple inclusion guard.
86418         * lib/tls.h: Add multiple inclusion guard.
86419
86420 2005-08-24  Bruno Haible  <bruno@clisp.org>
86421
86422         * gnulib-tool: Add support for the --aux-dir option to
86423         --create-testdir, --create-megatestdir, --test, --megatest.
86424         (func_create_testdir, func_create_megatestdir): Optionally emit a
86425         AC_CONFIG_AUX_DIR directive.
86426         (create-testdir, create-megatestdir, test, megatest): Provide a
86427         default value for $auxdir.
86428
86429 2005-08-24  Bruno Haible  <bruno@clisp.org>
86430
86431         * gnulib-tool (import): Use compound statement instead of subshell
86432         where possible.
86433
86434 2005-08-24  Bruno Haible  <bruno@clisp.org>
86435
86436         * gnulib-tool (import): Change --aux-dir default to "build-aux".
86437
86438 2005-08-24  Bruno Haible  <bruno@clisp.org>
86439
86440         * gnulib-tool (func_version): Update.
86441
86442 2005-08-24  Bruno Haible  <bruno@clisp.org>
86443
86444         * gnulib-tool (func_import, func_create_testdir,
86445         func_create_megatestdir): Quote all autoconf macro arguments.
86446
86447 2005-08-24  Bruno Haible  <bruno@clisp.org>
86448
86449         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
86450         option --force, because --force causes the aclocal.m4 of each
86451         subdirectory to be newer than the corresponding config.h.in.
86452
86453 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86454
86455         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
86456         All contents moved to gl_REGEX.
86457         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
86458         assume that it does.
86459
86460 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86461
86462         * lib/regex.h (REG_NOSYS)
86463         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
86464         Define, since POSIX requires it as of 2001.
86465         (_REG_ENOSYS)
86466         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
86467         New private symbol, used to keep the enum signed in all cases.
86468         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
86469         Youngman in
86470         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
86471
86472         * lib/regex_internal.c (re_string_skip_chars, register_state):
86473         (calc_state_hash):
86474         Remove forward decls; no longer needed now that we use prototypes.
86475         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
86476         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
86477         (clean_state_log_if_needed): Likewise.
86478
86479 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86480
86481         * config/srclist.txt: Add glibc bugs 1231-1233.
86482
86483 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
86484
86485         Fix problems reported by Sam Steingold in
86486         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
86487         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
86488         assumed that reg_errcode_t is a signed type, which is not
86489         necessarily true if _XOPEN_SOURCE is not defined.
86490         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
86491         since some compilers warn about it otherwise.
86492
86493 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
86494
86495         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
86496         (init_word_char, create_initial_state, duplicate_node_closure):
86497         (fetch_token, peek_token_bracket, build_range_exp):
86498         (build_collating_symbol): Remove forward decls; no longer needed
86499         now that we use prototypes.
86500
86501         * lib/regcomp.c:
86502         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
86503         (re_compile_fastmap_iter, regcomp, regerror, regfree):
86504         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
86505         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
86506         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
86507         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
86508         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
86509         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
86510         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
86511         (build_range_exp, build_collating_symbol, parse_bracket_exp):
86512         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
86513         (build_charclass, build_charclass_op, fetch_number, create_tree):
86514         (create_token_tree, mark_opt_subexp, duplicate_tree):
86515         Use prototypes rather than old-style definitions.
86516
86517         * lib/regex_internal.c:
86518         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
86519         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
86520         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
86521         (re_string_reconstruct, re_string_peek_byte_case):
86522         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
86523         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
86524         (re_node_set_init_copy, re_node_set_add_intersect):
86525         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
86526         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
86527         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
86528         (re_acquire_state, re_acquire_state_context, register_state):
86529         (create_ci_newstate, create_cd_newstate, free_state):
86530         Likewise.
86531         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
86532         re_search_2):
86533         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
86534         (re_search_internal, prune_impossible_nodes):
86535         (acquire_init_state_context, check_matching, static):
86536         (check_halt_node_context, check_halt_state_context, proceed_next_node):
86537         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
86538         (update_regs, sift_states_backward, build_sifted_states):
86539         (clean_state_log_if_needed, merge_state_array):
86540         (update_cur_sifted_state, add_epsilon_src_nodes):
86541         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
86542         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
86543         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
86544         (find_recover_state, check_subexp_matching_top, transit_state_mb):
86545         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
86546         (check_arrival, check_arrival_add_next_nodes):
86547         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
86548         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
86549         (check_node_accept_bytes, check_node_accept, extend_buffers):
86550         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
86551         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
86552         (sift_ctx_init):
86553         Likewise.
86554
86555         * lib/regex_internal.h:
86556         (re_string_allocate, re_string_construct, re_string_reconstruct):
86557         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
86558         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
86559         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
86560         (re_string_context_at, re_string_peek_byte_case):
86561         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
86562         is defined, since we now use prototypes always.
86563
86564         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
86565         C89 or better.  All uses removed.
86566
86567 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
86568
86569         * config/srclist.txt: Add glibc bugs 1220-1227.
86570
86571 2005-08-20  Jim Meyering  <jim@meyering.net>
86572
86573         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
86574         of unused local, dfa.
86575
86576 2005-08-20  Bruno Haible  <bruno@clisp.org>
86577
86578         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
86579
86580 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86581
86582         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
86583         (re_node_set_insert_last, re_dfa_add_node):
86584         Rename local variables to avoid GCC shadowing warnings.
86585
86586 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86587
86588         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
86589         [defined lint]: Suppress bogus uninitialized-variable warnings.
86590
86591         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
86592         and let the caller return REG_ESPACE if out of space.  This
86593         removes an uninitialied-variable warning with GCC 4.0.1, and also
86594         avoids taking the address of a local variable.  All callers
86595         changed.
86596
86597 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86598
86599         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
86600         $LIBCSRC/posix/regexec.c.
86601         Add glibc bug 1217 for regcomp.c.
86602
86603 2005-08-19  Jim Meyering  <jim@meyering.net>
86604
86605         * lib/regexec.c (proceed_next_node): Redo local variables to
86606         avoid GCC shadowing warnings.
86607
86608 2005-08-18  Bruno Haible  <bruno@clisp.org>
86609
86610         * lib/strstr.c (strstr): Fix return value in multibyte case.
86611         * lib/strcasestr.c (strcasestr): Likewise.
86612
86613 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
86614
86615         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
86616
86617 2005-08-17  Jim Meyering  <jim@meyering.net>
86618
86619         Make the %s format (seconds since the epoch) work for a negative
86620         number and when used with a zero-padded field width, e.g. %015s.
86621
86622         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
86623         label so that it precedes the code to set `digits'.  Otherwise,
86624         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
86625         print `00-22'.  Now, it prints `-0022', as it should.
86626
86627 2005-08-17  Bruno Haible  <bruno@clisp.org>
86628
86629         * modules/strstr (Files): Add m4/mbrtowc.m4.
86630         (Depends-on): Add mbuiter.
86631
86632 2005-08-17  Bruno Haible  <bruno@clisp.org>
86633
86634         * modules/strcasestr: New file.
86635         * MODULES.html.sh (String handling, based on ANSI C 89): Add
86636         strcasestr.
86637
86638 2005-08-17  Bruno Haible  <bruno@clisp.org>
86639
86640         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
86641
86642 2005-08-17  Bruno Haible  <bruno@clisp.org>
86643
86644         * modules/mbuiter: New file.
86645         * MODULES.html.sh (Extended multibyte and wide character utilities):
86646         Add mbuiter.
86647
86648 2005-08-17  Bruno Haible  <bruno@clisp.org>
86649
86650         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
86651         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
86652
86653 2005-08-17  Bruno Haible  <bruno@clisp.org>
86654
86655         * m4/strcasestr.m4: New file.
86656
86657 2005-08-17  Bruno Haible  <bruno@clisp.org>
86658
86659         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
86660         * lib/strstr.c: Completely rewritten, with multibyte locale support.
86661
86662 2005-08-17  Bruno Haible  <bruno@clisp.org>
86663
86664         * lib/strcasestr.h: New file.
86665         * lib/strcasestr.c: New file.
86666
86667 2005-08-17  Bruno Haible  <bruno@clisp.org>
86668
86669         * lib/strcasecmp.c: Use mbuiter.h.
86670
86671 2005-08-17  Bruno Haible  <bruno@clisp.org>
86672
86673         * lib/mbuiter.h: New file.
86674
86675 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
86676
86677         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
86678         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
86679         and gl_GETOPT are both invoked via different paths (as happens
86680         with GNU tar CVS because it uses both argp and getopt), the former
86681         wins.
86682
86683 2005-08-16  Bruno Haible  <bruno@clisp.org>
86684
86685         * modules/tls: New file.
86686         * MODULES.html.sh (Multithreading): Add tls.
86687
86688 2005-08-16  Bruno Haible  <bruno@clisp.org>
86689
86690         * modules/strnlen1: New file.
86691         * MODULES.html.sh (String handling): Add strnlen1.
86692
86693 2005-08-16  Bruno Haible  <bruno@clisp.org>
86694
86695         * modules/strcase (Files): Add m4/mbrtowc.m4.
86696         (Depends-on): Add strnlen1, mbchar.
86697
86698 2005-08-16  Bruno Haible  <bruno@clisp.org>
86699
86700         * modules/mbiter: New file.
86701         * MODULES.html.sh (Extended multibyte and wide character utilities):
86702         Add mbiter.
86703
86704 2005-08-16  Bruno Haible  <bruno@clisp.org>
86705
86706         * modules/mbfile: New file.
86707         * MODULES.html.sh (Extended multibyte and wide character utilities):
86708         Add mbfile.
86709
86710 2005-08-16  Bruno Haible  <bruno@clisp.org>
86711
86712         * modules/mbchar: New file.
86713         * MODULES.html.sh (Extended multibyte and wide character utilities):
86714         New section.
86715
86716 2005-08-16  Bruno Haible  <bruno@clisp.org>
86717
86718         * m4/tls.m4: New file, from GNU gettext.
86719
86720 2005-08-16  Bruno Haible  <bruno@clisp.org>
86721
86722         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
86723         always.
86724         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
86725
86726 2005-08-16  Bruno Haible  <bruno@clisp.org>
86727
86728         * m4/mbiter.m4: New file.
86729
86730 2005-08-16  Bruno Haible  <bruno@clisp.org>
86731
86732         * m4/mbfile.m4: New file.
86733
86734 2005-08-16  Bruno Haible  <bruno@clisp.org>
86735
86736         * m4/mbchar.m4: New file.
86737
86738 2005-08-16  Bruno Haible  <bruno@clisp.org>
86739
86740         * lib/tls.h: New file, from GNU gettext.
86741         * lib/tls.c: New file, from GNU gettext.
86742
86743 2005-08-16  Bruno Haible  <bruno@clisp.org>
86744
86745         * lib/strnlen1.h: New file.
86746         * lib/strnlen1.c: New file.
86747
86748 2005-08-16  Bruno Haible  <bruno@clisp.org>
86749
86750         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
86751         (mbi_init): Update.
86752         (mbi_avail, mbi_advance): Let the iteration end before the terminating
86753         NUL byte, not after it.
86754
86755 2005-08-16  Bruno Haible  <bruno@clisp.org>
86756
86757         * lib/strcase.h (strcasecmp): Add note in comments.
86758         * lib/strncasecmp.c: Use code from strcasecmp.c.
86759         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
86760         (strcasecmp): Work correctly in multibyte locales.
86761
86762 2005-08-16  Bruno Haible  <bruno@clisp.org>
86763
86764         * lib/mbiter.h: New file.
86765
86766 2005-08-16  Bruno Haible  <bruno@clisp.org>
86767
86768         * lib/mbfile.h: New file.
86769
86770 2005-08-16  Bruno Haible  <bruno@clisp.org>
86771
86772         * lib/mbchar.h: New file.
86773         * lib/mbchar.c: New file.
86774
86775 2005-08-16  Bruno Haible  <bruno@clisp.org>
86776
86777         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
86778         the valid ones. Makes the comparison operations transitive:
86779         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
86780         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
86781
86782 2005-08-15  Simon Josefsson  <jas@extundo.com>
86783
86784         * modules/ssize_t (License): Change to 'unlimited'.
86785
86786         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
86787
86788 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
86789
86790         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
86791         Add comments for each pending glibc patch.
86792
86793 2005-08-15  Bruno Haible  <bruno@clisp.org>
86794
86795         * lib/regex.h (__restrict_arr): Don't define to __restrict if
86796         __cplusplus is defined.
86797
86798 2005-08-14  Jim Meyering  <jim@meyering.net>
86799
86800         Sync from coreutils.
86801
86802         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
86803         Use the hash-table-based cycle-detection code not just when
86804         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
86805         Reported by James Youngman in
86806         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
86807         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
86808         FTS_TIGHT_CYCLE_CHECK.
86809         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
86810         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
86811         once again.
86812         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
86813         * lib/fts.c (fd_safer): Remove decl.
86814         Include fcntl--.h rather than unistd-safer.h
86815         (fts_safe_changedir): Don't call fd_safer; no longer needed
86816         now that we include fcntl--.h.
86817
86818 2005-08-12  Simon Josefsson  <jas@extundo.com>
86819
86820         * modules/getndelim2: Use ssize_t module.
86821         * modules/getnline: Likewise.
86822         * modules/safe-read: Likewise.
86823         * modules/xreadlink: Likewise.
86824
86825         * modules/ssize_t: New file.
86826
86827 2005-08-12  Simon Josefsson  <jas@extundo.com>
86828
86829         * m4/readline.m4: Look for termcap, curses or ncurses if required.
86830
86831 2005-08-12  Simon Josefsson  <jas@extundo.com>
86832
86833         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86834         ssize_t.
86835
86836 2005-08-12  Simon Josefsson  <jas@extundo.com>
86837
86838         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
86839         readline, getdelim and check_version.
86840         (Support for systems lacking ISO C 99: Sizes of integer types):
86841         Add size_max.
86842
86843 2005-08-12  Bruno Haible  <bruno@clisp.org>
86844
86845         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
86846
86847 2005-08-11  Simon Josefsson  <jas@extundo.com>
86848
86849         * modules/readline: New file.
86850
86851         * modules/strnlen (Files): Add strnlen.h.
86852
86853 2005-08-11  Simon Josefsson  <jas@extundo.com>
86854
86855         * m4/readline.m4: New file.
86856
86857 2005-08-11  Simon Josefsson  <jas@extundo.com>
86858
86859         * lib/readline.h, readline.c: New file.
86860
86861 2005-08-11  Simon Josefsson  <jas@extundo.com>
86862
86863         * doc/gnulib.texi (Initial import, Finishing touches): Mention
86864         gl_AVOID.
86865
86866 2005-08-11  Bruno Haible  <bruno@clisp.org>
86867
86868         * lib/strnlen.h (strnlen): Change parameter name to match comment.
86869
86870 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
86871
86872         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
86873
86874 2005-08-10  Simon Josefsson  <jas@extundo.com>
86875
86876         * tests/test-iconvme.c: New file.
86877
86878 2005-08-10  Simon Josefsson  <jas@extundo.com>
86879
86880         * m4/strnlen.m4: New file.
86881
86882         * m4/strndup.m4: Don't check for strnlen declaration, done in
86883         strnlen.m4.
86884
86885 2005-08-10  Simon Josefsson  <jas@extundo.com>
86886
86887         * lib/strndup.c: Use strnlen.h.
86888
86889         * lib/strnlen.h: New file.
86890
86891 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
86892
86893         * README: Typos.
86894
86895 2005-08-02  Simon Josefsson  <jas@extundo.com>
86896
86897         * modules/readline: New file.
86898
86899 2005-08-02  Simon Josefsson  <jas@extundo.com>
86900
86901         * modules/getdelim: New file.
86902
86903         * modules/getline: Rewrite, don't use getndelim2.
86904
86905 2005-08-02  Simon Josefsson  <jas@extundo.com>
86906
86907         * m4/getline.m4: Separate out getdelim stuff into separate module.
86908
86909         * m4/getdelim.m4: New file.
86910
86911 2005-08-02  Simon Josefsson  <jas@extundo.com>
86912
86913         * lib/getline.h, getline.c: Rewrite.
86914
86915         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
86916
86917 2005-07-31  Bruno Haible  <bruno@clisp.org>
86918
86919         * lib/lock.h (gl_lock_initializer): New macro.
86920         (gl_lock_define_initialized): Use it.
86921         (gl_rwlock_initializer): New macro.
86922         (gl_rwlock_define_initialized): Use it.
86923         (gl_recursive_lock_initializer): New macro.
86924         (gl_recursive_lock_define_initialized): Use it.
86925
86926 2005-07-30  Karl Berry  <karl@gnu.org>
86927
86928         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
86929         Report from Ben Pfaff, regarding getopt.
86930
86931 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
86932
86933         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
86934         normal way.
86935         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
86936         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
86937         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
86938         (gl_GETOPT): Use the new macros.  Most of the implementation
86939         is moved to the new macros.  This is for programs like Emacs
86940         that don't want all the functionality of gl_GETOPT.
86941
86942 2005-07-26  Bruno Haible  <bruno@clisp.org>
86943
86944         * m4/lock.m4: Update from GNU gettext.
86945
86946 2005-07-26  Bruno Haible  <bruno@clisp.org>
86947
86948         * lib/lock.h: Update from GNU gettext.
86949         * lib/lock.c: Update from GNU gettext.
86950
86951 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
86952
86953         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
86954         obsolescent AC_TRY_RUN.  Include the default includes files, for
86955         'exit'.
86956
86957 2005-07-24  Bruno Haible  <bruno@clisp.org>
86958
86959         * modules/visibility: New file.
86960         * MODULES.html.sh (Misc): Add visibility.
86961
86962 2005-07-24  Bruno Haible  <bruno@clisp.org>
86963
86964         * m4/visibility.m4: New file.
86965
86966 2005-07-24  Bruno Haible  <bruno@clisp.org>
86967
86968         * doc/visibility.texi: New file.
86969
86970 2005-07-22  Bruno Haible  <bruno@clisp.org>
86971
86972         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
86973         $(ALLOCA_H), redundant through BUILT_SOURCES.
86974         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
86975         redundant through BUILT_SOURCES.
86976         * modules/byteswap (Makefile.am): Remove explicit dependency on
86977         $(BYTESWAP_H), redundant through BUILT_SOURCES.
86978         * modules/fnmatch (Makefile.am): Remove explicit dependency on
86979         $(FNMATCH_H), redundant through BUILT_SOURCES.
86980         * modules/getopt (Makefile.am): Remove explicit dependency on
86981         $(GETOPT_H), redundant through BUILT_SOURCES.
86982         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
86983         redundant through BUILT_SOURCES.
86984         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
86985         redundant through BUILT_SOURCES.
86986         * modules/stdbool (Makefile.am): Remove explicit dependency on
86987         $(STDBOOL_H), redundant through BUILT_SOURCES.
86988         * modules/stdint (Makefile.am): Remove explicit dependency on
86989         $(STDINT_H), redundant through BUILT_SOURCES.
86990         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
86991         Remove explicit dependency on $(SYSEXITS_H).
86992         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
86993
86994 2005-07-18  Simon Josefsson  <jas@extundo.com>
86995
86996         * lib/check-version.c (check_version): Accept identical versions too.
86997
86998 2005-07-18  Bruno Haible  <bruno@clisp.org>
86999
87000         * modules/lock: New file.
87001         * MODULES.html.sh (Multithreading): New section.
87002
87003 2005-07-18  Bruno Haible  <bruno@clisp.org>
87004
87005         * m4/lock.m4: New file, from GNU gettext.
87006
87007 2005-07-18  Bruno Haible  <bruno@clisp.org>
87008
87009         * lib/lock.h: New file, from GNU gettext.
87010         * lib/lock.c: New file, from GNU gettext.
87011
87012 2005-07-18  Bruno Haible  <bruno@clisp.org>
87013
87014         * lib/lock.h (gl_once_t): New type.
87015         (gl_once_define, gl_once): New macros.
87016         * lib/lock.c (fresh_once): New variable.
87017         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
87018         functions.
87019
87020 2005-07-16  Simon Josefsson  <jas@extundo.com>
87021
87022         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
87023         workaround, suggested by Bruno.
87024
87025 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
87026
87027         * modules/xalloc (Depends-on): Add xalloc-die.
87028         * modules/xvasprintf (Depends-on): Add xalloc-die.
87029
87030 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
87031
87032         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
87033         with a minor change.
87034
87035 2005-07-15  Bruno Haible  <bruno@clisp.org>
87036
87037         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
87038         When using lib/poll.c, define poll as rpl_poll.
87039
87040 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
87041
87042         * modules/argp (Depends-on): Remove unlocked-io.
87043
87044 2005-07-14  Derek Price  <derek@ximbiot.com>
87045
87046         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
87047         for glob symlink bug.
87048
87049 2005-07-14  Bruno Haible  <bruno@clisp.org>
87050
87051         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
87052         Instead, test for *_unlocked function declarations directly.
87053
87054 2005-07-11  Simon Josefsson  <jas@extundo.com>
87055
87056         * modules/size_max: New file.
87057
87058         * modules/xsize: Depend on size_max module for size_max.m4.
87059
87060 2005-07-11  Simon Josefsson  <jas@extundo.com>
87061
87062         * lib/size_max.h: New file.
87063
87064 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
87065
87066         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
87067         copyright symbol and the year.
87068         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
87069         (version_etc_va): Use parameterized copyright notice.
87070         Reword to conform to the current GNU coding standards.
87071
87072 2005-07-11  Karl Berry  <karl@gnu.org>
87073
87074         * doc/gnulib.texi (Quoting): new node.
87075         (Initial import): more info, from Patrice.
87076
87077 2005-07-11  Bruno Haible  <bruno@clisp.org>
87078
87079         * gnulib-tool (func_usage): Document option --avoid.
87080         (Command line options): Handle --avoid.
87081         (func_acceptable): New function.
87082         (func_modules_transitive_closure): Use it.
87083
87084 2005-07-11  Bruno Haible  <bruno@clisp.org>
87085
87086         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
87087         Reported by Jim Meyering.
87088
87089 2005-07-10  Bruno Haible  <bruno@clisp.org>
87090
87091         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
87092         Needed when size_t is smaller than 'unsigned int'.
87093         Reported by Paul Eggert.
87094
87095 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
87096
87097         * modules/argp (Depends-on): Add unlocked-io
87098
87099 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
87100
87101         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
87102         block of defines.
87103
87104 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
87105
87106         * config/srclist.txt: Comment out regcomp.c, since we have a porting
87107         fix now.
87108
87109 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
87110         and Paul Eggert  <eggert@cs.ucla.edu>
87111
87112         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
87113         in wint_t, not wchar_t.  Remove now-unnecessary cast.
87114
87115 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
87116
87117         * modules/regex (Files): Add lib/regex_internal.c,
87118         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
87119         (Depends-on): Add extensions.
87120         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
87121
87122 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
87123
87124         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
87125         pathconf.
87126         * m4/same.m4 (gl_SAME): Likewise.
87127         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
87128
87129         * m4/regex.m4: Adjust to new libc regex implementation.
87130         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
87131         all the .c and .h parts of (the new) regex.
87132         Quote the m4 stuff better.
87133         Check for RE_ICASE bug of old gnulib.
87134         Check for REG_STARTEND of recent libc.
87135         Rename local variables from jm_* to gl_*.
87136         Quote operand of "test -f".
87137         Say "recent enough" version of libc, not "version 2".
87138         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
87139         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
87140         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
87141         Remove check for btowc, isascii.
87142         Require AM_LANGINFO_CODESET.
87143
87144 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
87145
87146         * lib/regex.c, regex.h: Sync from libc.
87147         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
87148         * lib/regexec.c:
87149         New files, synced from libc, except that regex_internal.h
87150         currently has a small porting fix.
87151
87152 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
87153
87154         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
87155         regex_internal.c, regexec.c.
87156         Add regex_internal.h too, but as a comment, since the libc version
87157         is currently broken in gnulib mode.
87158
87159 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
87160
87161         Support programs like Emacs that use gnulib but not gettext.
87162         * MODULES.html.sh (Internationalization functions): Add gettext-h.
87163         * modules/gettext-h: New file.
87164         * modules/gettext (Files): Remove lib/gettext.h.
87165         (Depends-on): Add gettext-h.
87166         (Makefile.am): Remove lib_SOURCES.
87167         * modules/argmatch, modules/c-stack, modules/closeout:
87168         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
87169         * modules/execute, modules/file-type, modules/getaddrinfo:
87170         * modules/getopt, modules/human, modules/javacomp:
87171         * modules/javaexec, modules/mkdir-p, modules/obstack:
87172         * modules/openat, modules/pagealign_alloc, modules/pipe:
87173         * modules/quotearg, modules/regex, modules/rpmatch:
87174         * modules/unicodeio, modules/userspec, modules/version-etc:
87175         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
87176         * modules/xsetenv:
87177         Depend on gettext-h, not gettext.
87178
87179 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
87180
87181         * gnulib-tool (func_import): Add support for 'public domain' license.
87182         * modules/alloca, modules/atexit, modules/memmove:
87183         Now public domain, not GPL.
87184         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
87185         * modules/realloc, modules/strerror, modules/strtod:
87186         Now LGPL, not GPL.
87187
87188 2005-07-05  Bruno Haible  <bruno@clisp.org>
87189
87190         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
87191         autoconf CVS. Needed for mingw.
87192
87193 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
87194
87195         Remove the dependency of the strftime module on the tzset module.
87196         * modules/strftime (Depends-on): Remove dependency on tzset.
87197
87198 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
87199
87200         Remove the dependency of the strftime module on the tzset module.
87201         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
87202         gl_FUNC_TZSET_CLOBBER.
87203
87204 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
87205
87206         Remove the dependency of the strftime module on the tzset module.
87207         * lib/strftime.c (my_strftime)
87208         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
87209         Copy the input structure, to work around some of the bug with
87210         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
87211         Solaris releases, you should also use the tzset module, but we won't
87212         require it as a dependency any more since we don't want LGPLed code
87213         to depend on GPLed code.
87214
87215 2005-07-02  Jim Meyering  <jim@meyering.net>
87216
87217         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
87218         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
87219         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
87220         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
87221
87222 2005-07-02  Jim Meyering  <jim@meyering.net>
87223
87224         * lib/backupfile.c (backup_args): Change a `0' to NULL.
87225
87226 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
87227
87228         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
87229         declares only 'struct timespec;' (!).
87230
87231 2005-07-01  Jim Meyering  <jim@meyering.net>
87232
87233         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
87234         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
87235         * lib/save-cwd.c, tempname.c:
87236         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
87237         and don't include <sys/file.h>).
87238
87239 2005-06-29  Jim Meyering  <jim@meyering.net>
87240
87241         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
87242         type name.  Use the variable name instead.
87243         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
87244         Likewise.
87245
87246 2005-06-28  Simon Josefsson  <jas@extundo.com>
87247
87248         * modules/check-version (Files): Add check-version.m4.
87249
87250 2005-06-28  Simon Josefsson  <jas@extundo.com>
87251
87252         * m4/check-version.m4: New file, suggested by Jim Meyering
87253         <jim@meyering.net>.
87254
87255 2005-06-28  Simon Josefsson  <jas@extundo.com>
87256
87257         * lib/check-version.h, lib/check-version.c: New files.
87258
87259 2005-06-28  Simon Josefsson  <jas@extundo.com>
87260
87261         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
87262         collision with global variable.  Better indentation.  Don't
87263         increment buffer pointer beyond buffer end.  Based on comments
87264         from Paul Eggert <eggert@cs.ucla.edu>.
87265
87266         * lib/base64.h: Indent.
87267
87268 2005-06-28  Simon Josefsson  <jas@extundo.com>
87269
87270         * doc/gnulib.texi (Library version handling): New section.
87271
87272 2005-06-28  Jim Meyering  <jim@meyering.net>
87273
87274         * check-module (find_included_lib_files): Hard-code another
87275         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
87276         but modules/fts-lgpl (correctly) does not list those files.
87277
87278         * modules/canonicalize (Files): Add lib/pathmax.h.
87279
87280 2005-06-25  Simon Josefsson  <jas@extundo.com>
87281
87282         * modules/check-version: New file.
87283
87284 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
87285
87286         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
87287         initializer of struct addrinfo, as an indication that we don't
87288         care how many members the structure has.
87289
87290 2005-06-24  Derek Price  <derek@ximbiot.com>
87291         and Bruno Haible  <bruno@clisp.org>
87292
87293         Remove stat module & update lstat.
87294         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
87295         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
87296         * m4/stat.m4: Remove this file.
87297
87298 2005-06-24  Derek Price  <derek@ximbiot.com>
87299         and Bruno Haible  <bruno@clisp.org>
87300
87301         Remove stat module & update lstat.
87302         * lib/stat.c: Remove this file...
87303         (slash_aware_lstat): ...moving this content and its support...
87304         * lib/lstat.c (rpl_lstat): ...into here.
87305         * lib/lstat.h: New file.
87306
87307 2005-06-24  Derek Price  <derek@ximbiot.com>
87308         and Bruno Haible  <bruno@clisp.org>
87309
87310         Remove stat module & update lstat.
87311         * config/srclist.txt (libc sources): Remove stat.
87312
87313 2005-06-24  Derek Price  <derek@ximbiot.com>
87314         and Bruno Haible  <bruno@clisp.org>
87315
87316         Remove stat module & update lstat.
87317         * MODULES.html.sh (stat): Remove.
87318         * MODULES.html: Regenerated.
87319         * modules/lstat (Description): Correct function name.
87320         (Files): Add "lstat.h".
87321         (Depends-on): Remove stat, add xalloc, stat-macros.
87322         * modules/stat: Remove this file.
87323         (Include): Add "lstat.h", remove <sys/stat.h>.
87324
87325 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
87326
87327         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
87328         (ranged_convert): Don't save conversion in a temporary struct.
87329         This causes a warning with GCC 4.0.0, and anyway in the typical
87330         case it's not worth the extra 100 bytes or so of code.
87331         (ranged_convert, __mktime_internal): When calling a function via a
87332         pointer P, use P () rather than (*P) (), as we now assume C89 or
87333         better.
87334
87335 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87336
87337         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
87338         "who -r" failed to give output.  Problem reported by Tim Waugh.
87339
87340         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
87341         (xcalloc): Use it to avoid needless tests.
87342         Problem reported by Jim Meyering.
87343
87344 2005-06-20  Derek Price  <derek@ximbiot.com>
87345
87346         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
87347         unnecessary for Autoconfs > 2.59c.
87348
87349 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87350
87351         * lib/argp.h (__option_is_short): Check upper limit of
87352         __key. Isprint() requires its argument to have the value
87353         of an unsigned char or EOF.
87354
87355 2005-06-16  Jim Meyering  <jim@meyering.net>
87356
87357         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
87358         when either N or S is zero.
87359
87360 2005-06-16  Derek Price  <derek@ximbiot.com>
87361
87362         * m4/bison.m4: Declare YACC & YFLAGS precious.
87363
87364 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
87365
87366         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
87367         multibyte string or pattern, fall back on unibyte matching.
87368         Problem reported by James Youngman.
87369
87370 2005-06-08  Bruno Haible  <bruno@clisp.org>
87371
87372         * modules/csharpcomp: New file.
87373         * MODULES.html.sh (C#): Add csharpcomp.
87374
87375 2005-06-08  Bruno Haible  <bruno@clisp.org>
87376
87377         * m4/csharpcomp.m4: New file, from GNU gettext.
87378
87379 2005-06-08  Bruno Haible  <bruno@clisp.org>
87380
87381         * lib/csharpcomp.h: New file, from GNU gettext.
87382         * lib/csharpcomp.c: New file, from GNU gettext.
87383         * lib/csharpcomp.sh.in: New file, from GNU gettext.
87384
87385 2005-06-08  Bruno Haible  <bruno@clisp.org>
87386
87387         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
87388         warning on mingw.
87389
87390 2005-06-07  Derek Price  <derek@ximbiot.com>
87391
87392         Sync from CVS.
87393         * lib/glob_.h: Indent nested #ifdef.
87394
87395 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
87396
87397         Sync from coreutils.
87398         Use "file name" when talking about file names, instead of "filename"
87399         or "path", as per the GNU coding standards.
87400         * lib/mkdir-p.c: Renamed from makepath.c.
87401         (make_dir_parents): Renamed from make_path.  All callers changed.
87402         * lib/mkdir-p.h: Likewise.  All includers changed.
87403         * lib/filenamecat.c: Renamed from path-concat.c.
87404         (file_name_concat): Renamed from path_concat.  All callers changed.
87405         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
87406         * lib/filenamecat.h: Likewise.  All includers changed.
87407         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
87408         in comments or local variable names.
87409         * lib/basename.c: Likewise.
87410         * lib/canonicalize.c, canonicalize.h: Likewise.
87411         * lib/dirname.c, dirname.h: Likewise.
87412         * lib/euidaccess.c: Likewise.
87413         * lib/exclude.c: Likewise
87414         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
87415         * lib/fsusage.c, fsuage.h: Likewise.
87416         * lib/fts.c, fts_.h: Likewise.
87417         * lib/getcwd.c: Likewise.
87418         * lib/getloadavg.c: Likewise.
87419         * lib/mkstemp.c: Likewise.
87420         * lib/mountlist.c, mountlist.h: Likewise.
87421         * lib/openat.c, openat.h: Likewise.
87422         * lib/readlink-stub.c: Likewise.
87423         * lib/readutmp.c, readutmp.h: Likewise.
87424         * lib/rename.c: Likewise.
87425         * lib/rmdir.c: Likewise.
87426         * lib/same.c: Likewise.
87427         * lib/savedir.c: Likewise.
87428         * lib/stripslash.c: Likewise.
87429         * lib/tempname.c: Likewise.
87430         * lib/xreadlink.c: Likewise.
87431         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
87432         All uses changed.
87433         * lib/exclude.h: Likewise.
87434
87435         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
87436         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
87437         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
87438         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
87439         * lib/pathmax.h: Include <limits.h> unconditionally, since other
87440         files have been getting away with it for years (MORE/BSD 4.3
87441         is extinct now).
87442         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
87443         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
87444
87445         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
87446         Define to 256, not 255, as per modern POSIX.
87447
87448 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
87449
87450         Sync from coreutils.
87451         Use "file name" when talking about file names, instead of "filename"
87452         or "path", as per the GNU coding standards.
87453         * MODULES.html.sh: mkdir-p renamed from makepath.
87454         filenamecat renamed from path-concat.
87455         * modules/filenamecat: Renamed from modules/path-concat.
87456         (Files): filenamecat.h and filenamecat.c renamed from
87457         path-concat.h and path-concat.c.
87458         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
87459         (Include): filenamecat.h, not path-concat.h.
87460         * modules/mkdir-p: Renamed from modules/makepath.
87461         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
87462         makepath.c.
87463         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
87464         (Include): mkdir-p.h, not makepath.h.
87465
87466 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
87467
87468         Sync from coreutils.
87469         * m4/mkdir-p.m4: Renamed from makepath.m4.
87470         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
87471         Rename files from makepath.c to mkdir-p.c, and from
87472         makepath.h to mkdir-p.h.
87473         * m4/filenamecat.m4: Renamed from path-concat.m4.
87474         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
87475         Rename files from path-concat.c to filenamecat.c,
87476         and from path-concat.h to filenamecat.h.
87477         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
87478         "file name" in local variables or comments.
87479         * m4/rename.m4: Likewise.
87480
87481 2005-06-01  Bruno Haible  <bruno@clisp.org>
87482
87483         * modules/csharpexec: New file.
87484         * MODULES.html.sh (C#): New section.
87485
87486 2005-06-01  Bruno Haible  <bruno@clisp.org>
87487
87488         * m4/csharp.m4: New file, from GNU gettext.
87489         * m4/csharpexec.m4: New file, from GNU gettext.
87490
87491 2005-06-01  Bruno Haible  <bruno@clisp.org>
87492
87493         * lib/csharpexec.h: New file, from GNU gettext.
87494         * lib/csharpexec.c: New file, from GNU gettext.
87495         * lib/csharpexec.sh.in: New file, from GNU gettext.
87496
87497 2005-05-31  Derek Price  <derek@ximbiot.com>
87498             Paul Eggert  <eggert@cs.ucla.edu>
87499
87500         Sync from cvs.
87501         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
87502
87503 2005-05-31  Derek Price  <derek@ximbiot.com>
87504             Paul Eggert  <eggert@cs.ucla.edu>
87505
87506         Sync from cvs.
87507         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
87508
87509 2005-05-29  Derek Price  <derek@ximbiot.com>
87510
87511         * config/srclist.txt (glob_.h, glob.c): Add these files.
87512
87513 2005-05-29  Derek Price  <derek@ximbiot.com>
87514
87515         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
87516         * modules/glob: New file.
87517         * modules/getlogin_r: Add link to POSIX spec in description.
87518
87519 2005-05-29  Derek Price  <derek@ximbiot.com>
87520             Paul Eggert  <eggert@cs.ucla.edu>
87521
87522         * m4/glob.m4: New file.
87523
87524 2005-05-29  Derek Price  <derek@ximbiot.com>
87525             Paul Eggert  <eggert@cs.ucla.edu>
87526
87527         * lib/glob_.h, lib/glob.c: New files.
87528
87529 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
87530
87531         * modules/fts (Files): Remove m4/inttypes-pri.m4.
87532         * modules/fts-lgpl (Depends-on): Remove gettext.
87533
87534 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
87535
87536         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
87537         and don't require gt_INTTYPES_PRI.
87538
87539 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
87540
87541         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
87542
87543         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
87544         the configuration hassle isn't worth it.
87545         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
87546         (LONGEST_MODIFIER, PRIuMAX): Remove.
87547
87548 2005-05-27  Bruno Haible  <bruno@clisp.org>
87549
87550         * lib/getlogin_r.h: Remove second include of <stddef.h>.
87551
87552 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
87553
87554         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
87555         _POSIX_PTHREAD_SEMANTICS for Solaris.
87556
87557 2005-05-25  Derek Price  <derek@ximbiot.com>
87558
87559         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
87560
87561 2005-05-25  Derek Price  <derek@ximbiot.com>
87562             Paul Eggert  <eggert@cs.ucla.edu>
87563
87564         * modules/getlogin_r, m4/getlogin_r.m4: New files.
87565         * lib/getlogin_r.c, getlogin_r.h: New files.
87566
87567 2005-05-25  Bruno Haible  <bruno@clisp.org>
87568             Derek Price  <derek@ximbiot.com>
87569
87570         * lib/getlogin_r.h: Simplify API documentation.
87571
87572 2005-05-23  Derek Price  <derek@ximbiot.com>
87573
87574         * modules/minmax (Files): Add m4/minmax.m4.
87575         (configure.ac): Add gl_MINMAX.
87576
87577 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
87578
87579         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
87580         so that unistd-safer.h (GPL'ed code) need not be included.
87581
87582 2005-05-22  Bruno Haible  <bruno@clisp.org>
87583
87584         * m4/minmax.m4: New file.
87585         Based on a patch by Derek Price <derek@ximbiot.com>.
87586
87587 2005-05-22  Bruno Haible  <bruno@clisp.org>
87588
87589         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
87590         (INT64_MIN): Fix definition.
87591         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
87592
87593         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
87594         NEED_SIGNED_INT_TYPES.
87595
87596         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
87597         HAVE_SYSTEM_INTTYPES.
87598
87599 2005-05-22  Bruno Haible  <bruno@clisp.org>
87600
87601         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
87602         Also include <sys/param.h> if it defines MIN, MAX.
87603         Based on a patch by Derek Price <derek@ximbiot.com>.
87604
87605 2005-05-21  Jim Meyering  <jim@meyering.net>
87606
87607         * modules/fts (Files): Add m4/inttypes-pri.m4.
87608         (Depends-on): Add lstat and remove gettext.  Alphabetize.
87609
87610 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87611
87612         New fts module.
87613         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
87614         (setup_dir, free_dir): New functions.
87615         (enter_dir, leave_dir): Define trivial
87616         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
87617         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
87618         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
87619         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
87620         Move to fts-cycle.c.
87621         (fts_open): Use setup_dir.
87622         (fts_close): Use free_dir.
87623         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
87624         This adds a label and some gotos, but the alternatives were messier.
87625         Check for memory allocation failure when entering a dir.
87626         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
87627         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
87628         (FTS): New member fts_cycle, that is a union that contains the
87629         old active_dir_ht and cycle_state.  All uses changed to mention
87630         fts_cycle.ht and fts_cycle.state.
87631         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
87632         fts.c, with the following changes:
87633         (setup_dir, free_dir): New functions.
87634         (enter_dir): Now returns bool.  Return true if successful, false
87635         if memory exhausted.  All callers changed.
87636         Do not bother partly cleaning up on
87637         memory allocation failure; that is free_dir's job.
87638         However, free ad if hash_insert fails, to avoid memory leak.
87639         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
87640         fts->fts_options to see which union member to use.
87641
87642 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87643
87644         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
87645         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
87646
87647 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87648
87649         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
87650
87651 2005-05-20  Jim Meyering  <jim@meyering.net>
87652
87653         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
87654         Now a macro, to pacify GCC.
87655
87656 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
87657
87658         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
87659         of -1.
87660
87661 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
87662
87663         * lib/chown.c (rpl_chown): Return -1 on failure.
87664
87665 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
87666
87667         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
87668         Don't check for stddef.h.
87669         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
87670         don't use its results.
87671         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
87672         since we include them unconditionally.  Don't require
87673         AM_STDBOOL_H, since stdbool is a prerequisite.
87674         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
87675         since we assume C89 or better.
87676         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
87677         as we don't use their results.
87678         Don't check for fchdir, memmove, memset, strrchr, as we use
87679         them unconditionally.
87680         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
87681         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
87682
87683 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
87684
87685         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
87686         Include <stddef.h> unconditionally, since we assume C89 now.
87687         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
87688         * lib/fts.c: Include fts_.h first, to check interface.
87689         Do not include intprops.h; no longer needed.
87690         Include cycle-check.h and hash.h, since fts_.h no longer does.
87691         Remove unnecessary casts of closedir to void.
87692         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
87693         decide whether to decrement nlinks.
87694         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
87695         (FTS): Use struct hash_table * instead of Hash_table, so that
87696         we no longer need to include hash.h here.
87697
87698 2005-05-18  Jim Meyering  <jim@meyering.net>
87699
87700         * modules/dirfd (License): Change to LGPL.  Most of the code
87701         is already in the public domain.
87702
87703 2005-05-18  Jim Meyering  <jim@meyering.net>
87704
87705         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
87706         Reported by Yoann Vandoorselaere.
87707
87708 2005-05-17  Jim Meyering  <jim@meyering.net>
87709
87710         * m4/fts.m4: New file, from coreutils.
87711
87712 2005-05-17  Jim Meyering  <jim@meyering.net>
87713
87714         * lib/fts.c, lib/fts_.h: New files, from coreutils.
87715
87716 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87717
87718         Sync from coreutils.
87719         * m4/unlinkdir.m4: New file.
87720
87721 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87722
87723         Sync from coreutils.
87724         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
87725         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
87726         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
87727         White space changes only.
87728         * lib/makepath.c (make_path): Port to hosts where leading "//" is
87729         special.
87730         * lib/yesno.c: Include getline.h, not ctype.h.
87731         (yesno): Don't remove leading white space; POSIX doesn't allow it.
87732         Use getline to remove arbitrary restriction on response length.
87733
87734 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87735
87736         * config/srclist-update: Spell out "Street" in FSF postal
87737         mail address; this is the style the FSF seems to prefer.
87738
87739         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
87740         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
87741         this updates FSF postal mail address.
87742
87743         Sync from coreutils.
87744         * modules/unlinkdir: New file.
87745         * modules/yesno (Depends-on): Add getline.
87746         * MODULES.html.sh (File system functions): Add unlinkdir.
87747
87748 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87749
87750         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
87751         lib/strsep.h:
87752         Change the initial comment to refer to GPL, not LGPL.
87753         gnulib-tool will change it to LGPL as needed.
87754
87755         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
87756         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
87757         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
87758         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
87759         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
87760         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
87761         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
87762         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
87763         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
87764         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
87765         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
87766         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
87767         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
87768         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
87769         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
87770         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
87771         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
87772         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
87773         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
87774         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
87775         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
87776         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
87777         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
87778         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
87779         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
87780         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
87781         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
87782         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
87783         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
87784         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
87785         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
87786         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
87787         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
87788         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
87789         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
87790         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
87791         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
87792         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
87793         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
87794         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
87795         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
87796         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
87797         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
87798         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
87799         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
87800         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
87801         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
87802         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
87803         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
87804         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
87805         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
87806         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
87807         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
87808         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
87809         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
87810         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
87811         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
87812         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
87813         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
87814         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
87815         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
87816         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
87817         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
87818         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
87819         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
87820         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
87821         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
87822         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
87823         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
87824         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
87825         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
87826         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
87827         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
87828         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
87829         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
87830         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
87831         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
87832         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
87833         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
87834         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
87835         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
87836         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
87837         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
87838         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
87839         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
87840         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
87841         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
87842         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
87843         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
87844         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
87845         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
87846         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
87847         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
87848         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
87849         lib/yesno.c, lib/yesno.h:
87850         Update FSF postal mail address.
87851
87852 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87853
87854         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
87855         tests/test-memmem.c, tests/test-stpncpy.c:
87856         Update FSF postal mail address.
87857
87858 2005-05-13  Bruno Haible  <bruno@clisp.org>
87859
87860         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
87861         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
87862         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
87863         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
87864         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
87865         Add support for 64-bit integers in the MSVC compiler.
87866
87867 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87868
87869         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
87870
87871 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
87872
87873         * gnulib-tool (func_import): Sort and uniquify recommended includes.
87874
87875 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
87876
87877         * doc/getdate.texi (General date syntax): Don't say that date
87878         date --iso-8601=ns generates acceptable dates; it doesn't yet.
87879         Problem reported by Nic Ferrier.
87880
87881 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87882
87883         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
87884         specified in ai_socktype. Fix invalid ai_protocol
87885         check. ai_protocol is usually set to 0 or depending on
87886         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
87887         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
87888         ai_socktype / ai_protocol in the returned addrinfo structure.
87889
87890 2005-05-10  Simon Josefsson  <jas@extundo.com>
87891
87892         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
87893         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
87894
87895 2005-05-10  Karl Berry  <karl@gnu.org>
87896
87897         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
87898         (from http://www.gnu.org/licenses).
87899         * doc/COPYING.LIB: also rename to COPYING.LESSER.
87900         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
87901         fdl.texi suffices.
87902
87903 2005-05-10  Karl Berry  <karl@gnu.org>
87904
87905         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
87906         (COPYING.DOC): remove.
87907
87908         * config/srclist-update: new FSF address.
87909
87910 2005-05-10  Derek Price  <derek@ximbiot.com>
87911
87912         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
87913         possible.
87914
87915 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87916             Bruno Haible  <bruno@clisp.org>
87917
87918         * modules/inet_ntop: New file.
87919         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87920         inet_ntop.
87921
87922 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87923             Bruno Haible  <bruno@clisp.org>
87924
87925         * m4/inet_ntop.m4: New file.
87926
87927 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87928             Bruno Haible  <bruno@clisp.org>
87929
87930         * lib/inet_ntop.h: New file.
87931         * lib/inet_ntop.c: New file, from glibc with modifications.
87932
87933 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
87934
87935         * modules/time_r (License): Change to LGPL.
87936         * modules/extensions (License): Change to LGPL.  Actually,
87937         the license is more permissive than that, but currently gnulib-tool
87938         doesn't know how to handle more-permissive licenses.
87939
87940         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
87941         Problem reported by Dave Love.
87942
87943 2005-05-08  Jim Meyering  <jim@meyering.net>
87944
87945         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
87946         blank.
87947
87948 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
87949
87950         * modules/argmatch (Depends-on): Add stdbool.
87951         * modules/backupfile (Depends-on): Likewise.
87952         * modules/chdir-long (Depends-on): Likewise.
87953         * modules/closeout (Depends-on): Likewise.
87954         * modules/cycle-check (Depends-on): Likewise.
87955         * modules/dirname (Depends-on): Likewise.
87956         * modules/fnmatch (Depends-on): Likewise.
87957         * modules/fsusage (Depends-on): Likewise.
87958         * modules/fwriteerror (Depends-on): Likewise.
87959         * modules/getcwd (Depends-on): Likewise.
87960         * modules/getloadavg (Depends-on): Likewise.
87961         * modules/hard-locale (Depends-on): Likewise.
87962         * modules/makepath (Depends-on): Likewise.
87963         * modules/mountlist (Depends-on): Likewise.
87964         * modules/nanosleep (Depends-on): Likewise.
87965         * modules/posixtm (Depends-on): Likewise.
87966         * modules/quotearg (Depends-on): Likewise.
87967         * modules/readtokens (Depends-on): Likewise.
87968         * modules/readtokens0 (Depends-on): Likewise.
87969         * modules/readutmp (Depends-on): Likewise.
87970         * modules/save-cwd (Depends-on): Likewise.
87971         * modules/strftime (Depends-on): Likewise.
87972         * modules/userspec (Depends-on): Likewise.
87973         * modules/utimecmp (Depends-on): Likewise.
87974         * modules/xgetcwd (Depends-on): Likewise.
87975         * modules/xnanosleep (Depends-on): Likewise.
87976         * modules/xstrtod (Depends-on): Likewise.
87977         * modules/yesno (Depends-on): Likewise.
87978
87979 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
87980
87981         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
87982         needless checks.
87983
87984 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87985
87986         Merge from coreutils.  Among other things,
87987         add bulletproofing for cases where stdin, stdout, or stderr are closed.
87988         * lib/fd-safer.c: New file.
87989         * lib/fcntl-safer.h, open-safer.c: Remove.
87990         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
87991         * lib/dup-safer.c: Include unistd-safer.h first.
87992         Don't include errno.h.
87993         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
87994         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
87995         * lib/file-type.c: Rely on file-type.h change.
87996         * lib/getloadavg.c: Include unistd-safer.h.
87997         (getloadavg): Use safer open.
87998         * lib/getusershell.c: Include "stdio-safer.h".
87999         (getusershell): Use safer fopen.
88000         * lib/long-options.c (long_options): Use NULL rather than 0.
88001         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
88002         'free'.
88003         * lib/modechange.c: Likewise.
88004         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
88005         (MODE_DONE): New constant.
88006         (struct mode_change): Remove 'next' member.
88007         (make_node_op_equals): New function; like the old one of the
88008         same name, except it allocates an array.
88009         (mode_compile, mode_create_from_ref): Use it.
88010         (mode_compile): Allocate result as an array, not a linked list.
88011         Parse octal string ourself, so that we catch mistakes like "+0".
88012         (mode_adjust): Arg is an array, not a linked list.
88013         * lib/modechange.c: Include stat-macros.h, xalloc.h.
88014         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
88015         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
88016         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
88017         Remove.  This is now stat-macros.h's job.
88018         (talloc): Remove.  All callers replaced by xalloc, so that
88019         our invokers don't have to worry about reporting memory failures.
88020         (make_node_op_equals): Remove.
88021         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
88022         New constants.
88023         (struct mode_change): Moved here from modechange.h.
88024         (mode_append_entry): Remove.
88025         (mode_compile): Remove MASKED_OPS arg, since it encouraged
88026         apps to have incorrect behavior.  Use simpler algorithm for head
88027         and tail.  Don't futz with umask; that's now the job of mode_adjust.
88028         Detect more invalid usages rather than having somewhat-random behavior.
88029         Don't insert an "a=" action, as that leads to incorrect behavior.
88030         (mode_compile, mode_create_from_ref): Return NULL on error instead
88031         of an enum, since now there's only one way to have an error.  All
88032         callers changed.
88033         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
88034         at the correct time.  Simplify calculation of "+u" and its ilk.
88035         Don't mishandle "+X".
88036         (mode_free): Remove "register" and localize decls.
88037         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
88038         (struct mode_change): Move to modechange.c; callers don't
88039         need to see this stuff.
88040         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
88041         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
88042         (mode_change, mode_adjust): Reflect the new signatures noted above.
88043         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
88044         that might redefine system include files.
88045         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
88046         (my_usleep): Use NULL rather than (void *) 0.
88047         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
88048         Use siginterrupt to specify that system calls should be interrupted.
88049         (rpl_nanosleep): Move initialization of suspended closer to call of
88050         my_usleep.
88051         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
88052         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
88053         (desirable_utmp_entry): New function.
88054         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
88055         using x2nrealloc, to simplify logic.
88056         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
88057         size calculation.  Do not assume utmp file is a regular file.
88058         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
88059         (READ_UTMP_CHECK_PIDS): New constant.
88060         * lib/save-cwd.c: Include unistd-safer.h.
88061         (save_cwd): Use fd_safer.
88062         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
88063         [!_LIBC] Include "stat-macros.h" instead.
88064         * lib/unistd-safer.h (fd_safer): New decl.
88065
88066 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
88067
88068         * modules/getloadavg (Depends-on): Add unistd-safer.
88069         * modules/getusershell (Depends-on): Add stdio-safer.
88070         * modules/lstat (Depends-on): Remove xalloc.
88071         * modules/mkstemp (Depends-on): Add stat-macros.
88072         * modules/modechange (Depends-on): Remove xstrtol.
88073         Add stat-macros, xalloc.
88074         * modules/save-cwd (Depends-on): Add unistd-safer.
88075         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
88076         * modules/unistd-safer (Files): Add lib/fd-safer.c
88077         (Makefile.am): Remove lib_SOURCES.
88078
88079         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
88080         Remove fcntl-safer; unistd-safer supersedes it.
88081
88082 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
88083
88084         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
88085         AC_HEADER_STAT.
88086         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
88087         (gl_PREREQ_CHOWN): Remove.
88088         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
88089         it.  Don't require AC_HEADER_STAT.
88090         (gl_PREREQ_LSTAT): Remove.
88091         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
88092         Don't require AC_HEADER_STAT.
88093         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
88094         (gl_PREREQ_RMDIR): Remove.
88095         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
88096         mention stat-macros.h or AC_HEADER_STAT, since we'll make
88097         the stat-macros module a prerequisite.
88098         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
88099         * m4/filemode.m4 (gl_FILEMODE): Likewise.
88100         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
88101         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
88102         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
88103         variable names.
88104         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
88105         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
88106         variable prefixes.
88107         * m4/fcntl-safer.m4: Remove.
88108         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
88109         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
88110         Invoke gl_PREREQ_FD_SAFER.
88111         (gl_PREREQ_FD_SAFER): New macro.
88112         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
88113         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
88114         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
88115         Remove duplicate call to AC_LIBOBJ(readutmp).
88116         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
88117
88118         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
88119         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
88120
88121 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
88122
88123         * MODULES.html.sh (Misc): Add byteswap.
88124
88125 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
88126
88127         * modules/getcwd (Depends-on): Add extensions.
88128         * modules/openat (Depends-on): Likewise.
88129
88130 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
88131
88132         * modules/byteswap: New file.
88133
88134 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
88135
88136         * m4/byteswap.m4: New file.
88137
88138 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
88139
88140         * lib/byteswap_.h: New file.
88141
88142 2005-04-25  Karl Berry  <karl@gnu.org>
88143
88144         * m4/gettext.m4: Update from GNU gettext 0.14.4.
88145
88146 2005-04-25  Albert Chin  <china@thewrittenword.com>
88147
88148         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
88149         Toolkit C bug.
88150
88151 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
88152
88153         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
88154         (func_ln_if_changed): Remove forcibly for no error message
88155         in case file does not exist.
88156
88157 2005-04-19  Simon Josefsson  <jas@extundo.com>
88158
88159         * gnulib-tool (Options): Make --symlink mean --symbolic.
88160
88161 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
88162
88163         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
88164
88165 2005-04-16  Simon Josefsson  <jas@extundo.com>
88166
88167         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
88168
88169 2005-04-15  Simon Josefsson  <jas@extundo.com>
88170
88171         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
88172
88173 2005-04-15  Simon Josefsson  <jas@extundo.com>
88174
88175         * gnulib-tool: Rename --symlink to --symbolic.
88176
88177 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
88178
88179         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
88180         symbolic links to files instead of copying/moving.  Add --aux-dir,
88181         specifying directory relative --dir where auxiliary build tools
88182         are placed.
88183
88184 2005-04-14  Bruno Haible  <bruno@clisp.org>
88185
88186         * modules/allocsa (License): Change to LGPL.
88187         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
88188
88189 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
88190
88191         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
88192         that "UTC +1 second" continues to work.  Problem reported
88193         by Dmitry V. Levin.
88194         (relunit_snumber): New rule.
88195         (relunit): Use it.
88196
88197 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
88198
88199         * lib/getdate.y (universal_time_zone_table): New constant.
88200         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
88201         universal_time_zone_table.
88202         (lookup_zone): Prefer universal_time_zone_table to
88203         local_time_zone_table, so that "GMT" time stamps are allowed in
88204         London during the summer.  Problem reported by Ian Abbott.
88205
88206 2005-04-12  Jim Meyering  <jim@meyering.net>
88207
88208         * lib/human.c (humblock): Set *options even when returning due to
88209         xstrtoumax conversion failure.  Thanks to a used-uninitialized
88210         warning from gcc-4.
88211
88212 2005-04-09  Jim Meyering  <jim@meyering.net>
88213
88214         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
88215         -Wuninitialized: initialize tm0.tm_year.
88216
88217 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
88218
88219         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
88220         count, since there's no maximum.  All uses changed.
88221         Add member dsts_seen.
88222         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
88223         not being INT_MAX.
88224         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
88225         Use pc_rels_seen to decide whether a date is absolute.
88226
88227         * lib/getdate.y (number): Don't overwrite year.
88228         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
88229         check.
88230
88231 2005-04-02  Simon Josefsson  <jas@extundo.com>
88232
88233         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
88234         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
88235
88236 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
88237
88238         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
88239         where no absolute path name can be longer than PATH_MAX.
88240
88241 2005-03-27  Jim Meyering  <jim@meyering.net>
88242
88243         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
88244
88245 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
88246
88247         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
88248         "one's complement" -> "ones' complement" in comment, as per Knuth.
88249         "value of type" -> "type or expression" in comment.
88250         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
88251
88252 2005-03-26  Jim Meyering  <jim@meyering.net>
88253
88254         Comment nits.
88255         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
88256         Correct typos: s/or/of/.
88257
88258 2005-03-26  Jim Meyering  <jim@meyering.net>
88259
88260         * modules/check-include-files: Move to ../ and rename to...
88261         * check-module: ...this.
88262
88263 2005-03-25  Jim Meyering  <jim@meyering.net>
88264
88265         * modules/xvasprintf (Files): Add xalloc.h.
88266
88267 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
88268
88269         * modules/gettext (Files): config/config.rpath ->
88270         build-aux/config.rpath
88271         * modules/iconv (Files): Likewise.
88272         Problem reported by Oskar Liljeblad.
88273
88274 2005-03-23  Jim Meyering  <jim@meyering.net>
88275
88276         * modules/check-include-files: New script to check for
88277         missing dependencies, multiple includes, etc.
88278
88279         * modules/c-strtold (Depends-on): Add xalloc.
88280         * modules/c-strtod (Depends-on): Add xalloc.
88281         * modules/hash (Depends-on): Add xalloc.
88282         (Files): Remove lib/xalloc.h.
88283
88284         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
88285         * modules/userspec (Files): Add lib/inttostr.h.
88286
88287 2005-03-23  Jim Meyering  <jim@meyering.net>
88288
88289         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
88290
88291 2005-03-22  Jim Meyering  <jim@meyering.net>
88292
88293         * modules/stat-macros: New module.
88294         * modules/canonicalize, modules/euidaccess, modules/file-type,
88295         * modules/filemode, modules/lchown, modules/makepath,
88296         * modules/rmdir, modules/stat: Depend on new stat-macros module
88297         rather than listing lib/stat-macros.h manually.
88298         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
88299
88300 2005-03-22  Jim Meyering  <jim@meyering.net>
88301
88302         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
88303
88304 2005-03-22  Bruno Haible  <bruno@clisp.org>
88305
88306         * config/srclist.txt: Replace target directory 'config' with
88307         'build-aux'.
88308         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
88309         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
88310         ../build-aux/.
88311
88312 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
88313
88314         * modules/chdir-long (Depends-on): Add mempcpy.
88315
88316         * modules/acl, modules/backupfile, modules/c-strtod,
88317         modules/c-strtold, modules/canon-host, modules/canonicalize,
88318         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
88319         modules/exclude, modules/exitfail, modules/file-type,
88320         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
88321         modules/getdate, modules/getline, modules/getpagesize,
88322         modules/getpass, modules/getugroups, modules/group-member,
88323         modules/hard-locale, modules/hash, modules/human, modules/idcache,
88324         modules/inttostr, modules/long-options, modules/makepath,
88325         modules/md5, modules/memcasecmp, modules/memcoll,
88326         modules/modechange, modules/mountlist, modules/path-concat,
88327         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
88328         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
88329         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
88330         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
88331         modules/strftime, modules/strndup, modules/strverscmp,
88332         modules/timespec, modules/unlocked-io, modules/userspec,
88333         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
88334         modules/yesno:
88335         Remove lib_SOURCES line from Makefile.am section, as this is now
88336         done automatically by the corresponding Autoconf macro.
88337
88338 2005-03-21  Jim Meyering  <jim@meyering.net>
88339
88340         Changes imported from coreutils.
88341
88342         * lib/cycle-check.c: Don't include xalloc.h.
88343
88344         * lib/path-concat.c: Don't include assert.h.
88345         (path_concat): Remove assertion that would have triggered
88346         for ABASE starting with more than one slash.
88347         Reported by Andreas Schwab.
88348
88349         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
88350         properly when ABASE is an absolute file name.
88351         Correct the description of this function.
88352         Include <assert.h>.
88353         Add an assertion and a test driver.
88354         This fixes a bug introduced on 2004-07-02.
88355         Andreas Schwab reported the resulting failure of cp --parents:
88356         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
88357
88358 2005-03-21  Jim Meyering  <jim@meyering.net>
88359
88360         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
88361         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
88362
88363 2005-03-21  Jim Meyering  <jim@meyering.net>
88364         and  Paul Eggert  <eggert@cs.ucla.edu>
88365
88366         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
88367         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
88368         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
88369         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
88370         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
88371         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
88372         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
88373         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
88374         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
88375         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
88376         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
88377         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
88378         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
88379         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
88380         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
88381         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
88382         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
88383         for these modules.
88384
88385 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
88386
88387         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
88388         (which shouldn't happen), generate nothing instead of returning 0
88389         immediately, so that nstrftime (NULL, ...) doesn't return 0.
88390
88391 2005-03-16  Bruno Haible  <bruno@clisp.org>
88392
88393         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
88394         HAVE_LONGLONG_64BIT.
88395
88396 2005-03-16  Bruno Haible  <bruno@clisp.org>
88397
88398         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
88399         HAVE_LONGLONG_64BIT.
88400
88401 2005-03-16  Bruno Haible  <bruno@clisp.org>
88402
88403         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
88404         HAVE_LONGLONG_64BIT.
88405
88406 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
88407
88408         * lib/strftime.c (my_strftime): Prepend space to format so that we can
88409         reliably distinguish strftime failure from empty output on POSIX
88410         hosts.
88411
88412 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
88413
88414         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
88415         (iconv_string): Don't guess a size-zero buffer, as that might cause
88416         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
88417         result would be 'too large', where 'too large' is (heuristically)
88418         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
88419         overflow concerns.  This will prevent some unwanted malloc failures
88420         when the inputs are very large.
88421
88422 2005-03-15  Karl Berry  <karl@gnu.org>
88423
88424         * config/srclist.txt (config.rpath): from gettext.
88425         * config/config.rpath: update.
88426
88427 2005-03-15  Bruno Haible  <bruno@clisp.org>
88428
88429         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
88430         to 'negate'.
88431
88432         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
88433         variable.
88434
88435         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
88436         results.
88437
88438 2005-03-14  Simon Josefsson  <jas@extundo.com>
88439
88440         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
88441         <fx@gnu.org>.
88442
88443 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
88444
88445         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
88446         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
88447         intprops.h.
88448         * lib/strtol.c: Likewise.
88449
88450 2005-03-14  Jim Meyering  <jim@meyering.net>
88451
88452         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
88453         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
88454         to be nonzero so that we (and caller) can detect the difference
88455         between a valid zero-length expansion and an error return, even
88456         when the underlying strftime fails before writing anything into
88457         that location.
88458
88459 2005-03-14  Bruno Haible  <bruno@clisp.org>
88460
88461         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
88462         Update from GNU gettext 0.14.3.
88463
88464 2005-03-10  Jim Meyering  <jim@meyering.net>
88465
88466         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
88467
88468 2005-03-10  Jim Meyering  <jim@meyering.net>
88469
88470         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
88471         so that this module works on systems without fchdir.
88472
88473 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
88474
88475         Factor int-properties macros into a single file, except for
88476         glibc-related files.
88477         * lib/intprops.h: New file.
88478         * lib/getloadavg.c: Include it instead of limits.h.
88479         (INT_STRLEN_BOUND): Remove.
88480         * lib/human.c: Include intprops.h.
88481         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
88482         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
88483         302/1000.
88484         * lib/inttostr.h: Include intprops.h instead of limits.h.
88485         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
88486         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
88487         for consistency with intprops.h.
88488         (time_t_is_integer, twos_complement_arithmetic): Use them.
88489         * lib/sig2str.h: Include <signal.h>, intprops.h.
88490         (INT_STRLEN_BOUND): Remove.
88491         * lib/strftime.c (TYPE_SIGNED): Remove.
88492         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
88493         * lib/strtol.c: Adjust comments to match intprops.h.
88494         * lib/userspec.c: Include intprops.h.
88495         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
88496         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
88497         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
88498         instead of rolling our own expressions.
88499         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
88500
88501         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
88502         instead of int.
88503         (my_strftime): Do not mishandle years close to INT_MAX, by doing
88504         the right thing even if adding 1900 would overflow.  Similarly
88505         for tm_mon + 1 and tm_yday + 1.
88506         Make %Y always equivalent to %C%y, and similarly for %G and %g.
88507         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
88508         (DO_SIGNED_NUMBER): New macro.
88509         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
88510
88511 2005-03-07  Bruno Haible  <bruno@clisp.org>
88512
88513         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
88514
88515 2005-03-07  Bruno Haible  <bruno@clisp.org>
88516
88517         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
88518
88519 2005-03-04  Derek R. Price  <derek@ximbiot.com>
88520
88521         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
88522         (func_import): Only replace files via --import when they have actually
88523         changed.
88524
88525 2005-03-03  Derek R. Price  <derek@ximbiot.com>
88526
88527         * m4/mmap-anon.m4: New file.
88528         * m4/pagealign_alloc.m4: New file.
88529
88530 2005-03-03  Derek R. Price  <derek@ximbiot.com>
88531             Bruno Haible  <bruno@clisp.org>
88532
88533         * modules/pagealign_alloc: New file.
88534         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
88535
88536 2005-03-03  Derek R. Price  <derek@ximbiot.com>
88537             Bruno Haible  <bruno@clisp.org>
88538
88539         * lib/pagealign_alloc.h: New file.
88540         * lib/pagealign_alloc.c: New file.
88541
88542 2005-03-03  Bruno Haible  <bruno@clisp.org>
88543
88544         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
88545         Use an all-permissive copyright notice, recommended by RMS.
88546
88547 2005-03-02  Bruno Haible  <bruno@clisp.org>
88548
88549         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
88550         of AIX, the replacement has to be done only after <string.h> is
88551         included, therefore not in config.h. stpncpy.h does the replacement,
88552         and stpncpy.c uses it.
88553
88554 2005-03-02  Bruno Haible  <bruno@clisp.org>
88555
88556         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
88557         stpncpy.c uses it.
88558
88559 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
88560
88561         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
88562         The workaround isn't strictly needed for POSIX conformance, and
88563         it's too much of a pain to configure and maintain.  We'll ask
88564         people to fix their kernels instead.
88565         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
88566         (NANOSLEEP_BUG_WORKAROUND): Remove.
88567         (xnanosleep): Remove the workaround.
88568
88569 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
88570
88571         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
88572         Reported by Derek Price.
88573         (Include): Add "timespec.h".
88574
88575         * modules/xnanosleep (Depends-on): Remove gethrxtime.
88576
88577 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
88578
88579         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
88580         to detect nanosleep bug.
88581
88582 2005-03-01  Bruno Haible  <bruno@clisp.org>
88583
88584         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
88585
88586 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
88587
88588         * modules/gethrxtime: New file.
88589         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
88590         (Depends-on): Add gethrxtime.
88591         (configure.ac): Add gl_XNANOSLEEP.
88592         (Makefile.am): Remove lib_SOURCES line.
88593
88594 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
88595
88596         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
88597         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
88598
88599 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
88600
88601         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
88602         * lib/timespec.h (gettime): Return void, since it always
88603         succeeds now.  All uses changed.
88604         * lib/gettime.c (gettime): Likewise.
88605         [HAVE_NANOTIME]: Prefer nanotime.
88606         Assume gettimeofday succeeds, as POSIX requires.
88607         Assime time () succeeds, since other code already does.
88608         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
88609         (timespec_subtract): Remove.
88610         (NANOSLEEP_BUG_WORKAROUND): New constant.
88611         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
88612         things considerably.  Use it only on GNU/Linux hosts, since the
88613         workaround shouldn't be needed elsewhere.
88614
88615 2005-02-24  Bruno Haible  <bruno@clisp.org>
88616
88617         * modules/gettext (Files): Add m4/glibc2.m4.
88618
88619 2005-02-24  Bruno Haible  <bruno@clisp.org>
88620
88621         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
88622         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
88623         * m4/progtest.m4:
88624         Update from GNU gettext 0.14.2.
88625         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
88626
88627 2005-02-24  Bruno Haible  <bruno@clisp.org>
88628
88629         * lib/localcharset.c: Update from GNU gettext 0.14.2.
88630         * lib/config.charset: Update from GNU gettext 0.14.2.
88631
88632 2005-02-24  Bruno Haible  <bruno@clisp.org>
88633
88634         * lib/gettext.h: Update from GNU gettext 0.14.2.
88635
88636 2005-02-23  Simon Josefsson  <jas@extundo.com>
88637
88638         * m4/iconvme.m4: New file.
88639
88640 2005-02-23  Jim Meyering  <jim@meyering.net>
88641
88642         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
88643         change.
88644         Thanks to Bruno Haible for catching it.
88645
88646 2005-02-22  Simon Josefsson  <jas@extundo.com>
88647
88648         * modules/iconvme: New file.
88649
88650         * MODULES.html.sh: Add iconvme.
88651
88652 2005-02-22  Simon Josefsson  <jas@extundo.com>
88653
88654         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
88655
88656 2005-02-22  Simon Josefsson  <jas@extundo.com>
88657
88658         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
88659
88660 2005-02-22  Jim Meyering  <jim@meyering.net>
88661
88662         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
88663         s/ifndef/ifdef/.
88664
88665 2005-02-20  Neil Conway  <neilc@samurai.com>
88666
88667         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
88668         returned by OSX/Darwin if the specified buffer is not large
88669         enough for the hostname.
88670
88671 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88672
88673         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
88674         pass it to _help, otherwise the latter coredumps trying to
88675         dereference state.root_argp.
88676
88677 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88678
88679         * modules/chdir-long (Depends-on): Add memrchr.
88680         * modules/memrchr (Files): Add lib/memrchr.h.
88681         (Include): "memrchr.h".
88682
88683 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88684
88685         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
88686
88687 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88688
88689         * lib/memrchr.h: New file.
88690         * lib/chdir-long.c: Include it.
88691         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
88692         Don't bother including stddef.h.
88693
88694 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
88695
88696         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
88697         inclusion.
88698         Include <sys/types.h>, for dev_t.
88699         (ME_DUMMY, ME_REMOTE): Move from here....
88700         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
88701         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
88702         Dmitry V. Levin.
88703         Include mountlist.h first, to test the interface.
88704
88705 2005-01-29  Bruno Haible  <bruno@clisp.org>
88706
88707         * lib/progname.c (program_name): Initialize.
88708         Needed when linking statically on MacOS X.
88709
88710 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
88711
88712         Sync from coreutils.
88713         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
88714         (Depends-on): Add c-strtod.
88715         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
88716
88717 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
88718
88719         Sync from coreutils.
88720         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
88721
88722         Remove files that are specific to coreutils.
88723         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
88724
88725 2005-01-28  Bruno Haible  <bruno@clisp.org>
88726
88727         * modules/javacomp: New file.
88728         * MODULES.html.sh (Java): Add javacomp.
88729
88730 2005-01-28  Bruno Haible  <bruno@clisp.org>
88731
88732         * m4/javacomp.m4: New file, from GNU gettext.
88733
88734 2005-01-28  Bruno Haible  <bruno@clisp.org>
88735
88736         * lib/javacomp.sh.in: New file, from GNU gettext.
88737         * lib/javacomp.h: New file, from GNU gettext.
88738         * lib/javacomp.c: New file, from GNU gettext.
88739
88740 2005-01-26  Simon Josefsson  <jas@extundo.com>
88741
88742         * lib/gai_strerror.c: Use GPL in header.
88743
88744 2005-01-26  Bruno Haible  <bruno@clisp.org>
88745
88746         * modules/javaexec: New file.
88747         * MODULES.html.sh (Java): Add javaexec.
88748
88749 2005-01-26  Bruno Haible  <bruno@clisp.org>
88750
88751         * m4/javaexec.m4: New file, from GNU gettext.
88752
88753 2005-01-26  Bruno Haible  <bruno@clisp.org>
88754
88755         * lib/javaexec.sh.in: New file, from GNU gettext.
88756         * lib/javaexec.h: New file, from GNU gettext.
88757         * lib/javaexec.c: New file, from GNU gettext.
88758
88759 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88760
88761         * modules/lchown (Depends-on): Remove lchown.h
88762
88763 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88764
88765         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
88766         must be defined if the header file was not found, in order
88767         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
88768
88769 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88770
88771         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
88772         initializers for struct pentry_state.
88773         (__argp_error): Check return value of __asprintf
88774         (__argp_failure): Translate error message
88775
88776         * lib/argp-parse.c: Removed braces around the expansion of N_()
88777
88778 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
88779
88780         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
88781         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
88782         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
88783         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
88784         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
88785         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
88786         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
88787         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
88788         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
88789         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
88790         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
88791         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
88792         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
88793         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
88794         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
88795         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
88796         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
88797         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
88798         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
88799         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
88800         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
88801         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
88802         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
88803         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
88804         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
88805         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
88806         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
88807         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
88808         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
88809         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
88810         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
88811         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
88812         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
88813         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
88814         xstrtol.m4, xstrtoumax.m4, yesno.m4:
88815         Use an all-permissive copyright notice, recommended by RMS.
88816
88817 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
88818
88819         * modules/chdir-long (Depends-on): Remove mempcpy.
88820
88821 2005-01-21  Jim Meyering  <jim@meyering.net>
88822
88823         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
88824         same value as for Solaris 9.
88825
88826         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
88827         component length.  This included changing the parameter to be
88828         of type `char *' rather than `char const *'.
88829         * lib/chdir-long.h (chdir_long): Update prototype.
88830
88831         * lib/openat.c (fdopendir, fstatat): New functions.
88832         * lib/openat.h: Include headers required for use of DIR and struct
88833         stat.
88834         [AT_SYMLINK_NOFOLLOW]: Define.
88835         (fdopendir, fstatat): Add prototypes.
88836
88837 2005-01-21  Bruno Haible  <bruno@clisp.org>
88838
88839         * modules/classpath: New file.
88840         * MODULES.html.sh (Java): Add classpath.
88841
88842 2005-01-21  Bruno Haible  <bruno@clisp.org>
88843
88844         * lib/classpath.h: New file, from GNU gettext.
88845         * lib/classpath.c: New file, from GNU gettext.
88846
88847 2005-01-20  Simon Josefsson  <jas@extundo.com>
88848
88849         * modules/version-etc-fsf: New file.
88850
88851 2005-01-20  Simon Josefsson  <jas@extundo.com>
88852
88853         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
88854         * lib/version-etc.c: Remove version_etc_copyright.
88855         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
88856         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
88857
88858 2005-01-20  Simon Josefsson  <jas@extundo.com>
88859
88860         * lib/base64.h (isbase64): Add.
88861
88862         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
88863         using a unsigned prototype, don't inline.
88864         (base64_decode): Use it.
88865
88866 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88867
88868         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
88869         it.
88870
88871 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88872
88873         * lib/save-cwd.c (save_cwd): Remove code to support the case
88874         where fchdir is missing or flaky.
88875
88876 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88877
88878         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
88879
88880 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
88881
88882         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
88883         AC_LIBSOURCES now does this.
88884         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
88885         with new ullong_max module.
88886
88887 2005-01-19  Bruno Haible  <bruno@clisp.org>
88888
88889         * modules/sh-quote: New file.
88890         * MODULES.html.sh (Executing programs): Add sh-quote.
88891
88892 2005-01-19  Bruno Haible  <bruno@clisp.org>
88893
88894         * lib/sh-quote.h: New file, from GNU gettext.
88895         * lib/sh-quote.c: New file, from GNU gettext.
88896
88897 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88898
88899         Merge from coreutils.
88900         * m4/ullong_max.m4: New file.
88901         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
88902         (gl_MACROS): Assume localeconv exists.
88903
88904 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88905
88906         Merge changes from coreutils, as described below in several
88907         changelogs dated today.
88908
88909         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
88910         (O_DIRECTORY): Remove; not needed here, since "." must be
88911         a directory.  All uses removed.
88912         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
88913         universal on Suns, and we also need to test for IRIX.
88914         Revamp code to use 'if' rather than '#if'.
88915         Avoid unnecessary comparison of cwd->desc to 0.
88916
88917         * lib/utimens.c (futimens): Robustify the previous patch, by checking
88918         for known valid error numbers rather than observed invalid ones.
88919
88920 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88921
88922         * modules/ullong_max: New file.
88923
88924         * modules/chdir-long, modules/openat: New files.
88925         * modules/save-cwd (Depends-on): Depend on chdir-long.
88926         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
88927
88928 2005-01-18  Jim Meyering  <jim@meyering.net>
88929
88930         Merge from coreutils.
88931         * m4/chdir-long.m4, m4/openat.m4: New files.
88932         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
88933         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
88934         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
88935         is sane and DOES follow symlinks.  Besides, testing 20 different
88936         systems found no broken chown implementations.
88937         Prompted by a change in rsync's copy of this macro.
88938         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
88939
88940         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
88941
88942         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
88943         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
88944         NULL-means-set-to-current-time semantics.
88945         Remove temporary file immediately, rather than waiting
88946         for configure's at-exit trap code to do it.
88947
88948 2005-01-18  Jim Meyering  <jim@meyering.net>
88949
88950         * lib/version-etc.c (version_etc_copyright): Update copyright date.
88951
88952         * lib/utimens.c (futimens): Account for the fact that futimes
88953         can also fail with errno == ENOSYS or errno == ENOENT.
88954         Patch from Dmitry V. Levin.
88955
88956         Change the name of the robust chdir function from chdir to chdir_long.
88957         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
88958         (restore_cwd): Use chdir_long, not chdir.
88959         * lib/chdir-long.c: Renamed from chdir.c.
88960         * lib/chdir-long.h: Renamed from chdir.h.
88961         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
88962         Hurd.
88963
88964 2005-01-18  Bruno Haible  <bruno@clisp.org>
88965
88966         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
88967         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
88968         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
88969         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
88970         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
88971         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
88972         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
88973         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
88974         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
88975         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
88976         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
88977         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
88978         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
88979         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
88980         Use an all-permissive copyright notice, recommended by RMS.
88981
88982 2005-01-18  Bob Proulx  <bob@proulx.com>
88983
88984         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
88985         simplify offsetof() macro construct to avoid compile failure with
88986         native HP-UX 11.0 ANSI C compiler.
88987
88988 2005-01-17  Bruno Haible  <bruno@clisp.org>
88989
88990         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
88991         redundant because stpncpy.m4 takes care of it.
88992
88993 2005-01-17  Bruno Haible  <bruno@clisp.org>
88994
88995         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
88996
88997 2005-01-17  Bruno Haible  <bruno@clisp.org>
88998
88999         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
89000         used.
89001
89002 2005-01-17  Bruno Haible  <bruno@clisp.org>
89003
89004         * lib/fwriteerror.h (fwriteerror): Change specification to include
89005         fclose.
89006         * lib/fwriteerror.c: Include <stdbool.h>.
89007         (fwriteerror): At the end, close the file stream. Record whether
89008         stdout was already closed.
89009
89010 2005-01-17  Bruno Haible  <bruno@clisp.org>
89011
89012         * lib/execute.c (environ): Declare if needed.
89013         * lib/pipe.c (environ): Likewise.
89014         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
89015
89016 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89017
89018         * modules/argp: Depend on vsnprintf
89019
89020 2005-01-10  Jim Meyering  <jim@meyering.net>
89021
89022         * modules/closeout (Depends-on): Add atexit.
89023
89024 2005-01-06  Bruno Haible  <bruno@clisp.org>
89025
89026         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
89027
89028 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
89029
89030         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
89031         definitions to be after all include files, to avoid collisions.
89032         Problem reported by Bob Proulx.
89033
89034 2005-01-04  Jim Meyering  <jim@meyering.net>
89035
89036         Changes imported from coreutils.
89037         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
89038         as the mkstemp template, use a temporary directory and an
89039         8.3-friendly template to avoid trouble on systems like DJGPP.
89040         Reported by Juan M. Guerrero via Stepan Kasal.
89041         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
89042         close. Remove the temporary directory right away, rather than waiting
89043         for configure's at-exit trap code to do it.
89044         Suggestion from Stepan Kasal.
89045
89046 2005-01-01  Simon Josefsson  <jas@extundo.com>
89047
89048         * gnulib-tool: Print #include directives when --import'ing.
89049
89050 2004-12-28  Simon Josefsson  <jas@extundo.com>
89051
89052         * tests/test-base64.c: Include required header files.  Remove
89053         unused variables.
89054
89055 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
89056
89057         * modules/error (Depends-on): Remove gettext.
89058
89059 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
89060
89061         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
89062         not needed.  This removes a dependency on the gettext module.
89063         [defined _LIBC]: Do not include <libintl.h>; not needed.
89064
89065 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
89066
89067         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
89068         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
89069
89070 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
89071
89072         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
89073         HAVE_DECL_STRTOLD.
89074
89075 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
89076
89077         * modules/getdate (Depends-on): Remove alloca-opt.
89078
89079 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
89080
89081         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
89082
89083 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
89084
89085         * lib/argp-parse.c: Include <stddef.h>.
89086         (alignof, alignto): New macros.
89087         (parser_init): Don't assume that void * is aligned sufficiently
89088         for struct option.
89089
89090         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
89091         need to extend the stack.
89092         (YYINITDEPTH): New macro, so that the initial stack isn't overly
89093         large.
89094
89095 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89096
89097         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
89098
89099 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
89100
89101         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
89102         (2004-10-24) change.  Apparently this was a false alarm.
89103
89104         * modules/getdate: Depend on alloca-opt, not alloca.
89105
89106 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
89107
89108         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
89109         Remove now-obsolete comment about AIX.
89110         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
89111         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
89112         (YYMAXDEPTH): New macro.
89113
89114 2004-12-18  Simon Josefsson  <jas@extundo.com>
89115
89116         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
89117
89118 2004-12-18  Bruno Haible  <bruno@clisp.org>
89119
89120         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
89121
89122 2004-12-18  Bruno Haible  <bruno@clisp.org>
89123
89124         * lib/fatal-signal.c (fatal_signals): Make non-const.
89125         (init_fatal_signals): New function.
89126         (uninstall_handlers, install_handlers): Ignore signals that were set to
89127         SIG_IGN.
89128         (at_fatal_signal): Call init_fatal_signals.
89129         (init_fatal_signal_set): Likewise. Ignore signals that were set to
89130         SIG_IGN.
89131         Reported by Paul Eggert.
89132
89133 2004-12-18  Bruno Haible  <bruno@clisp.org>
89134
89135         * doc/alloca.texi: New file.
89136         * doc/alloca-opt.texi: New file.
89137
89138 2004-12-17  Jim Meyering  <jim@meyering.net>
89139
89140         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
89141         Otherwise, install-sh could exit with improper exit status when
89142         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
89143
89144 2004-12-16  Simon Josefsson  <jas@extundo.com>
89145
89146         * tests/test-base64.c: Add license.
89147
89148 2004-12-15  Stepan Kasal  <address@hidden>
89149
89150         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
89151
89152 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
89153
89154         * modules/getcwd (Files): Add m4/d-ino.m4.
89155         Suggested by Mark D. Baushke.
89156
89157 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
89158
89159         * lib/getdate.y (textint): New member "negative".
89160         (time_zone_hhmm): New function.
89161         Expect 14 shift-reduce conflicts, not 13.
89162         (o_colon_minutes): New rule.
89163         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
89164         (yylex): Set the "negative" member of signed numbers.
89165
89166 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
89167
89168         * doc/getdate.texi (Time of day items, Time zone items):
89169         Describe new formats +00:00, UTC+00:00.
89170
89171 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
89172
89173         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
89174         spurious "-l"s.  Problem reported by Stepan Kasal.
89175
89176 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
89177
89178         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
89179         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
89180
89181 2004-12-04  Simon Josefsson  <jas@extundo.com>
89182
89183         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
89184         Vandoorselaere <yoann@prelude-ids.org>.
89185
89186 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
89187
89188         Changes imported from coreutils.
89189         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
89190         exist.
89191         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
89192
89193 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
89194
89195         Changes imported from coreutils.
89196         * lib/hard-locale.c: Assume <locale.h> exists.
89197         Include "strdup.h".
89198         (GLIBC_VERSION): New macro.
89199         (hard_locale): Assume setlocale exists.
89200         Rewrite to avoid #ifdef.
89201         Use strdup rather than malloc + strcpy.
89202         * lib/human.c: Assume <locale.h> exists.
89203         (human_readable): Assume localeconv exists.
89204
89205 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
89206
89207         * modules/hard-locale (Depends-on): Add strdup.
89208
89209 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
89210
89211         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
89212         convert T2, not T.  (Imported from libc.)
89213
89214 2004-11-30  Simon Josefsson  <jas@extundo.com>
89215
89216         * modules/restrict (License): Change to LGPL.
89217
89218 2004-11-30  Simon Josefsson  <jas@extundo.com>
89219
89220         * m4/restrict.m4: Add copyright and copying conditions.
89221
89222 2004-11-30  Simon Josefsson  <jas@extundo.com>
89223
89224         * m4/base64.m4: New file.
89225
89226 2004-11-30  Simon Josefsson  <jas@extundo.com>
89227
89228         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
89229         base64.
89230
89231         * tests/test-base64.c: New file.
89232
89233         * modules/base64: New file.
89234
89235 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
89236
89237         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
89238         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
89239
89240         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
89241
89242 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
89243
89244         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
89245         (__getcwd.c): Don't restore errno; glibc doesn't.
89246         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
89247         first, falling back to our code only if its results look suspicious.
89248         Ensure that the resulting buffer is only as large as necessary.
89249
89250         * lib/readutmp.c: Include readutmp.h first.
89251         Include <errno.h>, since readutmp.h no longer does that.
89252         * lib/readutmp.h: Don't include <errno.h>,
89253         <sys/param.h>, <time.h>; not needed to establish interface.
89254         (errno): Remove decl.
89255         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
89256         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
89257         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
89258
89259 2004-11-28  Simon Josefsson  <jas@extundo.com>
89260
89261         * lib/base64.h, base64.c: New file.
89262
89263 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
89264
89265         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
89266
89267 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
89268
89269         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
89270         (Depends-on): Remove pathmax, same.  Add mempcpy.
89271         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
89272         (Makefile.am): Append getcwd.h to lib_SOURCES.
89273         (Include): Add getcwd.h.
89274         (Maintainer): Change from Jim Meyering to "all, glibc",
89275         since getdate now uses intended-for-glibc code.
89276         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
89277         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
89278
89279 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
89280
89281         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
89282         HP's ANSI C compiler.
89283         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
89284         Declaring int functions causes warnings on some modern systems and
89285         shouldn't be needed to compile on ancient ones.
89286         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
89287         defined.
89288
89289         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
89290         with the following changes.
89291         (__set_errno): Parenthesize properly.
89292         Include <stdbool.h>.
89293         (MIN, MAX, MATCHING_INO): New macros.
89294         (__getcwd): Define with prototype, not K&R form.
89295         Use heuristics to allocate default buffer on stack if possible.
89296         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
89297         behavior, and to avoid the PATH_MAX limit when computing
89298         ../../../../...
89299         Use MATCHING_INO to compare inode number to file.
89300         Check for arithmetic overflow in size calculations.
89301         Fix bug in reallocation of dot array that caused getcwd to fail
89302         on directories nested deeper than 75.
89303         Be more careful about saving errno on error.
89304         Do not use realloc; use only free+malloc, as this is a bit
89305         more flexible and avoids a needless copy operation.
89306         Do not inspect st_dev and st_ino for symbolic links; POSIX
89307         doesn't specify the latter.
89308         Check for closedir errors.
89309         Avoid needless casts.
89310         Use "#ifdef weak_alias" around weak_alias, to be like other
89311         glibc code.
89312         The following changes to getcwd.c have effect only when used in
89313         gnulib; they have no effect inside glibc proper.
89314         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
89315         as alloca isn't used.
89316         (alloca, __alloca): Likewise.
89317         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
89318         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
89319         unconditionally, as gnulib assumes C89 or better.
89320         Do not include <sys/param.h>.
89321         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
89322         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
89323         better.
89324         (NULL) [!defined NULL]: Remove; we assume C89 or better.
89325         Include <dirent.h> in a way that is compatible with modern Autoconf.
89326         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
89327         New macros, if not already defined.
89328         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
89329         Use "_LIBC", not "defined _LIBC", for consistency.
89330         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
89331         a mempcpy module.
89332         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
89333         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
89334         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
89335         credit only to Jim Meyering and adjust the copyright dates.
89336         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
89337         <stdlib.h>, <unistd.h>, "pathmax.h".
89338         Instead, include "xgetcwd.h" (first) and "getcwd.h".
89339         (INITIAL_BUFFER_SIZE): Remove.
89340         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
89341
89342 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
89343
89344         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
89345         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
89346         Use the _ONCE methods, for efficiency.
89347         Check for fcntl.h.  In test program, include <errno.h>
89348         and <fcntl.h> if available.  Remove old K&R cruft from
89349         test program.  Check for common errors in GNU/Linux,
89350         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
89351         don't do AC_LIBOBJ, as that's getcwd.m4's job.
89352         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
89353         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
89354         name accordingly.
89355         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
89356         accommodate new getcwd.c.
89357         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
89358         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
89359         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
89360         that's all we need now.
89361
89362 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89363
89364         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
89365         argp-parse.c depends on getopt internals, that means we should
89366         always use our getopt, to be on the safe side.
89367         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
89368         order not to spoil the result of an eventual previous invocation
89369         of gl_GETOPT_SUBSTITUTE.
89370
89371 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89372
89373         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
89374         redefinition warnings. To avoid them, include the defines
89375         in `#if !defined __need_getopt ... #endif'. The only place
89376         where __getopt_argv_const is used is in definitions
89377         of getopt_long and getopt_long_only below, which are as well
89378         protected by `#ifndef __need_getopt'.
89379         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
89380         __need_getopt after including <stdio.h> and <unistd.h> These
89381         headers might have defined it.
89382
89383 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
89384
89385         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
89386
89387 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
89388
89389         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
89390         (futimens): New function, which uses futimes if available.
89391         (futimens, utimens): Support timespec==NULL, with same semantics
89392         as utime and utimens.
89393         * lib/utimens.h (futimens): New decl.
89394
89395 2004-11-23  Jim Meyering  <jim@meyering.net>
89396
89397         * lib/getopt_.h: Remove trailing blanks.
89398
89399 2004-11-23  Jim Meyering  <jim@meyering.net>
89400
89401         * lib/__fpending.c: Add comment.
89402
89403 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
89404
89405         * modules/canonicalize (Depends-on): Add xreadlink.
89406         Problem reported by James Youngman.
89407
89408 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
89409
89410         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
89411         New macros.
89412         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
89413         optopt): Use them instead of invoking ## directly; otherwise, the
89414         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
89415
89416 2004-11-19  Bruno Haible  <bruno@clisp.org>
89417
89418         * lib/strtok_r.c: Move comments from here...
89419         * lib/strtok_r.h: ... to here.
89420
89421 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
89422
89423         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
89424         implementations that mishandle size_t overflow.
89425
89426 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
89427
89428         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
89429         might fail.  Problem reported by Yoann Vandoorselaere.
89430         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
89431         implementations that mishandle size_t overflow.
89432
89433 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89434
89435         * modules/canon-host (Depends-on): Add strdup.
89436
89437 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89438
89439         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
89440
89441 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89442
89443         * lib/canon-host.c: Include "strdup.h".
89444         (canon_host): Use getaddrinfo if available, so that IPv6 works.
89445         Use strdup instead of malloc/strcpy to duplicate strings.
89446
89447         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
89448         (human_space_before_unit): New constant.
89449         * lib/human.c (human_readable): Support it.
89450
89451         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
89452         (xgetcwd): Set errno correctly when failing.
89453         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
89454         the failure is actually due to a PATH_MAX problem.
89455
89456         Further getopt changes to make it more likely that glibc will
89457         buy the changes back.
89458         * lib/getopt.c (POSIXLY_CORRECT): New constant.
89459         (getopt): Use it, so to preserve glibc semantic
89460         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
89461         when compiling for libc.
89462         * lib/getopt_.h (__getopt_argv_const): Bring it back.
89463         (getopt_long, getopt_long_only): Use it.
89464
89465         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
89466         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
89467         (getopt): Argv is now char * const *, as per standard.
89468         (_getopt_internal_r, _getopt_internal): Argv is now char **,
89469         not char *__getopt_argv_const *.
89470         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
89471         _getopt_long_only_r): Likewise.
89472         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
89473         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
89474         _getopt_long_r, _getopt_long_only_r): Likewise.
89475         * lib/getopt_.h (__getopt_argv_const): Remove.
89476         (getopt): Argv is now char * const *, as per standard.
89477
89478         * lib/getdate.y (tORDINAL): New token.
89479         (day, relunit): Allow it for relative times.
89480         (relative_time_table): Use tORDINAL for ordinals.
89481
89482 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89483
89484         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
89485         Document that "second" isn't allowed as an ordinal number.
89486
89487 2004-11-16  Jim Meyering  <jim@meyering.net>
89488
89489         * modules/closeout (Depends-on): Add fpending.
89490
89491 2004-11-15  Jim Meyering  <jim@meyering.net>
89492
89493         * lib/closeout.c: Include "__fpending.h" once again.
89494         Include <stdbool.h>.
89495         (close_stdout): Don't fail just because stdout was closed initially,
89496         since some programs don't write to stdout in the normal course of
89497         operation (other than --version and --help), and we don't want this
89498         function to make e.g. `touch file >&-' fail.
89499         But do fail if it was closed and someone has tried to write to it.
89500         E.g., `printf foo >&-' must fail.
89501
89502 2004-11-13  Jim Meyering  <jim@meyering.net>
89503
89504         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
89505
89506 2004-11-12  Simon Josefsson  <jas@extundo.com>
89507
89508         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
89509         small doc fix is still pending.
89510
89511 2004-11-11  Simon Josefsson  <jas@extundo.com>
89512
89513         * modules/strtok_r: New file.
89514
89515         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89516         strtok_r.
89517
89518 2004-11-11  Simon Josefsson  <jas@extundo.com>
89519
89520         * m4/strtok_r.m4: New file.
89521
89522         * m4/getopt.m4: Replace opterr.
89523
89524 2004-11-11  Simon Josefsson  <jas@extundo.com>
89525
89526         * lib/strtok_r.h, strtok_r.c: New file.
89527
89528 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
89529
89530         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
89531         of replacing opterr, getopt, etc.  This should handle the
89532         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
89533
89534 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
89535
89536         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
89537         we can stop lying to compilers about the constness of argv when we
89538         are compiled outside glibc.
89539         (getopt, getopt_long, getopt_long_only): Use it.
89540         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
89541         _getopt_internal, getopt): Likewise.
89542         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
89543         _getopt_long_only_r): Likewise.
89544         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
89545         _getopt_long_r, _getopt_long_only_r): Likewise.
89546
89547         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
89548         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
89549         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
89550         the other external symbols.
89551         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
89552         declaration, since the above renaming now works around collisions.
89553
89554 2004-11-11  Jim Meyering  <jim@meyering.net>
89555
89556         * lib/linebreak.c: Remove trailing blanks.
89557         * lib/alloca_.h: Likewise.
89558         * lib/acosl.c: Likewise.
89559         * lib/euidaccess.c: Likewise.
89560         * lib/allocsa.h: Likewise.
89561
89562 2004-11-10  Simon Josefsson  <jas@extundo.com>
89563
89564         * m4/getaddrinfo.m4: New file.
89565
89566 2004-11-10  Simon Josefsson  <jas@extundo.com>
89567
89568         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
89569
89570 2004-11-10  Simon Josefsson  <jas@extundo.com>
89571
89572         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89573         getaddrinfo.
89574
89575         * modules/getaddrinfo: New file.
89576
89577 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
89578
89579         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
89580
89581 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
89582
89583         * lib/mktime.c (SHR): New macro, which is a portable
89584         substitute for >> that should work even on Crays.
89585         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
89586         Problem reported by Mark D. Baushke in
89587         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
89588         * lib/getdate.y (SHR): Likewise.
89589         (tm_diff): Use it.
89590         * lib/strftime.c (SHR): Likewise.
89591         (tm_diff): Use it.
89592         * lib/quotearg.c (struct quoting_options): Use unsigned int for
89593         quote_these_too, so that right shifts are well defined.  All uses
89594         changed.
89595
89596 2004-11-10  Jim Meyering  <jim@meyering.net>
89597
89598         Ensure that no close failure goes unreported.
89599         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
89600         return early when it seems there's nothing to flush.
89601         Don't include __fpending.h.
89602
89603 2004-11-10  Jim Meyering  <jim@meyering.net>
89604
89605         * modules/closeout (Depends-on): Remove fpending.
89606
89607 2004-11-10  Jim Meyering  <jim@meyering.net>
89608
89609         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
89610
89611 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
89612
89613         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
89614         gl_FUNC_STRFTIME.
89615         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
89616         and AC_REQUIRE when possible, to avoid duplicate checks.
89617         Check for <wchar.h>.
89618
89619 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
89620
89621         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
89622
89623 2004-11-09  Bruno Haible  <bruno@clisp.org>
89624
89625         * m4/sockpfaf.m4: New file.
89626
89627 2004-11-05  Bruno Haible  <bruno@clisp.org>
89628
89629         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
89630         Reported by Mark D. Baushke <mdb@cvshome.org>.
89631
89632 2004-11-04  Bruno Haible  <bruno@clisp.org>
89633
89634         2004-09-11  Bruno Haible  <bruno@clisp.org>
89635                 * allocsa.valgrind: New file.
89636         2004-02-06  Bruno Haible  <bruno@clisp.org>
89637                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
89638                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
89639                 Reported by Christopher Seip <chris.seip@hp.com>.
89640
89641 2004-11-04  Bruno Haible  <bruno@clisp.org>
89642
89643         * modules/allocsa (Files): Add lib/allocsa.valgrind.
89644         (Makefile.am): Distribute it.
89645
89646 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
89647
89648         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
89649         with errno == ERANGE if the buffer is too small.
89650         Problem reported by Mark D. Baushke.
89651
89652 2004-11-03  Albert Chin  <china@thewrittenword.com>
89653             Paul Eggert  <eggert@cs.ucla.edu>
89654
89655         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
89656         equivalent, substitute $ac_type for equivalent type rather than
89657         blindly using uint32_t *always* which won't work if uint32_t is not
89658         available.  Define _UINT32_T to work around typedef of uint32_t if
89659         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
89660         2.5.1.
89661
89662 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89663
89664         * m4/jm-macros.m4: Sync from coreutils.
89665         (gl_MACROS): Check for mbrlen, for pathchk.
89666         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
89667
89668 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89669
89670         * lib/xreadlink.c (MAXSIZE): New macro.
89671         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
89672         size does not exceed MAXSIZE.  Avoid cast.
89673         As suggested by Mark D. Baushke in
89674         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
89675         if readlink fails with buffer size just under MAXSIZE, try again
89676         with MAXSIZE.
89677
89678 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89679
89680         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
89681
89682 2004-11-02  Derek R. Price  <derek@ximbiot.com>
89683         and  Paul Eggert  <eggert@cs.ucla.edu>
89684
89685         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
89686         (get_date): Overparenthesize to avoid GCC warning.
89687
89688 2004-11-02  Bruno Haible  <bruno@clisp.org>
89689
89690         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
89691         returns void.
89692
89693 2004-11-02  Bruno Haible  <bruno@clisp.org>
89694
89695         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
89696         function returns void.
89697
89698 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
89699
89700         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
89701         fflush_unlocked, flockfile, funlockfile, funlockfile,
89702         fputs_unlocked, putc_unlocked.
89703
89704 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
89705
89706         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
89707         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
89708         already declared.
89709
89710 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89711
89712         * modules/getdate (Files): Add doc/getdate.texi.
89713         (Depends-on): Add setenv, xalloc.
89714
89715 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89716
89717         * lib/getdate.y: Add support for TZ="foo" within a date string.
89718         Fix some bugs near time_t boundaries.  Reject dates with
89719         out-of-range components, e.g., "Sept 31".
89720         Include <stdlib.h>, "setenv.h", "xalloc.h".
89721         (ISDIGIT_LOCALE): Remove; unused.
89722         Note that the TZ and time functions used here are not reentrant.
89723         (mktime_ok, get_tz): New functions.
89724         (TZBUFSIZE): New constant.
89725         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
89726         This requires that we sometimes generate our own TZ="XXX..." setting.
89727
89728 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89729
89730         * doc/getdate.texi: New file, from coreutils with modifications for
89731         the new TZ parsing.
89732
89733 2004-10-27  Derek R. Price  <derek@ximbiot.com>
89734
89735         * lib/mktime.c (not_equal_tm): Remove redundant check.
89736
89737 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
89738
89739         * modules/regex (lib_SOURCES): Add regex.c.
89740         Reported by James Youngman in
89741         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
89742
89743 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
89744
89745         * lib/getdate.y: Use Bison 1.875 features, and some minor
89746         code cleanups.  This change does not affect semantics.
89747         Don't include <stdlib.h>; no longer needed.
89748         Don't include unlocked-io.h; only the "#if TEST" code uses
89749         stdio, and performance isn't crucial there.
89750         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
89751         Bison 1.875 features as described below.
89752         All uses of "PC." replaced by "pc->".
89753         (YYSTYPE): Add a forward declaration.
89754         (yylex, yyerror): Use full prototypes in forward decls.
89755         Use "%pure-parser" rather than obsolescent "%pure_parser".
89756         Use %parse-param and %lex-param instead of obsolescent
89757         YYPARSE_PARAM and YYLEX_PARAM.
89758         (meridian_table, month_and_day_table, time_units_table,
89759         relative_time_table, time_zone_table, military_table,
89760         lookup_zone, lookup_word, get_date):
89761         Use NULL instead of 0 where appropriate.
89762         (to_hour): Avoid abort (), to avoid a dependency on
89763         stdlib.h.
89764         (yyerror, yylex): Now accepts parser_control * arg.
89765         (main) [TEST]: Use '\0' rather than 0 for char.
89766
89767 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89768
89769         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
89770
89771 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89772
89773         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
89774         It's now the caller's responsibility to handle the case where
89775         !HAVE_GETPAGESIZE && !defined getpagesize.
89776
89777         * lib/mktime.c (leapyear): Arg is long int, not int.
89778
89779 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
89780
89781         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
89782
89783 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
89784
89785         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
89786         missing.  Problem reported by James Youngman.
89787
89788 2004-10-16  Simon Josefsson  <jas@extundo.com>
89789
89790         * gnulib-tool: Fix comments.  Fix parse problem.
89791         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
89792
89793 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
89794
89795         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
89796         implementation of getopt_long.  Problem reported by Alexander Taler in:
89797         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
89798
89799 2004-10-15  Bruno Haible  <bruno@clisp.org>
89800
89801         * gnulib-tool: Untabify. Initialize supplied_libname.
89802         (func_usage): More homogenous output.
89803         (func_modules_transitive_closure, func_modules_to_filelist,
89804         func_emit_lib_Makefile_am): New functions.
89805         (func_import): New function, extracted from big case statement. Use
89806         func_get_license, func_modules_transitive_closure,
89807         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
89808         opt_lgpl. Don't use test -a, as it's not portable.
89809         (func_create_testdir): Use func_modules_transitive_closure,
89810         func_modules_to_filelist, func_emit_lib_Makefile_am.
89811
89812 2004-10-15  Bruno Haible  <bruno@clisp.org>
89813
89814         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
89815
89816 2004-10-15  Bruno Haible  <bruno@clisp.org>
89817
89818         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
89819         the portions belonging to each module.
89820         Suggested by Derek Robert Price <derek@ximbiot.com>.
89821
89822 2004-10-12  Simon Josefsson  <jas@extundo.com>
89823
89824         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
89825         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
89826         to real functions.
89827
89828 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89829
89830         * modules/vsnprintf: New file.
89831
89832 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89833
89834         * m4/vsnprintf.m4: New file.
89835
89836 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89837
89838         * lib/vsnprintf.h: New file.
89839         * lib/vsnprintf.c: New file.
89840
89841 2004-10-11  Bruno Haible  <bruno@clisp.org>
89842
89843         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
89844         vsnprintf.
89845
89846 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
89847
89848         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
89849
89850 2004-10-07  Bruno Haible  <bruno@clisp.org>
89851
89852         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
89853         fits into the provided buffer.
89854
89855 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
89856
89857         * lib/diacrit.c, diacrit.h: Add GPL notice.
89858
89859         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
89860         notice.
89861         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
89862         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
89863         This avoids a potential constant-folding bug.
89864
89865 2004-10-05  Bruno Haible  <bruno@clisp.org>
89866
89867         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
89868         for the declaration of strsep.
89869
89870 2004-10-05  Bruno Haible  <bruno@clisp.org>
89871
89872         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
89873
89874 2004-10-04  Simon Josefsson  <jas@extundo.com>
89875
89876         * modules/memmem: New file.
89877         * tests/test-memmem.c: New file.
89878         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
89879
89880 2004-10-04  Simon Josefsson  <jas@extundo.com>
89881
89882         * m4/memmem.m4: New file.
89883
89884 2004-10-04  Simon Josefsson  <jas@extundo.com>
89885
89886         * lib/memmem.h: New file.
89887         * lib/memmem.c: New file, taken from glibc.
89888
89889 2004-10-04  Simon Josefsson  <jas@extundo.com>
89890
89891         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
89892         '#ifdef USE_UNLOCKED_IO'.
89893
89894 2004-10-04  Simon Josefsson  <jas@extundo.com>
89895
89896         * config/srclist.txt: Add memmem from glibc.
89897
89898 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89899
89900         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
89901
89902         * modules/argmatch, modules/argp, modules/closeout, modules/error,
89903         modules/exclude, modules/getdate, modules/getline,
89904         modules/getndelim2, modules/getpass, modules/getpass-gnu,
89905         modules/getusershell, modules/linebuffer, modules/md5,
89906         modules/mountlist, modules/posixtm, modules/readtokens,
89907         modules/readutmp, modules/regex, modules/sha1,
89908         modules/version-etc, modules/yesno:
89909         Remove dependency on unlocked-io.
89910
89911 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89912
89913         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
89914
89915         * m4/unlocked-io.m4: Add copyright notice.
89916         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
89917
89918 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89919
89920         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
89921         * lib/xmalloc.c (xmemdup): Likewise.
89922         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
89923         XFREE): Remove these long-obsolescent macros.
89924         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
89925         * lib/xstrdup.c: Remove.
89926
89927         * lib/regex.c (re_comp): Cast gettext return value to char *,
89928         Problem reported by Martin Neitzel via Mark D. Baushke.
89929
89930 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89931
89932         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
89933         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
89934         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
89935         regex.c, sha1.c, version-etc.c, yesno.c:
89936         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
89937         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
89938         the includer's responsibility.
89939
89940         Sync from coreutils.
89941
89942         * lib/modechange.c (mode_compile): Don't decrement a pointer that
89943         points to the start of a string, as the C Standard says the
89944         resulting behavior is undefined.
89945
89946         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
89947         simple -> simple_backups, numbered_existing ->
89948         numbered_existing_backups, numbered -> numbered_backups
89949         to avoid shadowing problems.  All uses changed.
89950         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
89951         * lib/backupfile.c (check_extension, numbered_backup):
89952         Rename locals to avoid shadowing 'basename'.
89953         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
89954         once.
89955
89956         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
89957         * lib/.cvsignore: Add getopt.h.
89958
89959 2004-10-04  Bruno Haible  <bruno@clisp.org>
89960
89961         * modules/README: New file.
89962         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
89963         not a module.
89964
89965 2004-10-02  Jim Meyering  <jim@meyering.net>
89966
89967         * lib/dirfd.h, getpagesize.h: Add copyright notice.
89968
89969 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89970
89971         * modules/strsep: New file.
89972
89973 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89974
89975         * m4/strsep.m4: New file.
89976
89977 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89978
89979         * lib/strsep.h: New file.
89980         * lib/strsep.c: New file.
89981
89982 2004-10-01  Simon Josefsson  <jas@extundo.com>
89983
89984         * lib/snprintf.c (snprintf): Handle size==0.
89985
89986 2004-10-01  Simon Josefsson  <jas@extundo.com>
89987             Bruno Haible  <bruno@clisp.org>
89988
89989         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
89990         (snprintf): Declare 'args'.
89991
89992 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
89993
89994         * lib/snprintf.c: Remove comments as to why each header is needed.
89995
89996 2004-10-01  Bruno Haible  <bruno@clisp.org>
89997
89998         * MODULES.html.sh: Add strsep.
89999
90000 2004-09-30  Simon Josefsson  <jas@extundo.com>
90001
90002         * modules/snprintf: New file.
90003
90004 2004-09-30  Simon Josefsson  <jas@extundo.com>
90005
90006         * m4/snprintf.m4: New file.
90007
90008 2004-09-30  Simon Josefsson  <jas@extundo.com>
90009
90010         * lib/snprintf.h, lib/snprintf.c: New files.
90011
90012 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
90013
90014         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
90015         (hol_entry_help): Never translate an empty string.
90016         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
90017         * lib/argp.h (OPTION_NO_TRANS): New option.
90018
90019 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
90020
90021         * modules/argp (Maintainer): Replace Simon Josefsson
90022         by Sergey Poznyakoff.
90023
90024 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
90025
90026         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
90027         changes merged back into glibc.
90028
90029 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
90030
90031         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
90032
90033 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
90034
90035         * lib/xvasprintf.c: Include xalloc.h.
90036         (xvasprintf): Use xalloc_die, not xmalloc_die.
90037
90038 2004-09-29  Bruno Haible  <bruno@clisp.org>
90039
90040         * modules/alloca-opt: New file, derived from modules/alloca.
90041         * modules/allocsa: Depend on alloca-opt instead of alloca.
90042         * modules/setenv: Likewise.
90043         * modules/vasnprintf: Likewise.
90044         * MODULES.html.sh: Add alloca-opt.
90045
90046 2004-09-28  Simon Josefsson  <jas@extundo.com>
90047
90048         * gnulib-tool: New parameter --lgpl, to asseert that modules are
90049         LGPL, and to replace license template from GPL to LGPL.
90050
90051 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
90052
90053         * modules/dummy: Change license to LGPL.
90054
90055 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
90056
90057         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
90058
90059 2004-09-24  Simon Josefsson  <jas@extundo.com>
90060
90061         * modules/minmax (License): Change from GPL to LGPL.
90062
90063 2004-09-23  Simon Josefsson  <jas@extundo.com>
90064
90065         * gnulib-tool (--import): Typo.
90066
90067 2004-09-23  Simon Josefsson  <jas@extundo.com>
90068
90069         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
90070
90071 2004-09-22  Bruno Haible  <bruno@clisp.org>
90072
90073         * modules/*: Add 'License' field.
90074         * gnulib-tool: Accept --extract-license option.
90075         (func_get_license): New function.
90076
90077 2004-09-21  Bruno Haible  <bruno@clisp.org>
90078
90079         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
90080         Reported by Simon Josefsson.
90081
90082 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
90083
90084         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
90085         gl_AC_TYPE_LONG_LONG.
90086
90087 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
90088
90089         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
90090
90091 2004-09-18  Simon Josefsson  <jas@extundo.com>
90092         and  Paul Eggert  <eggert@cs.ucla.edu>
90093
90094         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
90095         calls with autoreconf.  Define GL_LIB.
90096
90097 2004-09-14  Karl Berry  <karl@gnu.org>
90098
90099         * config/srclist.txt: unsync setenv.c, sigh.
90100
90101 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
90102
90103         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
90104         Problem reported by Bruno Haible in:
90105         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
90106
90107 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
90108
90109         * config/srclist.txt: Comment out argp-pvh.c.
90110
90111 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
90112
90113         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
90114         in case some system header has #define'd it.  Problem reported by
90115         Soeren D. Schulze in
90116         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
90117
90118 2004-09-09  Karl Berry  <karl@gnu.org>
90119
90120         * regex.[ch]: delete from the root.  These were supposed to be
90121                 synced with emacs cvs, but this has not happened for about
90122                 a year, and anyway nothing else uses emacs regex.[ch].
90123                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
90124                 lib/regex[.ch] is untouched.
90125
90126 2004-09-09  Bruno Haible  <bruno@clisp.org>
90127
90128         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
90129
90130 2004-09-09  Bruno Haible  <bruno@clisp.org>
90131
90132         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
90133         modifications.
90134         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
90135
90136 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
90137
90138         * modules/xvasprintf: New file.
90139         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
90140
90141 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
90142
90143         * lib/xvasprintf.h: New file.
90144         * lib/xvasprintf.c: New file.
90145         * lib/xasprintf.c: New file.
90146
90147 2004-09-08  Bruno Haible  <bruno@clisp.org>
90148
90149         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
90150
90151 2004-09-08  Bruno Haible  <bruno@clisp.org>
90152
90153         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
90154         length is > INT_MAX.
90155         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
90156         more.
90157
90158 2004-09-08  Bruno Haible  <bruno@clisp.org>
90159
90160         * lib/stdint_.h: New file, taken from GNU clisp.
90161
90162 2004-09-08  Bruno Haible  <bruno@clisp.org>
90163             Oskar Liljeblad  <oskar@osk.mine.nu>
90164
90165         * modules/stdint: New file.
90166         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
90167
90168 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
90169
90170         Import from coreutils.
90171         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
90172         strings on unbounded length.  alloca's performance benefits aren't
90173         that important here.
90174         (V_STRDUP): Remove.
90175         (parse_with_separator): New function, with most of the internals
90176         of the old parse_user_spec.  Allow user to omit both user and group,
90177         for compatibility with FreeBSD.
90178         Clone only the user name, not the entire spec.
90179         Do not set *uid, *gid unless entirely successful.
90180         Avoid memory leak in some failing cases.
90181         Fix regression for USER.GROUP reported by Dmitry V. Levin in
90182         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
90183         (parse_user_spec): Rewrite to use parse_with_separator.
90184
90185 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
90186
90187         * modules/userspec: Don't depend on alloca.
90188
90189 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
90190
90191         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
90192
90193 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
90194
90195         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
90196         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
90197         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
90198
90199 2004-08-16  Simon Josefsson  <jas@extundo.com>
90200
90201         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
90202         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
90203         Add --dry-run for --import.
90204         Let user provided command line parameters override configure.ac
90205         settings.
90206
90207 2004-08-12  Simon Josefsson  <jas@extundo.com>
90208
90209         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
90210         as discussed with Paul Eggert in threads rooted at
90211         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
90212         and
90213         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
90214         Before, the test was empty, and relied on ELIDE_CODE in source
90215         code.)
90216         (gl_PREREQ_GETOPT): New macro.
90217         (gl_GETOPT): Use them.
90218
90219 2004-08-12  Simon Josefsson  <jas@extundo.com>
90220
90221         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
90222         * lib/getopt_.h: Renamed from getopt.h.
90223
90224 2004-08-12  Simon Josefsson  <jas@extundo.com>
90225
90226         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
90227         Change default library name from libfoo to libgnu.
90228         Now, if you have a configure.ac that says:
90229                 gl_SOURCE_BASE(gl)
90230                 gl_M4_BASE(gl/m4)
90231                 gl_MODULES(error getopt etcetera)
90232                 gl_INIT
90233         you can import all you need by running:
90234                 ../gnulib/gnulib-tool --import
90235
90236         * modules/getopt (Files): Rename getopt.h to getopt_.h.
90237         (Makefile.am): Rewrite, use logic from argz.
90238         (Include): Use <getopt.h> instead of "getopt.h".
90239
90240 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
90241
90242         * modules/argp (Files): Add m4/unlocked-io.m4.
90243         (Depends-on): Add extensions.
90244
90245 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
90246
90247         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
90248         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
90249         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
90250         Check for program_invocation_name, program_invocation_short_name,
90251         flockfile, funlockfile, features.h, _getopt_long_only_r.
90252
90253 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
90254
90255         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
90256         its complicated substitute.
90257         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
90258         and program_invocation_name.
90259         (__argp_basename) [!_LIBC]: Remove; the only use was
90260         replaced by its body.
90261         (__argp_short_program_name): Change condition from
90262         !defined __argp_short_program_name to
90263         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
90264         to match argp-namefrob.h.
90265         (__argp_failure): Don't assume strerror_r returns char *.
90266         * lib/argp-parse.c (N_): Define unconditionally.
90267         (argp_default_options): Fill out initializers with 0 to avoid
90268         gcc warnings.
90269
90270 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
90271
90272         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
90273         getopt1.c.
90274
90275 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
90276
90277         Merge from coreutils.
90278
90279         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
90280
90281         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
90282         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
90283
90284 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
90285
90286         Merge from coreutils.
90287
90288         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
90289         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
90290         for Reliant Unix 5.43.
90291
90292         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
90293         (union fooround): Use uintmax_t, not long int.
90294         The rest is a merge from libc:
90295         [defined _LIBC]: Include <shlib-compat.h>.
90296         (_obstack) [defined _LIBC]: Remove after 2.3.4.
90297
90298         * lib/settime.c (settime): Recode to avoid warning with
90299         Sun Forte C 6U2.
90300
90301         * lib/strverscmp.c: Convert to UTF-8.
90302
90303 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
90304
90305         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
90306         m4/uintmax_t.m4.
90307
90308 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
90309
90310         * modules/xalloc-die: New file.
90311         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
90312
90313         * modules/md5 (Files): Add m4/uint32_t.m4.
90314         * modules/sha1: Renamed from modules/sha.
90315         (Files):
90316         Rename lib/sha.h to lib/sha1.h.
90317         Rename lib/sha.c to lib/sha1.c.
90318         Rename m4/sha.m4 to m4/sha1.m4.
90319         (lib_SOURCES): Likewise.
90320         (configure.ac): Rename gl_SHA to gl_SHA1.
90321         (Include): sha.h -> sha1.h.
90322
90323 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
90324
90325         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
90326         * m4/sha1.m4: Renamed from sha.m4.
90327         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
90328
90329 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
90330
90331         * lib/obstack.h (obstack_empty_p):
90332         Don't assume that chunk->contents is suitably aligned.
90333         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
90334         Likewise. Problem reported by Benno in
90335         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
90336
90337         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
90338         readable.  This could be improved further but it'd take some work.
90339
90340 2004-08-08  Simon Josefsson  <jas@extundo.com>
90341
90342         * modules/xgethostname (Depends-on): Remove exit and error (not
90343         used).
90344
90345         * modules/getpass-gnu: Add getpass.h.
90346         (Depends-on): Add stdbool.
90347         * modules/getpass: Add getpass.h.
90348
90349 2004-08-08  Simon Josefsson  <jas@extundo.com>
90350
90351         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
90352         Check getpass declaration.
90353
90354 2004-08-08  Simon Josefsson  <jas@extundo.com>
90355
90356         * lib/xgethostname.c: Don't include error.h (not used).
90357
90358         * lib/getpass.h: Add.
90359         * lib/getpass.c: Include getpass.h first.
90360
90361 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
90362
90363         * lib/xalloc-die.c: New file.
90364         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
90365         All uses removed.
90366         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
90367         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
90368         xalloc-die.c.
90369         (_, N_, xalloc_die): Move to xalloc-die.c.
90370         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
90371         so that we needn't mess with xalloc_msg_memory_exhausted.
90372
90373         * lib/sha1.h: Renamed from sha.h.
90374         (SHA1_H): Renamed from _SHA_H.
90375         (sha1_ctx): Renamed from sha_ctx.
90376         (sha1_init_ctx): Renamed from sha_init_ctx.
90377         (sha1_process_block): Renamed from sha_process_block.
90378         (sha1_process_bytes): Renamed from sha_process_bytes.
90379         (sha1_finish_ctx): Renamed from sha_finish_ctx.
90380         (sha1_read_ctx): Renamed from sha_read_ctx.
90381         (sha1_stream): Renamed from sha_stream.
90382         (sha1_buffer): Renamed from sha_buffer.
90383         * lib/sha1.c: Likewise; renamed from sha.c.
90384         Do not include <sys/types.h>.
90385         Include <stddef.h> rather than <stdlib.h>.
90386
90387 2004-08-08  Bruno Haible  <bruno@clisp.org>
90388
90389         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
90390         FILESYSTEM_PREFIX_LEN.
90391         * lib/progreloc.c: Likewise.
90392         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
90393
90394 2004-08-06  Simon Josefsson  <jas@extundo.com>
90395
90396         * modules/progname (Depends-on): Don't depend on stdbool.
90397
90398 2004-08-06  Simon Josefsson  <jas@extundo.com>
90399
90400         * modules/getsubopt: New file.
90401         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
90402         getsubopt.
90403
90404 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
90405
90406         More merge from coreutils.
90407
90408         * m4/utimens.m4, m4/utimecmp.m4: New files.
90409         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
90410         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
90411         prereq.m4, sha.m4: Import changes from coreutils.
90412
90413 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
90414
90415         More merge from coreutils.
90416         * modules/raise, modules/readtokens0, modules/utimens:
90417         * modules/utimecmp, module/xnanosleep: New files.
90418         * modules/strftime: Add lib/strftime.h.
90419         Change include from <time.h> to "strftime.h".
90420         * modules/yesno: Add lib/yesno.h.
90421         * modules/backupfile: Remove lib/addext.c.
90422         * modules/euidaccess: Add stat-macros.h.
90423         * modules/canonicalize, modules/euidaccess,
90424         modules/filemode, modules/lchown, modules/makepath,
90425         modules/rmdir, modules/stat: Likewise.
90426
90427 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
90428
90429         Merge from tar.
90430         * lib/argp-help.c (make_hol, hol_append): Don't assume that
90431         SIZE_MAX is a valid preprocessor constant.
90432         (__argp_basename): Change from "#ifndef _LIBC"
90433         to "#ifndef __argp_short_program_name", so that
90434         we don't compile these functions for tar.
90435
90436         More merges from coreutils.
90437         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
90438         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
90439         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
90440         * lib/addext.c: Remove; no longer needed.
90441         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
90442         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
90443         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
90444         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
90445         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
90446         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
90447         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
90448         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
90449         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
90450         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
90451         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
90452         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
90453         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
90454         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
90455         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
90456         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
90457         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
90458         Import changes from coreutils.
90459
90460 2004-08-05  Simon Josefsson  <jas@extundo.com>
90461
90462         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
90463
90464 2004-08-05  Simon Josefsson  <jas@extundo.com>
90465
90466         * m4/getsubopt.m4: New file.
90467
90468 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
90469
90470         Merge from coreutils.
90471
90472         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
90473         * m4/getcwd-path-max.m4: New files.
90474
90475         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
90476         FILESYSTEM_PREFIX_LEN ->
90477         FILE_SYSTEM_PREFIX_LEN.
90478         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
90479         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
90480         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
90481         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
90482
90483         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
90484         prerequisite modules now handle the DOS stuff.
90485         Don't check for unistd.h.
90486
90487 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
90488
90489         Merge from coreutils.
90490
90491         * lib/.gdb-history: Remove; this doesn't belong here.
90492
90493         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
90494         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
90495         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
90496         * lib/getcwd.c: New files.
90497
90498         * lib/dirname.h: Include <stdbool.h>.
90499         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
90500         for consistency with POSIX terminology.  All uses changed.
90501         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
90502         (strip_trailing_slashes): Use bool for booleans.
90503         * lib/stripslash.c (strip_trailing_slashes): Likewise.
90504
90505         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
90506         sometimes returns a positive errno value even when it succeeds.
90507         (print_errno_message) [!LIBC]: Fall back on strerror if
90508         __strerror_r fails.
90509
90510         * lib/path-concat.c (mempcpy): Don't define if a system header defines
90511         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
90512         (longest_relative_suffix): New function.
90513         (path_concat): Use it.  Assume first argument is not NULL.
90514         Port to DOS.  Omit redundant separators.
90515         Report an error instead of returning NULL.
90516         Use mempcpy instead of memcpy.
90517         (xpath_concat): Remove: not declared or used.
90518
90519         * lib/same.h: Include <stdbool.h>
90520         (same_name): Return bool, not int.
90521         * lib/same.c (same_name): Likewise.
90522         (errno): Don't declare; we assume C89 or better now.
90523
90524         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
90525         if not already defined.
90526
90527         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
90528         * lib/dup-safer.c (errno): Likewise.
90529
90530 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
90531
90532         Merge from coreutils.
90533         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
90534         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
90535         * modules/path-concat: Don't depend on strdup.
90536
90537 2004-08-03  Simon Josefsson  <jas@extundo.com>
90538
90539         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
90540         * lib/progname.h: Don't include stdbool.h.
90541
90542 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
90543
90544         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
90545         * MODULES.html.sh (func_all_modules): Remove fatal.
90546
90547 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
90548
90549         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
90550
90551 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
90552
90553         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
90554         working.
90555
90556 2004-08-02  Simon Josefsson  <jas@extundo.com>
90557
90558         * lib/getsubopt.h: New file, with comments from Bruno Haible.
90559         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
90560         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
90561
90562 2004-08-01  Simon Josefsson  <jas@extundo.com>
90563
90564         * lib/xgetdomainname.c: Include stdlib.h, for free().
90565
90566 2004-07-19  Bruno Haible  <bruno@clisp.org>
90567
90568         * MODULES.html.sh (func_all_modules): Add dummy.
90569
90570 2004-07-16  Simon Josefsson  <jas@extundo.com>
90571
90572         * modules/dummy: New file.
90573
90574 2004-07-16  Simon Josefsson  <jas@extundo.com>
90575
90576         * lib/dummy.c: New file.
90577
90578 2004-07-16  Bruno Haible  <bruno@clisp.org>
90579
90580         * lib/backupfile.h: Add extern "C" for C++.
90581         * lib/closeout.h: Likewise.
90582         * lib/copy-file.h: Likewise.
90583         * lib/findprog.h: Likewise.
90584         * lib/full-write.h: Likewise.
90585         * lib/pathname.h: Likewise.
90586         * lib/progname.h: Likewise.
90587         * lib/stpcpy.h: Likewise.
90588         * lib/stpncpy.h: Likewise.
90589         * lib/strcase.h: Likewise.
90590         * lib/strstr.h: Likewise.
90591         * lib/xalloc.h: Likewise.
90592
90593         * lib/mbswidth.h: Add extern "C" for C++.
90594         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
90595
90596 2004-07-13  Robert Millan  <robertmh@gnu.org>
90597
90598         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
90599
90600 2004-07-09  Simon Josefsson  <jas@extundo.com>
90601
90602         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
90603         failed without this.)
90604
90605 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
90606
90607         * modules/chown (Files): Add lib/fchown-stub.c, since
90608         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
90609
90610 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
90611
90612         * lib/fchown-stub.c: New file.
90613
90614 2004-06-24  Jim Meyering  <jim@meyering.net>
90615
90616         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
90617
90618 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90619
90620         * modules/argz: Omit "#include".
90621
90622         * MODULES.html.sh (func_all_modules): Add calloc, to match
90623         2004-06-01 addition of calloc module.
90624
90625 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90626
90627         * m4/argz.m4: New file, which is autoupdated from libtool.
90628
90629 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90630
90631         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
90632         libtool.
90633
90634 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90635
90636         * config/srclist-update: Don't insist on "USA." before the
90637         close-comment, as libtool omits the period and puts the */ on a
90638         separate line.
90639         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
90640         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
90641
90642 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
90643
90644         * modules/argz: New file.
90645         * MODULES.html.sh (func_all_modules): Add argz.
90646
90647 2004-06-12  Jim Meyering  <jim@meyering.net>
90648         and  Paul Eggert  <eggert@cs.ucla.edu>
90649
90650         * modules/hash (Files): Add lib/xalloc.h.
90651         * modules/pipe (Depends-on): Add wait-process.
90652         * modules/stat (Depends-on): Add xalloc.
90653         * modules/userspec (Files): Add lib/userspec.h.
90654         * modules/xstrto
90655
90656         Upgrade from gettext-0.13.
90657         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
90658         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
90659         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
90660
90661 2004-06-10  Jim Meyering  <jim@meyering.net>
90662
90663         * lib/calloc.c: New file.
90664
90665 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
90666
90667         * lib/getdate.y (yylex): Allow space between sign and number.
90668         Problem reported by Dan Jacobson.
90669
90670 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
90671
90672         Merge from coreutils CVS.
90673
90674         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
90675         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
90676         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
90677         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
90678         xstrtol.m4: Fix copyright date and/or serial number.
90679
90680         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
90681         See if we need an fchown replacement.
90682         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
90683         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
90684         and use the replacement function if we detect either defect.
90685
90686         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
90687         gl_UTIMECMP.
90688
90689 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
90690         and  Jim Meyering  <jim@meyering.net>
90691
90692         Merge from coreutils CVS.
90693
90694         * lib/stat-macros.h: New file, with contents from file-type.h
90695         and coreutils' system.h.
90696         * lib/file-type.c: Include "stat-macros.h".
90697         * lib/file-type.h (file_type): Move all macro definitions to new file,
90698         stat-macros.h.
90699
90700         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
90701         Wrap old code with this conditional.
90702         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
90703         function that does not dereference symlinks.
90704         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
90705
90706         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
90707         dependency problems.
90708         (xreadlink): Accept new arg SIZE, for efficiency.
90709         All decls and uses changed.
90710         * lib/xreadlink.h: Include <stddef.h>, for size_t.
90711
90712         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
90713         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
90714
90715         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
90716         sysexits.h.
90717
90718 2004-06-01  Jim Meyering  <jim@meyering.net>
90719
90720         * m4/calloc.m4: New file.
90721
90722 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
90723
90724         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
90725         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
90726         Also, fix a typo in a diagnostic.
90727
90728 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
90729
90730         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
90731         or AC_FUNC_REALLOC.
90732
90733 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
90734
90735         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
90736         macros to be defined.
90737         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
90738         the allocator returns NULL because the requested size is zero.
90739
90740 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
90741
90742         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
90743         var.  Add comment explaining why libc still defines it.  This
90744         merges the following patch from glibc:
90745         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
90746
90747 2004-05-20  Andreas Schwab  <schwab@suse.de>
90748
90749         * m4/free.m4: Replace free if it not known to work, not the other
90750         way round.
90751
90752 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
90753
90754         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
90755         present in glibc since revision 1.1 of this file.
90756         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
90757         obstack_alignment_mask, obstack_alloc, obstack_base,
90758         obstack_blank, obstack_blank_fast, obstack_chunk_size,
90759         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
90760         obstack_grow0, obstack_init, obstack_int_grow,
90761         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
90762         obstack_next_free, obstack_object_size, obstack_ptr_grow,
90763         obstack_ptr_grow_fast, obstack_room): Remove declarations of
90764         nonexistent functions.
90765
90766 2004-05-18  Karl Berry  <karl@gnu.org>
90767
90768         * config/srclist.txt: break link for vasnprintf.c.
90769
90770 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90771
90772         Port obstack to the AS/400, where pointers are 16 bytes wide and
90773         you cannot cast an integer to a valid pointer.  This patch is
90774         currently waiting to be integrated into glibc; see
90775         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
90776
90777         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
90778         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
90779         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
90780         (struct obstack): temp member is now a union of a pointer and
90781         an integer, instead of an integer.  All integer uses changed.
90782         This does not affect the physical layout of struct obstack,
90783         except on hosts (like the AS/400) where the size or alignment of
90784         void * is greater than that of ptrdiff_t.
90785         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
90786         __STDC__)]: Store temporary in pointer member of union, not
90787         integer member.
90788         * lib/obstack.c: Include <stddef.h>, for offsetof.
90789         (struct fooalign): Remove; it doesn't need a name.
90790         (union fooround): Change double to long double, and add void *.
90791         (DEFAULT_ALIGNMENT): Use offsetof to compute.
90792         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
90793         not a macro.  Hence the values are always int; so remove all
90794         casts-to-int in uses.
90795
90796 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90797
90798         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
90799         we can get this patch merged into glibc.
90800
90801 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90802             Paul Eggert  <eggert@cs.ucla.edu>
90803
90804         * m4/argp: Depend on alloca.
90805
90806 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90807             Paul Eggert  <eggert@cs.ucla.edu>
90808
90809         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
90810         freecoding.
90811
90812 2004-05-17  Bruno Haible  <bruno@clisp.org>
90813
90814         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
90815         precision that consists of a '.' followed by an empty digit string.
90816         Patch by Tor Lillqvist <tml@iki.fi>.
90817
90818 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90819
90820         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
90821         for backward compatibility with older code.  We need our own
90822         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
90823         it under some other name, and our alloca.h will define it.
90824
90825 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90826             Derek Price  <derek@ximbiot.com>
90827
90828         * lib/alloca.c: Include <alloca.h>, to get our interface.
90829         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
90830         include <alloca.h> first.  Use C89 prototype for alloca; this
90831         requires including <stddef.h> for size_t.  Use extern "C" if C++.
90832         Use #elif for simplicity, since we can assume C89 now.
90833         Don't try to source the system alloca.h since it will not be found
90834         and to prevent recursively including its replacement.
90835         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
90836         * lib/regex.c: Likewise.
90837
90838 2004-05-16  Derek Price  <derek@ximbiot.com>
90839             Paul Eggert  <eggert@cs.ucla.edu>
90840
90841         getline cleanup.  This changes the getndelim2 API: both order of
90842         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
90843         no delimiter).
90844
90845         * lib/getline.c: Don't include stddef.h or stdio.h, since our
90846         interface does that.
90847         (getline): Always use getdelim, so that we don't have two
90848         copies of this code.
90849         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
90850         if available.
90851         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
90852         (GETNDELIM2_MAXIMUM): New macro.
90853         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
90854         instead of the old practice of delim2==0.  All callers changed.
90855         Return -1 on overflow, instead of returning junk.
90856         Do not set *linesize unless allocation succeeds.
90857         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
90858         that we include sys/types.h.
90859         * lib/getnline.h: Likewise.
90860         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
90861         (getndelim2): Reorder arguments.
90862         * lib/getnline.c (getnline, getndelim):
90863         Don't discard the NMAX argument.
90864         (getnline): Invoke getndelim, to avoid code duplication.
90865         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
90866         of (size_t) -1 by callers of the getnline family.
90867
90868 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90869
90870         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
90871         Check for gettimeofday.
90872         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
90873         Check for settimeofday, stime.
90874
90875 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90876
90877         * lib/nanosleep.c (suspended): Change its type from int to
90878         sig_atomic_t volatile.
90879         (first_call): Make it private to rpl_nanosleep, and have it
90880         be zero initially as that's a bit faster.
90881         (my_usleep): Round up fractional times instead of truncating them,
90882         as this is the usual meaning for 'sleep'.
90883
90884         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
90885         doesn't work.
90886         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
90887         (ENOSYS): Define if not defined.
90888         (settime): Fall back on stime if it exists and settimeofday fails.
90889         But don't bother with fallbacks if a method fails with errno == EPERM.
90890
90891 2004-05-11  Jim Meyering  <jim@meyering.net>
90892
90893         Prior to this change, the save_cwd caller required read access to the
90894         current directory on most systems (ones with the fchdir function).
90895
90896         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
90897         fails, try write-only, and finally, resort to using xgetcwd.
90898
90899 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
90900
90901         * lib/obstack.c, obstack.h: Import changes from libc.
90902
90903 2004-04-28  Bruno Haible  <bruno@clisp.org>
90904
90905         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
90906         also implicitly appends .exe to executables.
90907         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
90908         accepts Windows pathnames.
90909         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90910         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90911         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90912         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90913         Reported by Derek Robert Price <derek@ximbiot.com>.
90914
90915 2004-04-21  Karl Berry  <karl@gnu.org>
90916
90917         * config/srclist.txt (localcharset.c): break sync.
90918
90919 2004-04-20  Paul Eggert  <eggert@twinsun.com>
90920
90921         * m4/host-os.m4: Add a copyright notice.
90922
90923 2004-04-20  Jim Meyering  <jim@meyering.net>
90924
90925         Change UTILS_ to gl_ in AC_DEFINE'd names.
90926         Change utils_- and jm_-prefixed variables, too.
90927         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
90928         UTILS_FUNC_MKDIR_TRAILING_SLASH.
90929         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
90930
90931         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
90932         Don't emit trailing blanks.
90933         Also rename jm_-prefixed variables to have gl_ prefix.
90934
90935         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
90936         Also rename jm_-prefixed variables to have gl_ prefix.
90937
90938         * m4/jm-macros.m4: Reflect the renamings.
90939         * m4/prereq.m4: Likewise.
90940
90941 2004-04-20  Jim Meyering  <jim@meyering.net>
90942
90943         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
90944         memory.
90945
90946 2004-04-20  Jim Meyering  <jim@meyering.net>
90947             Bruno Haible  <bruno@clisp.org>
90948
90949         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
90950         memory when realloc fails.
90951
90952 2004-04-19  Jim Meyering  <jim@meyering.net>
90953
90954         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
90955         now that readutmp.c may call `free (0)'.
90956
90957 2004-04-19  Bruno Haible  <bruno@clisp.org>
90958
90959         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
90960         * m4/inttypes_h.m4: Likewise.
90961         * m4/stdint_h.m4: Likewise.
90962         * m4/intmax_t.m4: Likewise.
90963         * m4/uintmax_t.m4: Likewise.
90964
90965 2004-04-18  Jim Meyering  <jim@meyering.net>
90966
90967         * m4/prereq.m4: Don't forbid jm_ prefix.
90968
90969         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
90970         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
90971         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
90972         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
90973         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
90974         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
90975         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
90976         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
90977         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
90978         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
90979         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
90980         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
90981         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
90982         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
90983         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
90984         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
90985         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
90986         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
90987         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
90988
90989 2004-04-18  Jim Meyering  <jim@meyering.net>
90990
90991         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
90992         failure, don't leak memory and do call END_UTMP_ENT.
90993
90994 2004-04-16  Jim Meyering  <jim@meyering.net>
90995
90996         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
90997         coreutils' stat program.
90998         (gl_PREREQ): Don't require jm_PREREQ_STAT.
90999
91000 2004-04-11  Paul Eggert  <eggert@twinsun.com>
91001
91002         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
91003         C89.
91004         (CHAR_BIT): Remove, since we assume C89.
91005         Include <stdint.h> if available, as per current Autoconf CVS advice.
91006
91007 2004-03-31  Jim Meyering  <jim@meyering.net>
91008
91009         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
91010         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
91011         * m4/xalloc.m4: Likewise.
91012
91013 2004-03-30  Paul Eggert  <eggert@twinsun.com>
91014
91015         Merge from coreutils.
91016
91017         * m4/inttostr.m4: New file.
91018         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
91019         Require AM_STDBOOL_H and gl_TIMESPEC instead.
91020         Require gl_CLOCK_TIME.
91021         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
91022
91023 2004-03-30  Paul Eggert  <eggert@twinsun.com>
91024
91025         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
91026         not bool, to be more consistent with Unix conventions.
91027         Suggested by Bruno Haible.
91028
91029         Merge from coreutils.
91030
91031         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
91032         * lib/umaxtostr.c: New files.
91033
91034         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
91035         the usual <time.h> dance.
91036         (get_date): Change signature to support fractional time stamps.
91037         All callers changed.
91038         * lib/getdate.y: Include "getdate.h" first, as we can now
91039         assume C89 and don't need to worry about 'const'.
91040         Similarly, include "unlocked-io.h" near start, not in middle.
91041         Include <limits.h>.
91042         (textint.value): Use long int rather than int.
91043         (textint.digits): Use size_t rather than int.
91044         (BILLION, LOG10_BILLION): New constants.
91045         (parser_control): New member rel_ns.  Members day_ordinal,
91046         time_zone, month, day, hour, minutes, rel_year, rel_month,
91047         rel_day, rel_hour, rel_minutes, rel_seconds
91048         are now long int, not int.  Member seconds is now struct timespec,
91049         not int.  New member timespec_seen.  Members dates_seen, days_seen,
91050         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
91051         not int.
91052         (%union.intval): Now long int, not int.
91053         New member timespec.
91054         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
91055         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
91056         (spec): Now is a timespec or an item list.
91057         (timespec, items): New nonterminals.
91058         (time, rel, relunit, number, get_date):
91059         Add support for fractional seconds.
91060         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
91061         (gmtime, localtime, mktime): Remove decls; not needed with C89.
91062         (to_hour): First arg is now long int, not int.
91063         (to_year): Returns long int, not int.
91064         Don't treat year -70 like 70.
91065         (tm_diff): Returns long int, not int.
91066         (lookup_word): Use bool instead of int when appropriate.
91067         (yylex): Use size_t for count, not int.
91068         Detect overflow when parsing large integer constants.
91069         Add support for fractions.
91070         (get_date): Make pointers 'const' if possible.
91071         Use more-portable code to detect integer overflow.
91072         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
91073         Don't use ctime; it's not reliable if the year has >4 digits.
91074
91075         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
91076         This is for compatibility with BSD.
91077
91078         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
91079         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
91080         From coreutils' system.h.
91081
91082         * lib/userspec.c: Don't include "posixver.h".
91083         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
91084         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
91085         compatible extension.  Simplify code by removing a boolean int
91086         that was always nonzero if a string was nonnull.
91087
91088 2004-03-30  Jim Meyering  <jim@meyering.net>
91089
91090         Merge from coreutils.
91091
91092         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
91093         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
91094         on some systems one must include <grp.h> before it.
91095         Reported by Christian Krackowizer.
91096
91097 2004-03-30  Jim Meyering  <jim@meyering.net>
91098
91099         Merge from coreutils.
91100
91101         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
91102
91103         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
91104         an empty input stream.
91105
91106         * lib/readtokens.c: Include <stdbool.h>.
91107         (readtoken): Use `size_t' rather than int/long.
91108         All callers adjusted.
91109         Use `bool' rather than `int' where appropriate.
91110         Use memset rather than an explicit loop.
91111         Use x2nrealloc rather than xrealloc.
91112         Allow the use of `\0' as a delimiter.
91113         (readtokens): Likewise.
91114         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
91115
91116 2004-03-30  Jim Meyering  <jim@meyering.net>
91117
91118         * m4/realloc.m4: Remove file, since now it does no more than
91119         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
91120         the `configure.ac' section of module/realloc.
91121         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
91122
91123 2004-03-30  Bruno Haible  <bruno@clisp.org>
91124
91125         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
91126         nonnull.
91127
91128 2004-03-29  Paul Eggert  <eggert@twinsun.com>
91129
91130         Merge changes to getloadavg.c from coreutils and Emacs.
91131
91132         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
91133         Define to an expression, not to the empty string.
91134         Include cloexec.h and xalloc.h.
91135         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
91136         Use set_cloexec_flag rather than rolling our own.
91137         * lib/cloexec.c, lib/cloexec.h: New files.
91138
91139 2004-03-29  Paul Eggert  <eggert@twinsun.com>
91140
91141         * m4/cloexec.m4: New file.
91142
91143 2004-03-18  Paul Eggert  <eggert@twinsun.com>
91144
91145         * lib/getopt.h: Sync with libc CVS.
91146
91147 2004-03-18  Paul Eggert  <eggert@twinsun.com>
91148             Bruno Haible  <bruno@clisp.org>
91149
91150         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
91151         mbswidth.
91152
91153 2004-03-18  Paul Eggert  <eggert@twinsun.com>
91154             Bruno Haible  <bruno@clisp.org>
91155
91156         * lib/mbswidth.h: Include <wchar.h> only if
91157         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
91158         <wchar.h>.
91159         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
91160
91161 2004-03-09  Paul Eggert  <eggert@twinsun.com>
91162
91163         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
91164         Sync with libc CVS.
91165         * lib/getopt_int.h: New file, also synced from libc.
91166
91167 2004-03-09  Paul Eggert  <eggert@twinsun.com>
91168
91169         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
91170         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
91171         Bring back getopt.c, getopt.h, getopt1.c.
91172
91173 2004-03-07  Paul Eggert  <eggert@twinsun.com>
91174
91175         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
91176         All uses changed.  Check for sa_sigaction member; this fixes
91177         a bug first reported by Jason Andrade in
91178         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
91179
91180 2004-03-07  Paul Eggert  <eggert@twinsun.com>
91181
91182         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
91183         '#if' expressions.  Unlike the code it replaces, it does not
91184         depend on (defined _SC_PAGESIZE).  However, it does depend on
91185         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
91186         first reported by Jason Andrade in
91187         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
91188
91189 2004-02-25  Simon Josefsson  <jas@extundo.com>
91190
91191         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
91192
91193 2004-02-25  Simon Josefsson  <jas@extundo.com>
91194
91195         * lib/strdup.h: New file.
91196         * lib/strdup.c: Include it.
91197         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
91198         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
91199
91200 2004-02-23  Karl Berry  <karl@gnu.org>
91201
91202         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
91203         (from fencepost.gnu.org:/gd/gnuorg).
91204
91205 2004-02-23  Karl Berry  <karl@gnu.org>
91206
91207         * config/srclistvars.sh (GNUORG) [karl]: redefine.
91208         * config/srclist.txt: add maintain/standards documents.
91209
91210 2004-02-18  Bruno Haible  <bruno@clisp.org>
91211
91212         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
91213         Reported by Derek Robert Price <derek@ximbiot.com>.
91214
91215 2004-02-16  Karl Berry  <karl@gnu.org>
91216
91217         * config/mkinstalldirs, install-sh: update from automake.
91218
91219 2004-02-06  Karl Berry  <karl@gnu.org>
91220
91221         * m4/po.m4: update from gettext 0.14.1.
91222
91223 2004-02-06  Karl Berry  <karl@gnu.org>
91224
91225         * lib/config.charset: update from gettext 0.14.1.
91226
91227 2004-02-05  Paul Eggert  <eggert@twinsun.com>
91228
91229         Add comments and code, prompted by suggestions from Bruno Haible
91230         for sh-quote.
91231         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
91232         describing the enum quoting_style values.
91233         * lib/quotearg.c (quotearg_alloc): New function.
91234         (quotearg_buffer_restyled): Treat lone { and } as special.
91235         Treat = as special.  Work around bug with older shells
91236         that "see" a '\' that is really the 2nd byte of a multibyte char.
91237         Quote empty string with shell_quoting_style.
91238
91239 2004-02-03  Bruno Haible  <bruno@clisp.org>
91240
91241         * m4/pipe.m4: New file, from GNU gettext.
91242
91243 2004-02-03  Bruno Haible  <bruno@clisp.org>
91244
91245         * lib/pipe.h: New file, from GNU gettext.
91246         * lib/pipe.c: New file, from GNU gettext.
91247
91248 2004-01-27  Bruno Haible  <bruno@clisp.org>
91249
91250         * m4/execute.m4: New file, from GNU gettext.
91251
91252 2004-01-27  Bruno Haible  <bruno@clisp.org>
91253
91254         * lib/execute.h: New file, from GNU gettext.
91255         * lib/execute.c: New file, from GNU gettext.
91256         * lib/w32spawn.h: New file, from GNU gettext.
91257
91258 2004-01-24  Paul Eggert  <eggert@twinsun.com>
91259
91260         Merge from diffutils.
91261
91262         * lib/file-type.c (file_type): Add typed memory objects.
91263         * lib/file-type.h (S_TYPEISTMO): New macro.
91264
91265         * lib/c-stack.h (c_stack_action): Remove argv argument.
91266         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
91267         (die): Don't calculate message unless segv_action returns.
91268         (get_stack_location, min_address_from_argv, max_address_from_argv,
91269         volatile stack_base, volatile_stack_size): Remove.
91270         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
91271         that every segmentation violation is a stack overflow.  (Ouch!)
91272         See Debian bug 136249 (still outstanding) for more info about why
91273         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
91274
91275 2004-01-24  Paul Eggert  <eggert@twinsun.com>
91276
91277         Exit-status fix from coreutils.
91278
91279         Use exit_failure consistently in place of EXIT_FAILURE,
91280         so that program exit statuses are consistent on failure.
91281
91282         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
91283         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
91284         * lib/argmatch.h: Comment fix to match the above.
91285         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
91286         Now a macro referring to exit_failure, instead of a separate
91287         variable.  Include "exitfail.h" to get it.
91288         * lib/xstrtol.h: Include "exitfail.h".
91289         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
91290
91291         * lib/long-options.c (parse_long_options): Use prototype
91292         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
91293         for clarity.
91294
91295 2004-01-21  Jim Meyering  <jim@meyering.net>
91296
91297         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
91298         so as not to conflict with a different-sized __mktime_internal
91299         function in GNU libc.
91300         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
91301         Problem building statically-linked `ls' reported by Michael Brunnbauer.
91302
91303 2004-01-20  Karl Berry  <karl@gnu.org>
91304
91305         * config/config.guess: update from config.
91306
91307         * config/srclistvars.sh: GNUWWWLICENSES for karl.
91308
91309 2004-01-20  Bruno Haible  <bruno@clisp.org>
91310
91311         Safer stack allocation.
91312         * lib/setenv.c: Include allocsa.h.
91313         (alloca): Remove fallback definition.
91314         (freea): Remove macro.
91315         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
91316         instead of freea.
91317
91318 2004-01-20  Bruno Haible  <bruno@clisp.org>
91319
91320         * m4/eealloc.m4: New file, from GNU gettext.
91321
91322 2004-01-20  Bruno Haible  <bruno@clisp.org>
91323
91324         * m4/allocsa.m4: New file, from GNU gettext.
91325
91326 2004-01-20  Bruno Haible  <bruno@clisp.org>
91327
91328         * lib/xallocsa.h: New file, from GNU gettext.
91329         * lib/xallocsa.c: New file, from GNU gettext.
91330
91331 2004-01-20  Bruno Haible  <bruno@clisp.org>
91332
91333         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
91334
91335 2004-01-20  Bruno Haible  <bruno@clisp.org>
91336
91337         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
91338         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
91339         specially.
91340
91341 2004-01-20  Bruno Haible  <bruno@clisp.org>
91342
91343         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
91344         patch.
91345
91346 2004-01-20  Bruno Haible  <bruno@clisp.org>
91347
91348         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
91349
91350 2004-01-20  Bruno Haible  <bruno@clisp.org>
91351
91352         * lib/eealloc.h: New file.
91353
91354 2004-01-20  Bruno Haible  <bruno@clisp.org>
91355
91356         * lib/binary-io.h: Avoid warnings on Cygwin.
91357
91358 2004-01-20  Bruno Haible  <bruno@clisp.org>
91359
91360         * lib/allocsa.h: New file, from GNU gettext.
91361         * lib/allocsa.c: New file, from GNU gettext.
91362
91363 2004-01-18  Karl Berry  <karl@gnu.org>
91364
91365         * doc/gpl.texi, doc/lgpl.texi: new files.
91366
91367 2004-01-18  Karl Berry  <karl@gnu.org>
91368
91369         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
91370         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
91371
91372 2004-01-15  Paul Eggert  <eggert@twinsun.com>
91373
91374         Merge from coreutils.
91375
91376         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
91377         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
91378         (gl_DEFAULT_POSIX2_VERSION): Move
91379         the documentation from 'configure' into 'config.hin',
91380         so that 'configure --help' isn't burdened by it and
91381         we don't have to worry about its formatting there.
91382         Reword the documentation so that it's more succinct
91383         and can be run together into a single paragraph.
91384         * m4/same.m4 (gl_SAME): Check for pathconf.
91385
91386 2004-01-15  Paul Eggert  <eggert@twinsun.com>
91387
91388         Merge from coreutils.
91389
91390         * lib/posixver.c: Include posixver.h.
91391
91392         * lib/same.c: Include <stdbool.h>, <limits.h>.
91393         (_POSIX_NAME_MAX): Define if not defined.
91394         (MIN): New macro.
91395         (same_name): If file names are silently truncated, report
91396         that the file names are the same if they are the same after
91397         the silent truncation.
91398
91399         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
91400         conversion function.
91401         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
91402         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
91403         longer needed.
91404
91405 2004-01-15  Jim Meyering  <jim@meyering.net>
91406
91407         Merge from coreutils.
91408
91409         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
91410         if no library is required.
91411         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
91412         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
91413         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
91414         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
91415         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
91416         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
91417         value, $ac_cv_search_crypt, if it's "none required".
91418         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
91419         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
91420         not gl_FUNC_GETLOADAVG.
91421         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
91422         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
91423
91424 2004-01-15  Jim Meyering  <jim@meyering.net>
91425
91426         Merge from coreutils.
91427
91428         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
91429         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
91430         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
91431
91432         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
91433         optional configure-time default.
91434
91435         * lib/version-etc.c (version_etc_copyright): Update copyright date.
91436
91437         * lib/xreadlink.c (xreadlink): Correct outdated comment.
91438
91439 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
91440
91441         Merge from coreutils.
91442
91443         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
91444         value, $ac_cv_search_nanosleep, if it's "none required".
91445
91446 2004-01-14  Paul Eggert  <eggert@twinsun.com>
91447
91448         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
91449         with like-named macro in fnmatch.c.
91450         (EXT): Use an internal constant instead.
91451
91452         Merge fnmatch patches from glibc.
91453         * lib/fnmatch.c (mbsinit): Remove define.
91454         Add libc_hidden_ver (__fnmatch, fnmatch).
91455         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
91456         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
91457
91458 2004-01-14  Karl Berry  <karl@gnu.org>
91459
91460         * config/install-sh: update from automake.
91461
91462 2004-01-13  Karl Berry  <karl@gnu.org>
91463
91464         * config/install-sh: update from automake.
91465
91466 2004-01-09  Karl Berry  <karl@gnu.org>
91467
91468         * config/install-sh: update from automake.
91469
91470 2004-01-05  Karl Berry  <karl@gnu.org>
91471
91472         * config/config.{sub,guess}: update from config.
91473
91474 2003-12-31  Karl Berry  <karl@gnu.org>
91475
91476         * config/depcomp: update from automake.
91477
91478 2003-12-14  Karl Berry  <karl@gnu.org>
91479
91480         * lib/config.charset: update from gettext-runtime.
91481
91482 2003-12-03  Paul Eggert  <eggert@twinsun.com>
91483
91484         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
91485         Bug reported by Alfred M. Szmidt.
91486
91487 2003-12-03  Bruno Haible  <bruno@clisp.org>
91488
91489         * m4/gettext.m4: Upgrade from gettext-0.13.
91490         * m4/po.m4: Upgrade from gettext-0.13.
91491         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
91492         * m4/intmax.m4: New file, from gettext-0.13.
91493         * m4/printf-posix.m4: New file, from gettext-0.13.
91494
91495 2003-11-29  Karl Berry  <karl@gnu.org>
91496
91497         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
91498
91499 2003-11-25  Paul Eggert  <eggert@twinsun.com>
91500             Bruno Haible  <bruno@clisp.org>
91501
91502         * lib/printf-parse.h: Don't include sys/types.h.
91503         (ARG_NONE): New macro.
91504         (char_directive): Change type of *arg_index fields to size_t.
91505         * lib/printf-parse.c: Don't include sys/types.h.
91506         (SSIZE_MAX): Remove macro.
91507         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
91508         Remove unnecessary overflow check.
91509         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
91510         fields.
91511
91512 2003-11-25  Bruno Haible  <bruno@clisp.org>
91513
91514         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
91515
91516 2003-11-25  Bruno Haible  <bruno@clisp.org>
91517
91518         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
91519         gt_TYPE_SSIZE_T.
91520
91521 2003-11-24  Paul Eggert  <eggert@twinsun.com>
91522
91523         * modules/alloca: Remove dependency on xalloc.
91524
91525 2003-11-24  Paul Eggert  <eggert@twinsun.com>
91526
91527         * lib/alloca.c: Remove dependency on xalloc module.
91528         (xalloc_die): Remove.
91529         (memory_full) [!defined emacs]: New macro.
91530         [!defined emacs]: Don't include xalloc.h.
91531         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
91532         address arithmetic overflows.  Change datatypes a bit to avoid
91533         unnecessary casts.
91534
91535 2003-11-22  Jim Meyering  <jim@meyering.net>
91536
91537         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
91538         s/size/size_t/.
91539
91540 2003-11-21  Karl Berry  <karl@gnu.org>
91541
91542         * config/config.{sub,guess}: update from config.
91543
91544 2003-11-18  Karl Berry  <karl@gnu.org>
91545
91546         * config/config.{sub,guess}: update from config.
91547
91548         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
91549
91550 2003-11-17  Paul Eggert  <eggert@twinsun.com>
91551
91552         * README: Mention that S+T cannot overflow if S is the size of
91553         an existing object and T is sufficiently small.
91554
91555 2003-11-17  Jim Meyering  <jim@meyering.net>
91556
91557         On systems without utime and without a utimes function capable of
91558         dealing with a NULL struct utimbuf* argument, this utime replacement
91559         could -- in unusual circumstances -- leak a file descriptor.
91560         * lib/utime.c: Include <unistd.h> and <errno.h>.
91561         (utime_null): Be sure to close `fd' and to preserve errno.
91562         Reported by Geoff Collyer via Arnold Robbins.
91563
91564 2003-11-17  Bruno Haible  <bruno@clisp.org>
91565
91566         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
91567         (Depends-on): Add xsize.
91568
91569 2003-11-17  Bruno Haible  <bruno@clisp.org>
91570
91571         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
91572
91573 2003-11-17  Bruno Haible  <bruno@clisp.org>
91574
91575         * lib/vasnprintf.c (alloca): Remove fallback definition.
91576         (freea): Remove definition.
91577         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
91578         Reported by Paul Eggert.
91579
91580 2003-11-16  Paul Eggert  <eggert@twinsun.com>
91581             Bruno Haible  <bruno@clisp.org>
91582
91583         Protect against address arithmetic overflow.
91584         * lib/printf-args.h: Include stddef.h.
91585         (arguments): Change type of field 'count' to size_t.
91586         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
91587         'unsigned int' where appropriate.
91588         * lib/printf-parse.h: Include sys/types.h.
91589         (char_directive): Change type of *arg_index fields to ssize_t.
91590         (char_directives): Change type of fields 'count', max_*_length to
91591         size_t.
91592         * lib/printf-parse.c: Include sys/types.h and xsize.h.
91593         (SSIZE_MAX): Define fallback value.
91594         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
91595         instead of 'int' where appropriate. Check a_allocated, d_allocated
91596         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
91597         * lib/vasnprintf.c: Include xsize.h.
91598         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
91599         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
91600         overflow. Avoid wraparound when converting a width or precision from
91601         decimal to binary.
91602
91603 2003-11-16  Bruno Haible  <bruno@clisp.org>
91604
91605         Update from GNU gettext.
91606         * lib/printf-parse.c: Generalize to it can be compiled for wide
91607         strings.
91608         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
91609         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
91610         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
91611         SNPRINTF): New macros.
91612         Don't include <alloca.h> if the file is used inside libintl.
91613         (local_wcslen): New function, for Solaris 2.5.1.
91614         (VASNPRINTF): Use it instead of wcslen.
91615
91616 2003-11-16  Bruno Haible  <bruno@clisp.org>
91617
91618         * lib/xsize.h (xmax): New function.
91619         (xsum, xsum3, xsum4): Declare as "pure" functions.
91620
91621 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91622
91623         * modules/xalloc (Files): Undo latest change, since xalloc.h
91624         no longer needs SIZE_MAX or PTRDIFF_MAX.
91625
91626 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91627
91628         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
91629         gl_PTRDIFF_MAX.
91630
91631 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91632
91633         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
91634         "return", to pacify some unknown compiler.  Problem reported
91635         by Joerg Schilling.
91636
91637 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91638
91639         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
91640         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
91641         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
91642         heuristic is just as accurate as far as we know, and it removes a
91643         dependency on size_max.m4 and ptrdiff_max.m4.
91644
91645 2003-11-11  Bruno Haible  <bruno@clisp.org>
91646
91647         * modules/xsize (Files): Add m4/size_max.m4.
91648         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
91649
91650 2003-11-11  Bruno Haible  <bruno@clisp.org>
91651
91652         * m4/size_max.m4: New file.
91653         * m4/ptrdiff_max.m4: New file.
91654         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
91655         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
91656         (gl_XALLOC): Invoke it.
91657
91658 2003-11-11  Bruno Haible  <bruno@clisp.org>
91659
91660         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
91661         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
91662         defined.
91663
91664 2003-11-10  Paul Eggert  <eggert@twinsun.com>
91665
91666         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
91667         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
91668         rejected some allocations of exactly SIZE_MAX - 2 bytes.
91669         From Bruno Haible.
91670         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
91671         not (size_t) -1, since it's defined here.
91672
91673 2003-11-09  Karl Berry  <karl@gnu.org>
91674
91675         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
91676
91677 2003-11-06  Paul Eggert  <eggert@twinsun.com>
91678
91679         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
91680         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
91681         Reject sizes of exactly SIZE_MAX bytes.
91682         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
91683         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
91684
91685 2003-11-05  Bruno Haible  <bruno@clisp.org>
91686
91687         * lib/xsize.h: Include limits.h, to avoid a possible collision with
91688         SIZE_MAX defined in <limits.h> on Solaris.
91689
91690 2003-11-04  Jim Meyering  <jim@meyering.net>
91691
91692         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
91693         variable names, rather than @VAR@.
91694         * modules/poll: Likewise.
91695
91696 2003-11-04  Bruno Haible  <bruno@clisp.org>
91697
91698         * modules/xsize: New file.
91699         * modules/linebreak: Depend on xsize.
91700         * MODULES.html.sh (func_all_modules): Add xsize.
91701
91702 2003-11-04  Bruno Haible  <bruno@clisp.org>
91703
91704         * m4/xsize.m4: New file.
91705
91706 2003-11-04  Bruno Haible  <bruno@clisp.org>
91707
91708         * lib/xsize.h: New file.
91709         * lib/linebreak.c: Include xsize.h.
91710         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
91711         argument for overflow.
91712         Suggested by Paul Eggert.
91713
91714 2003-11-03  Karl Berry  <karl@gnu.org>
91715
91716         * config/config.{guess,sub}: update from config.
91717
91718 2003-11-03  Jim Meyering  <jim@meyering.net>
91719
91720         * modules/userspec (lib_SOURCES): Add userspec.h.
91721         (Include): Add "userspec.h".
91722         Improve description.
91723
91724 2003-11-03  Jim Meyering  <jim@meyering.net>
91725
91726         * lib/userspec.c: Include "userspec.h".
91727         * lib/userspec.h: New file.
91728
91729 2003-11-03  Bruno Haible  <bruno@clisp.org>
91730
91731         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
91732
91733 2003-11-03  Bruno Haible  <bruno@clisp.org>
91734
91735         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
91736         available, to avoid (extremely rare) race condition.
91737         Suggested by Paul Eggert.
91738
91739 2003-11-02  Karl Berry  <karl@gnu.org>
91740
91741         * config/srclist.txt (vasprintf.c): sync broken, sigh.
91742
91743 2003-10-31  Paul Eggert  <eggert@twinsun.com>
91744
91745         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
91746         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
91747         (read_filesystem_list): Set and use me_type_malloced.
91748         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
91749         whatever the type happens to be), for brevity and consistency.
91750         Check for size calculation overflow on Alphas running OSF/1.
91751
91752 2003-10-31  Jim Meyering  <jim@meyering.net>
91753
91754         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
91755
91756         * lib/linebuffer.c: Include <string.h> for declaration of memset.
91757
91758 2003-10-30  Paul Eggert  <eggert@twinsun.com>
91759             Bruno Haible  <bruno@clisp.org>
91760
91761         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
91762         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
91763
91764 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
91765
91766         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
91767         netbsd*-gnu*.  Suggested by Robert Millan.
91768
91769 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91770
91771         * modules/group-member: Depend on stdbool.
91772
91773 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91774
91775         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
91776
91777 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91778
91779         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
91780         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
91781         after the 'gnu' in these cases.  This fixes some bugs in the
91782         previous change, and is based on suggestions by Robert Millan.
91783
91784 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91785
91786         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
91787         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
91788         no longer needed.
91789         * lib/quotearg.c (quotearg_n_options): Use it.
91790         * lib/group-member.c: Include <stdbool.h>.
91791         (free_group_info): Arg is now const *; don't free arg.
91792         (get_group_info): Now returns bool and accepts struct group_info *,
91793         rather than returning a malloc'ed struct group_info *.
91794         All uses changed.  Check for overflow in internal size calculation.
91795
91796         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
91797         rather than xmalloc/xrealloc.
91798         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
91799         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
91800         conformance bug: the old code used a pointer after freeing the
91801         storage that it addressed.
91802         * lib/hash.c (hash_initialize): Simplify the code by using
91803         xalloc_oversized rather than doing it by hand.
91804         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
91805         the buffer preserved.  Use free and xmalloc instead.
91806         * lib/quotearg.c (quotearg_n_options): Likewise.
91807         Use a simpler test for size overflow.  Don't use xalloc_oversized
91808         because unsigned int might be wider than size_t (!); this suggests
91809         that we should switch from unsigned int to size_t for slot numbers.
91810
91811 2003-10-28  Paul Eggert  <eggert@twinsun.com>
91812
91813         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
91814         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
91815         NetBSD kernels.  Requested by Richard Stallman.
91816
91817 2003-10-27  Paul Eggert  <eggert@twinsun.com>
91818
91819         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
91820         to allocate the returned structure.  Do not allocate a subarray,
91821         as x2nrealloc will do that.
91822         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
91823         instead of xnrealloc.
91824         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
91825
91826 2003-10-27  Bruno Haible  <bruno@clisp.org>
91827
91828         * lib/stdbool_.h: Better support for BeOS.
91829
91830 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91831
91832         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
91833         now uses inline.
91834
91835 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91836
91837         * lib/xalloc.h (xalloc_oversized): New static inline function, for
91838         callers that want to do their own size-overflow checking.  Include
91839         <stdbool.h>, since xalloc_oversized returns bool.
91840         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
91841         to use xalloc_oversized.
91842
91843         Add two functions x2realloc, x2nrealloc, for programs that grow
91844         arrays dynamically by doubling their sizes.
91845         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
91846         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
91847         New functions.
91848
91849         Port to C99 semantics for 'inline' of external functions.
91850         Bug reported by Bruno Haible.
91851         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
91852         with the old contents of xnmalloc.
91853         (xnmalloc, xmalloc): Use it.
91854         (xnrealloc_inline): New static inline function,
91855         with the old contents of xnrealloc.
91856         (xnrealloc, xrealloc): Use it.
91857
91858         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
91859         that.
91860
91861 2003-10-26  Karl Berry  <karl@gnu.org>
91862
91863         * config/srclist.txt (COPYING.DOC): no longer available from
91864         /gd/gnuorg; don't know where the ultimate source is.
91865
91866 2003-10-25  Paul Eggert  <eggert@twinsun.com>
91867
91868         Fix several address-calculation bugs in the hash modules,
91869         plus some minor code cleanup.
91870
91871         * lib/hash.h: Include <stdbool.h>, for bool.
91872         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
91873         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
91874         hash_get_n_entries, hash_get_max_bucket_length,
91875         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
91876         hash_rehash): Use size_t rather than unsigned.
91877         * lib/hash.c (struct hash_table, hash_get_n_buckets,
91878         hash_get_n_buckets_used, hash_get_n_entries,
91879         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
91880         hash_get_entries, hash_do_for_each, hash_string, is_prime,
91881         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
91882         Likewise.
91883         (SIZE_MAX): Define if not defined.
91884         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
91885         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
91886         hash_print):
91887         Use const * when possible.
91888         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
91889         (check_tuning): Fix bug: if tuning parameters were very close to
91890         0 or 1, rounding errors could have caused subscript violations.
91891         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
91892         (hash_initialize): Add 'fail:' label
91893         to free table and return NULL, and use it to simplify code.
91894         Use calloc rather than clearing the storage ourself.
91895         (hash_initialize, hash_rehash): Check for arithmetic overflow in
91896         buffer size calculations.
91897         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
91898         Include <stddef.h>, for size_t.
91899         * lib/hash-pjw.c (hash_pjw): Likewise.
91900         Switch to method described by Bruno Haible.
91901         Include <limits.h>, for CHAR_BIT.
91902         (SIZE_BITS): New macro.
91903
91904 2003-10-23  Paul Eggert  <eggert@twinsun.com>
91905
91906         * m4/getline.m4 (AM_FUNC_GETLINE):
91907         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
91908         hosts.  Problem reported by Derek Robert Price in
91909         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
91910         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
91911         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
91912
91913 2003-10-21  Paul Eggert  <eggert@twinsun.com>
91914
91915         * lib/getndelim2.c (getndelim2): When size calculation overflows,
91916         ceiling the allocation at NMAX bytes rather than silently
91917         discarding input bytes before NMAX is reached.  This makes
91918         a difference only if NMAX exceeds SIZE_MAX / 2.
91919
91920         * lib/obstack.c: Merge from glibc.
91921         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
91922         Add libc_hidden_def (_obstack_newchunk).
91923         (_obstack_free) [! defined _LIBC]: Remove.
91924         [defined _LIBC]: Make a strong alias from obstack_free, rather than
91925         a clone of the function body.
91926         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
91927         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
91928
91929         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
91930         glibc.
91931         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
91932         arg to memcpy.
91933
91934         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
91935         (obstack_ptr_grow_fast, obstack_int_grow_fast):
91936         Don't use lvalue casts, as GCC plans to remove support for them
91937         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
91938         was also present in the non-GCC version, indicating that this
91939         code had always been buggy and had never been widely used.
91940         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
91941         Use the fast variant of each macro, rather than copying the
91942         definiens of the fast variant; that way, we'll be more likely to
91943         catch future bugs in the fast variants.
91944
91945 2003-10-20  Bruno Haible  <bruno@clisp.org>
91946
91947         * modules/wait-process: New file.
91948         * MODULES.html.sh (func_all_modules): Add wait-process.
91949
91950 2003-10-20  Bruno Haible  <bruno@clisp.org>
91951
91952         * m4/wait-process.m4: New file.
91953
91954 2003-10-20  Bruno Haible  <bruno@clisp.org>
91955
91956         * lib/wait-process.h: New file, from GNU gettext.
91957         * lib/wait-process.c: New file, from GNU gettext.
91958
91959 2003-10-19  Jim Meyering  <jim@meyering.net>
91960
91961         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
91962         HPUX 10.20.
91963
91964 2003-10-18  Karl Berry  <karl@gnu.org>
91965
91966         * config/config.guess: update from config.
91967
91968 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91969
91970         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
91971         (getgroups): First arg is int, not size_t.
91972         Don't let 'free' mangle errno.
91973
91974 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91975
91976         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
91977
91978 2003-10-16  Karl Berry  <karl@gnu.org>
91979
91980         * config/config.{guess,sub}: update from config.
91981
91982 2003-10-16  Jim Meyering  <jim@meyering.net>
91983
91984         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
91985         memcpy.
91986
91987 2003-10-15  Paul Eggert  <eggert@twinsun.com>
91988
91989         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
91990         (SIZE_MAX): Remove.
91991         (new_exclude, add_exclude_file): Initial size no longer needs to
91992         be a power of 2.
91993         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
91994         our own address arithmetic overflow checking.
91995
91996         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
91997         (fnmatch): Do not alloca more than 2000 wide characters;
91998         instead, use malloc for large buffers.
91999         Check for address arithmetic overflow, and return -1
92000         with errno set to ENOMEM in that case.
92001         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
92002         (NEW_PATTERN): Do not alloca more than 8000 bytes;
92003         instead, return -1.  Check for address arithmetic overflow.
92004
92005 2003-10-14  Paul Eggert  <eggert@twinsun.com>
92006
92007         Handle invalid suffixes and overflow independently, so that
92008         callers can treat them independently as needed.  Fix some bugs in
92009         suffix handling, e.g., "100k@" was not diagnosed as an invalid
92010         suffix for a human-readable blocksize.  The major caller-visible
92011         change is the addition of a new
92012         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
92013         that both overflow and suffix chars were found.
92014
92015         * lib/human.c (humblock): Don't check separately for invalid suffix
92016         char; that is xstrtoumax's job (now that its bug is fixed).
92017         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
92018         INTMAX_MAX]: New macros.
92019         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
92020         TYPE_MAXIMUM): New macros.
92021         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
92022         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
92023         if overflow occurs, as it's what __strtol does and it's more useful
92024         in practice.
92025         (__xstrtol): If __strtol reports some error other than ERANGE,
92026         reflect it to the caller as LONGINT_INVALID.  If it reports
92027         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
92028         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
92029         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
92030         value.
92031         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
92032         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
92033         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
92034         [defined UINTMAX_MAX]: New macros.
92035
92036 2003-10-14  Bruno Haible  <bruno@clisp.org>
92037
92038         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
92039
92040 2003-10-14  Bruno Haible  <bruno@clisp.org>
92041
92042         * m4/sig_atomic_t: New file, from GNU gettext.
92043         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
92044
92045 2003-10-14  Bruno Haible  <bruno@clisp.org>
92046
92047         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
92048         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
92049         Also use volatile where needed.
92050
92051 2003-10-12  Paul Eggert  <eggert@twinsun.com>
92052
92053         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
92054         Change maintainer from Bruno Haible to 'all'.
92055
92056 2003-10-12  Paul Eggert  <eggert@twinsun.com>
92057
92058         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
92059
92060 2003-10-12  Paul Eggert  <eggert@twinsun.com>
92061
92062         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
92063         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
92064         and define in terms of the other primitives.
92065         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
92066         (SIZE_MAX): Define if not already defined.
92067         (array_size_overflow): New function.
92068         (xalloc_die): Abort instead of exiting if 'error' returns.
92069         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
92070         (xmalloc, xrealloc): Use them.
92071         (xcalloc): Check for address arithmetic overflow.
92072         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
92073         a bit faster than strcpy.
92074
92075 2003-10-10  Simon Josefsson  <jas@extundo.com>
92076
92077         * modules/argp (Depends-on): Add restrict and strcase.
92078
92079 2003-10-10  Simon Josefsson  <jas@extundo.com>
92080
92081         * m4/argp.m4: Add AC_C_INLINE.
92082
92083 2003-10-08  Paul Eggert  <eggert@twinsun.com>
92084
92085         Merge getpass from libc, plus a few fixes.
92086
92087         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
92088         Include <stdbool.h>.
92089         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
92090         __fsetlocking to empty.
92091         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
92092         do include <bits/libc-lock.h>.
92093         Do not include <fcntl.h>; not needed.
92094         [_LIBC]: Include <wchar.h>.
92095         (NOTCANCEL_MODE): New macro.
92096         (flockfile, funlockfile) [_LIBC]: New macros.
92097         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
92098         [!_LIBC]: New macros.
92099         (call_fclose): New function.
92100         (getpass): Use it.  Save tty stream separately; this simplifies the
92101         code and makes it more reliable if stdin happens to equal stdout.
92102         Invoke __fsetlocking on tty.
92103         Handle thread cancellation if needed.
92104         Namespace cleanup (use __tcgetattr, __getline).
92105         Use bool for Booleans.
92106         [USE_IN_LIBIO]: Handle wide streams.
92107         [!_LIBC]: Unconditionally do the fseek, since we don't know what
92108         stream might go where.
92109
92110         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
92111         doesn't have to include <stdio.h> before us.
92112         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
92113         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
92114         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
92115         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
92116         if not declared, so that we can use getpass.c code from libc without
92117         rewriting it.
92118         (flockfile, ftrylockfile, funlockfile): New macros.
92119
92120 2003-10-08  Paul Eggert  <eggert@twinsun.com>
92121
92122         * modules/getpass: Depend on stdbool.
92123
92124 2003-10-08  Paul Eggert  <eggert@twinsun.com>
92125
92126         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
92127
92128 2003-10-07  Karl Berry  <karl@gnu.org>
92129
92130         * config/config.{guess,sub}: update from config.
92131
92132 2003-10-06  Jim Meyering  <jim@meyering.net>
92133             Bruno Haible  <bruno@clisp.org>
92134
92135         This lets translators provide better translations for the
92136         "Written by ..." part of --version output.
92137         * lib/version-etc.h: Include stdarg.h.
92138         (version_etc_copyright): Declare as readonly.
92139         (version_etc): Make this function variadic with a NULL-terminated list
92140         of author name strings.
92141         (version_etc_va): New declaration.
92142         * lib/version-etc.c: Include stdarg.h, stdlib.h.
92143         (version_etc_copyright): Declare as readonly.
92144         (version_etc_va): New function. Provide a different translatable string
92145         for each possible number of authors < 10. Abbreviate when there are 10
92146         authors or more.
92147         (version_etc): Make this function variadic. Call version_etc_va.
92148         Suggestion from Gary V. Vaughan.
92149
92150         * lib/long-options.h (parse_long_options): Change prototype: the
92151         authors string is moved to the end and becomes variadic.
92152         * lib/long-options.c: Include stdarg.h.
92153         (parse_long_options): Make this function variadic, too.
92154         Call version_etc_va, not version_etc.
92155
92156 2003-10-06  Bruno Haible  <bruno@clisp.org>
92157
92158         * modules/version-etc-2: Remove file.
92159         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
92160
92161 2003-10-06  Bruno Haible  <bruno@clisp.org>
92162
92163         * modules/fatal-signal: New file.
92164         * MODULES.html.sh (func_all_modules): Add fatal-signal.
92165
92166 2003-10-06  Bruno Haible  <bruno@clisp.org>
92167
92168         * m4/fatal-signal.m4: New file.
92169         * m4/signalblocking.m4: New file, from GNU gettext.
92170
92171 2003-10-06  Bruno Haible  <bruno@clisp.org>
92172
92173         * lib/version-etc-2.h: Remove file.
92174         * lib/version-etc-2.c: Remove file.
92175
92176 2003-10-06  Bruno Haible  <bruno@clisp.org>
92177
92178         * lib/fatal-signal.h: New file, from GNU gettext.
92179         * lib/fatal-signal.c: New file, from GNU gettext.
92180
92181 2003-10-05  Paul Eggert  <eggert@twinsun.com>
92182
92183         * README: Rework advice for preventing empty .o files.
92184         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
92185         not <sys/types.h>.
92186
92187 2003-10-04  Karl Berry  <karl@gnu.org>
92188
92189         * lib/argp*: update from libc.
92190
92191 2003-10-04  Karl Berry  <karl@gnu.org>
92192
92193         * config/config.{guess,sub}: update from config.
92194
92195 2003-10-02  Bruno Haible  <bruno@clisp.org>
92196
92197         * modules/lchown (Include): Add lchown.h.
92198         * modules/time_r (Include): Use "..." syntax.
92199         * modules/xgetdomainname (Include): Add xgetdomainname.h.
92200
92201 2003-10-01  Simon Josefsson  <jas@extundo.com>
92202
92203         * MODULES.html.sh (func_all_modules): Move gethostname from section
92204         'based on' to section 'lacking' POSIX:2001.
92205
92206 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
92207
92208         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
92209         to output mode on the same stream.
92210
92211 2003-09-29  Paul Eggert  <eggert@twinsun.com>
92212
92213         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
92214         Fix arg typo in previous patch.
92215
92216 2003-09-28  Jim Meyering  <jim@meyering.net>
92217
92218         * lib/error.c: Correct cpp indentation.
92219
92220 2003-09-27  Paul Eggert  <eggert@twinsun.com>
92221
92222         * modules/free: New file.
92223
92224 2003-09-27  Paul Eggert  <eggert@twinsun.com>
92225
92226         * m4/free.m4: New file.
92227
92228 2003-09-27  Paul Eggert  <eggert@twinsun.com>
92229
92230         * lib/minmax.h (MIN, MAX)
92231         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
92232         Omit the special code that used __typeof__, since we worry that
92233         it could be more trouble than it's worth.  See:
92234         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
92235         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
92236
92237         * lib/free.c: New file.
92238
92239 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
92240
92241         Trivial fixes to Makefile.am parts of module listings.
92242         * modules/strstr: Append strstr.h to lib_SOURCES.
92243         * modules/strcase: Likewise, for strcase.h.
92244
92245 2003-09-27  Karl Berry  <karl@gnu.org>
92246
92247         * config/mkinstalldirs: update from automake.
92248
92249 2003-09-26  Paul Eggert  <eggert@twinsun.com>
92250
92251         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
92252         (error_tail): Do not loop, reallocating temporary buffer, since
92253         the output cannot contain more wide characters than the input
92254         contains bytes, the size must be big enough already.  This avoids
92255         one potential size overflow calculation.  Check for size overflow
92256         when calculating temporary buffer size.  Free temporary buffer
92257         when done, if it was allocated with malloc; this plugs a memory
92258         leak.  Remove casts from void * to pointers, that are no longer
92259         needed now that we're assuming C89 or better.
92260
92261         Merge error changes from glibc.
92262
92263         * lib/error.c, error.h: Update copyright notice header to match glibc.
92264         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
92265         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
92266         Disable cancellation while printing error.
92267         * lib/error.h: Prepend __ to parameter names.
92268
92269 2003-09-26  Jim Meyering  <jim@meyering.net>
92270
92271         * lib/error.c (error_tail): Move some declarations
92272         into inner scope where the local variables are used.
92273
92274 2003-09-26  Bruno Haible  <bruno@clisp.org>
92275
92276         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
92277         stpncpy().
92278         Don't define stpncpy through config.h; it's now done through stpncpy.h.
92279
92280 2003-09-26  Bruno Haible  <bruno@clisp.org>
92281
92282         * lib/stpncpy.h (gnu_stpncpy): New declaration.
92283         (stpncpy): Define as alias for gnu_stpncpy.
92284         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
92285
92286 2003-09-25  Simon Josefsson  <jas@extundo.com>
92287
92288         * lib/xgetdomainname.h: New file.
92289         * lib/xgetdomainname.c: New file.
92290
92291 2003-09-25  Simon Josefsson  <jas@extundo.com>
92292             Bruno Haible  <bruno@clisp.org>
92293
92294         * modules/getdomainname: New file.
92295         * modules/xgetdomainname: New file.
92296         * MODULES.html.sh (func_all_modules): Add getdomainname,
92297         xgetdomainname.
92298
92299 2003-09-25  Simon Josefsson  <jas@extundo.com>
92300             Bruno Haible  <bruno@clisp.org>
92301
92302         * m4/getdomainname.m4: New file.
92303
92304 2003-09-25  Simon Josefsson  <jas@extundo.com>
92305             Bruno Haible  <bruno@clisp.org>
92306
92307         * lib/getdomainname.h: New file.
92308         * lib/getdomainname.c: New file.
92309
92310 2003-09-25  Karl Berry  <karl@gnu.org>
92311
92312         * lib/argp-fmtstream.c, argp-help.c: update from libc.
92313
92314 2003-09-25  Karl Berry  <karl@gnu.org>
92315
92316         * config/install-sh: update from automake.
92317
92318 2003-09-25  Bruno Haible  <bruno@clisp.org>
92319
92320         * modules/version-etc-2: New file, from modules/version-etc with
92321         modifications.
92322         * MODULES.html.sh (func_all_modules): Add version-etc-2.
92323
92324 2003-09-25  Bruno Haible  <bruno@clisp.org>
92325
92326         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
92327         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
92328
92329 2003-09-24  Simon Josefsson  <jas@extundo.com>
92330
92331         * modules/xgethostname: Add xgethostname.h.
92332
92333 2003-09-24  Paul Eggert  <eggert@twinsun.com>
92334
92335         * lib/linebuffer.c (freebuffer): Don't free the argument, just
92336         the buffer associated with the argument.  Bug reported by
92337         Simon Josefsson.
92338
92339 2003-09-24  Paul Eggert  <eggert@twinsun.com>
92340
92341         * README: Document assumptions that 'int' is at least 32 bits
92342         wide, that integer arithmetic is 2's complement without overflow,
92343         that there are no holes in integer values, that adding sizes of
92344         two nonoverlapping objects can't overflow, and that all-bits-zero
92345         yields scalar zero.  Fix spelling and capitalization typos.
92346
92347 2003-09-19  Karl Berry  <karl@gnu.org>
92348
92349         * lib/argp.h: update from libc.
92350
92351 2003-09-17  Paul Eggert  <eggert@twinsun.com>
92352
92353         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
92354         to avoid spurious warnings like "AC_RUN_IFELSE was called before
92355         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
92356
92357 2003-09-17  Paul Eggert  <eggert@twinsun.com>
92358
92359         * gnulib-tool: Use "test -h", not "test -L", for portability
92360         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
92361         (tags_regexp): Remove, since \| doesn't conform to POSIX.
92362         (sed_extract_prog): Issue s commands one-by-one, rather than
92363         using \| in one s command.
92364
92365 2003-09-16  Paul Eggert  <eggert@twinsun.com>
92366
92367         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
92368         input error, instead of returning NULL the next time we are called
92369         (and therefore losing track of errno).
92370
92371 2003-09-16  Bruno Haible  <bruno@clisp.org>
92372
92373         * gnulib-tool (func_create_testdir): Warn about duplicated
92374         dependencies.
92375
92376 2003-09-15  Paul Eggert  <eggert@twinsun.com>
92377
92378         * modules/argmatch, modules/fatal, modules/obstack,
92379         modules/xalloc, modules/xgethostname: Sort dependencies by
92380         importance, not alphabetically.
92381
92382 2003-09-15  Paul Eggert  <eggert@twinsun.com>
92383
92384         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
92385         fails, so that the caller gets the proper errno.
92386
92387         * lib/readutmp.c (read_utmp): Likewise.
92388         Check for fstat error.  Close stream and free storage
92389         when failing.
92390
92391 2003-09-14  Karl Berry  <karl@gnu.org>
92392
92393         * config/srclist.txt (strdup.c): disable for c89 changes.
92394
92395 2003-09-14  Jim Meyering  <jim@meyering.net>
92396
92397         * lib/getloadavg.c: Correct cpp indentation.
92398         * lib/strdup.c: Likewise.
92399         * lib/vasnprintf.c: Likewise.
92400
92401 2003-09-14  Bruno Haible  <bruno@clisp.org>
92402
92403         * modules/fwriteerror: New file.
92404         * MODULES.html.sh (func_all_modules): Add fwriteerror.
92405
92406 2003-09-14  Bruno Haible  <bruno@clisp.org>
92407
92408         * lib/fwriteerror.h: New file.
92409         * lib/fwriteerror.c: New file.
92410
92411 2003-09-12  Paul Eggert  <eggert@twinsun.com>
92412
92413         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
92414         modules/xgethostname, modules/xalloc: Depend on exit.
92415
92416 2003-09-12  Paul Eggert  <eggert@twinsun.com>
92417
92418         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
92419
92420         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
92421         and AC_MINIX, too, so that their extensions are available.
92422
92423         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
92424         This macro has been superseded by gl_BACKUPFILE.
92425
92426         More patches to assume C89 or better.
92427
92428         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
92429
92430         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
92431         unconditionally.
92432         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
92433         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
92434         Include <string.h>, <stdlib.h> unconditionally.
92435         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
92436         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
92437         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
92438         headers or for string.h.
92439         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
92440         or strtoul.
92441
92442         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
92443         headers.
92444         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
92445         * m4/userspec.m4 (gl_USERSPEC): Likewise.
92446         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
92447         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
92448         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
92449         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
92450         memcpy, memset.
92451         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
92452         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
92453         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
92454         strtol.
92455         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
92456         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
92457         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
92458         strtoul.
92459
92460 2003-09-12  Paul Eggert  <eggert@twinsun.com>
92461
92462         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
92463         * lib/obstack.c [!defined _LIBC]: Likewise.
92464         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
92465         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
92466         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
92467
92468         More changes to assume C89 or better.
92469
92470         * lib/error.c (error_tail): Assume vprintf.
92471
92472         * lib/argmatch.c (getenv): Remove decl.
92473         * lib/progreloc.c (get_full_program_name): Define via prototype.
92474         * lib/setenv.c (clearenv): Likewise.
92475         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
92476         needed.
92477         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
92478         (malloc, memcpy): Remove decls.
92479         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
92480         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
92481         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
92482         (memcpy): Remove macro.
92483         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
92484         (__P): Remove.  All uses removed.
92485         (PTR): Remove.  All uses changed to void *.
92486         (CHAR_BIT, NULL): Remove.
92487         (spaces, zeros, memset_space, memset_zero)
92488         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
92489         Remove.
92490         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
92491         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
92492         Define with prototype.
92493         Remove now-unnecessary prototype decl.
92494         (extra_args_spec): Assume ANSI C.  All uses changed.
92495         (extra_args_spec_iso): Remove.
92496         (my_strftime, emacs_strftimeu): Define via prototype.
92497         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
92498         unconditionally.
92499         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
92500         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
92501         (strtoul, strtol): Remove decls.
92502         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
92503         LONG_MAX): Remove.
92504         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
92505         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
92506         (LOCALE_PARAM_PROTO): New macro.
92507         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
92508         (INTERNAL (strtol), strtol): Define with a prototype.
92509         (PARAMS): Remove.  All uses removed.
92510         * lib/tempname.c: Include <string.h> unconditionally.
92511         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
92512         * lib/xgethostname.c (main): Define with a prototype.
92513         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
92514         Include <stdlib.h> unconditionally.
92515         (calloc, malloc, realloc, free): Remove decls.
92516         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
92517         Include <stdlib.h> unconditionally.  Sort include file names.
92518         (strtod): Remove.
92519         (xstrtod): Define with a prototype.
92520         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
92521         (strtol, strtoul): Remove decls.
92522
92523 2003-09-11  Paul Eggert  <eggert@twinsun.com>
92524
92525         More patches to assume C89 or better.
92526         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
92527         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
92528         string.h, memchr, STDC_HEADERS.
92529
92530 2003-09-11  Paul Eggert  <eggert@twinsun.com>
92531
92532         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
92533         Include <stdlib.h>, <string.h> unconditionally.
92534         Remove now-unnecessary cast to char *.
92535         * lib/strnlen.c: Include <string.h> unconditionally.
92536         * lib/yesno.c (yesno): Define with a prototype.
92537
92538 2003-09-11  Bruno Haible  <bruno@clisp.org>
92539
92540         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
92541
92542 2003-09-10  Jim Meyering  <jim@meyering.net>
92543
92544         * lib/error.c: Correct indentation of cpp directives.
92545
92546 2003-09-10  Bruno Haible  <bruno@clisp.org>
92547
92548         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
92549         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
92550         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
92551         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
92552         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
92553         <stdlib.h> and <string.h> checks.
92554         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
92555         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
92556
92557 2003-09-10  Bruno Haible  <bruno@clisp.org>
92558
92559         * lib/strcspn.c: Include <string.h> unconditionally.
92560         * lib/strpbrk.c: Include <string.h> unconditionally.
92561         * lib/strstr.c: Include <string.h> unconditionally.
92562         * lib/unicodeio.c: Include <string.h> unconditionally.
92563         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
92564         * lib/unsetenv.c: Likewise.
92565         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
92566         * lib/yesno.c: Include <stdlib.h> unconditionally.
92567         (rpmatch): Add prototype.
92568
92569 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92570
92571         More patches to assume C89 or better.
92572         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
92573         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
92574         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
92575         or for string.h.
92576         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
92577         stdlib.h.
92578         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
92579         C headers.
92580         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
92581         string.h.
92582         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
92583         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
92584         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
92585         or for string.h.
92586         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
92587         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
92588         C headers.
92589         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
92590         memcpy.
92591         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
92592         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
92593         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
92594         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
92595         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
92596         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
92597         string.h, free.
92598         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
92599         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
92600         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
92601         C headers, or for string.h.
92602         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
92603         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
92604         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
92605         headers, memory.h, stdlib.h, string.h, strings.h.
92606         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
92607         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
92608         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
92609         strchr.
92610         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
92611         headers, memory.h, string.h.
92612         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
92613         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
92614         free.
92615         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
92616         headers.
92617         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
92618         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
92619         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
92620         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
92621         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
92622
92623 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92624
92625         More K&R removal.
92626
92627         * lib/acosl.c (main): Use a prototype.
92628         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
92629         tanl.c: Likewise.
92630
92631         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
92632
92633         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
92634         (getopt, etopt_long, getopt_long_only, _getopt_internal)
92635         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
92636         with a prototype.
92637         * lib/getopt.c (const): Remove macro.
92638         Include <string.h> unconditionally.
92639         (my_index): Remove; all uses changed to strchr.
92640         (strlen): Remove decl.
92641         (exchange): Remove forward decl; no longer needed.
92642         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
92643         Define with prototype.
92644         * lib/getopt1.c (const): Remove macro.
92645         (getopt_long, getopt_long_only, main): Define with prototype.
92646
92647         * lib/getugroups.c: Include <string.h> unconditionally.
92648
92649         * lib/getusershell.c: Include <stdlib.h> unconditionally.
92650         (getusershell, setusershell, endusershell, readname, main):
92651         Define with prototypes.
92652
92653         * lib/group-member.c: Include group-member.h first.
92654         Include <stdlib.h> unconditionally.
92655
92656         * lib/hard-locale.c: Include hard-locale.h first.
92657         Include <stdlib.h>, <string.h> unconditionally.
92658
92659         * lib/hash.c (free, malloc): Remove decls.
92660         Include <stdlib.h> unconditionally.
92661
92662         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
92663         (getenv): Do not declare.
92664
92665         * lib/idcache.c: Include <string.h> unconditionally.
92666
92667         * lib/long-options.c: Include long-options.h first, to test interface.
92668         Include <stdlib.h> unconditionally.
92669
92670         * lib/makepath.c: Include makepath.h first, to test interface.
92671         Include <stdlib.h> and <string.h> unconditionally.
92672
92673         * lib/linebuffer.c: Include <stdlib.h>.
92674         (free): Remove decl.
92675
92676         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
92677         stddef.h. rpl_malloc returns void *, not char *.
92678         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
92679         prototype.
92680
92681         * lib/md5.h: Include <limits.h> unconditionally.
92682         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
92683         (__P): Remove; all uses removed.
92684         * lib/md5.c: Include "md5.h" first.
92685         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
92686         md5_buffer, md5_process_bytes, md5_process_block):
92687         Define with prototypes.
92688         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
92689         * lib/sha.c: Include "sha.h" first.
92690         Include <stdlib.h>, <string.h> unconditionally.
92691
92692         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
92693         * lib/memcmp.c (__ptr_t): Likewise.
92694         * lib/memrchr.c (__ptr_t): Likewise.
92695         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
92696         Include <string.h> unconditionally.
92697         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
92698         * lib/memchr.c: Include <stdlib.h> unconditionally.
92699         * lib/memchr.c (LONG_MAX): Remove.
92700         * lib/memrchr.c (LONG_MAX): Likewise.
92701         * lib/memchr.c (__memchr): Define via a prototype.
92702         * lib/memrchr.c (__memrchr): Likewise.
92703         * lib/memcmp.c (__P): Remove, and remove all uses.
92704         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
92705         Remove forward decls; no longer needed.
92706         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
92707         Use types required by C89 in prototype.
92708
92709         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
92710         * lib/savedir.c: Likewise.
92711         * lib/mkdir.c (free): Remove decl.
92712         * lib/rmdir.c (rmdir): Define with a prototype.
92713         * lib/savedir.c: Include savedir.h first, to test interface.
92714
92715         * lib/mktime.c (STDC_HEADERS): Remove.
92716         Include <stdlib.h>, <string.h> unconditionally.
92717
92718         * lib/modechange.c: Include <stdlib.h> unconditionally.
92719         (malloc): Remove decl.
92720
92721         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
92722         (free): Remove decl.
92723
92724         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
92725         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
92726         (This type really should be intptr_t, but that's a C99ism.)
92727         (_obstack_memcpy): Remove: all uses changed to memcpy.
92728         Include <string.h> unconditionally.
92729         (struct obstack): Assume __STDC__ for types of members
92730         chunkfun, freefun, extra_arg.
92731         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
92732         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
92733         obstack_begin, obstack_specify_allocation,
92734         obstack_specify_allocation_with_arg, obstack_chunkfun,
92735         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
92736         Remove unprototyped decls and the macros that use them.
92737         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
92738         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
92739         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
92740         (defined __STDC__ && __STDC__)]:
92741         Remove nonprototyped code.
92742         Include <stdlib.h> unconditionally.
92743         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
92744         _obstack_allocated_p, _obstack_free, obstack_free,
92745         _obstack_memory_used, print_and_abort):
92746         Define using prototypes.
92747         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
92748         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
92749         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
92750         obstack_next_free, obstack_object_size, obstack_room) [0]:
92751         Remove unused, unprototyped code.
92752
92753         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
92754
92755         * lib/physmem.c (physmem_total, physmem_available, main): Define
92756         with prototypes.
92757
92758         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
92759         (main): Define with a prototype.
92760
92761         * lib/posixver.c (getenv): Remove decl.
92762
92763         * lib/putenv.c (malloc): Returns void *, not char *.
92764         Include <string.h> unconditionally.
92765         (strchr, memcpy, NULL): Do not define.
92766
92767         * lib/readtokens.c: Include readtokens.h first, to test interface.
92768         Include <stdlib.h>, <string.h> unconditionally.
92769         (init_tokenbuffer): Define with a prototype.
92770
92771         * lib/regex.c (PARAMS): Remove.  All uses removed.
92772         All uses of _RE_ARGS removed, too.
92773         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
92774         unconditionally.
92775         (bzero): Assume memset exists.
92776         (memcmp, memcpy, NULL): Remove.
92777         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
92778         char, or assignments to local vars of type signed char.
92779         (init_syntax_once, PREFIX(extract_number_and_incr),
92780         PREFIX(print_partial_compiled_pattern),
92781         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
92782         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
92783         PREFIX(regex_grow_registers), PREFIX(regex_compile),
92784         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
92785         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
92786         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
92787         wcs_compile_range, byte_compile_range, truncate_wchar,
92788         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
92789         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
92790         count_mbs_length, wcs_re_match_2_internal,
92791         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
92792         PREFIX(alt_match_null_string_p),
92793         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
92794         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
92795         regfree, PREFIX(extract_number)): Define with prototype.  Remove
92796         now-unnecessary declaration, if any.
92797         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
92798         regcomp, regexec):
92799         Remove now-unnecessary casts among pointer types.
92800         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
92801
92802         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
92803         (free): Remove decl.
92804
92805         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
92806
92807         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
92808         (free): Remove decl.
92809
92810         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
92811         * lib/xgetcwd.c: Likewise.
92812
92813         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
92814         (free): Remove decl.
92815
92816         * lib/strchrnul.c (strchrnul): Define with a prototype.
92817         Fix bug: c_in was not converted to char before searching.
92818
92819         The following changes are not K&R related:
92820
92821         * lib/group-member.h: Include <sys/types.h>, so that this file is
92822         self-contained.
92823         * lib/makepath.h: Likewise.
92824
92825         * lib/getusershell.c (readname, default_index, line_size, readname):
92826         Use size_t, not int, for sizes.
92827         (readname): If the size overflows, report an error instead of
92828         looping forever.
92829
92830 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92831
92832         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
92833         libc.
92834
92835 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92836
92837         * README: New section: portability guidelines.
92838
92839 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92840
92841         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
92842         C89 spec.
92843
92844 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92845
92846         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
92847
92848 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92849
92850         Assume C89 or better; remove K&R cruft.
92851         A few of these changes were first proposed by Derek Robert Price
92852         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
92853
92854         * lib/addext.c: Include <string.h> unconditionally.
92855         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
92856         Don't declare getenv or malloc.
92857
92858         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
92859         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
92860         (NULL): Remove.
92861         (find_stack_direction, alloca): Use prototypes.
92862
92863         * lib/atexit.c (atexit): Define using a prototype.
92864
92865         * lib/basename.c, dirname.c, stripslash.c:
92866         Include <string.h> unconditionally.
92867
92868         * lib/bcopy.c: Include <stddef.h>.
92869         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
92870
92871         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
92872
92873         * lib/error.h (error, error_at_line, error_print_progname)
92874         [! (defined (__STDC__) && __STDC__)]: Remove decls.
92875         * lib/error.c: Include error.h first, to check interface.
92876         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92877         (VA_START): Remove; all uses changeed to va_start.
92878         (exit, strerror): Remove decls.
92879         (error_print_progname): Prototype uncondionally.
92880         Don't include <errno.h>; no longer needed.
92881         (private_strerror): Remove.
92882         (error_tail): Always define.
92883         (error, error_at_line): Assume C89 or better; always use prototypes.
92884         * lib/fatal.c: Include "fatal.h" first, to test interface.
92885         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92886         (VA_START): Remove; all uses changed to va_start.
92887         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
92888         this case.
92889         (exit): Remove decl.
92890         (fatal): Prototype unconditionally.  Assume va_start works.
92891         Abort at end, to pacify gcc.
92892
92893         * lib/euidaccess.c (main): Define with a prototype.
92894
92895         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
92896
92897         * lib/exitfail.c: Include <stdlib.h> unconditionally.
92898
92899         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
92900         prototypes.
92901         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
92902         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
92903         (getenv): Remove decl.
92904         (fnmatch): Define using a prototype.
92905         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
92906         (FCT): Define using a prototype.
92907
92908         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
92909
92910         * lib/gethostname.c: Include <stddef.h>.
92911         (gethostname): Define with prototype.  Length is size_t, not int.
92912
92913 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92914
92915         Assume C89 or better; remove K&R cruft.
92916         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
92917         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
92918         string.h, getenv, malloc.
92919         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
92920         headers.
92921         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
92922         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
92923         do not check for strerror.
92924         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
92925         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
92926         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
92927         do not check for doprnt or vprintf.
92928         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
92929         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
92930
92931 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92932
92933         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
92934         getversion.c should have been removed then, but was accidentally
92935         preserved.
92936
92937         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
92938         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
92939
92940 2003-09-08  Karl Berry  <karl@gnu.org>
92941
92942         * config/config.sub, config.guess, srclistvars.sh: update from savannah
92943                 config, forget about prep.
92944
92945         * config/depcomp, missing: update from automake.
92946
92947 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92948
92949         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
92950         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92951
92952 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92953
92954         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
92955         copy_tm_result.  Bug reported by Simon Josefsson in
92956         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92957
92958 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92959
92960         * m4/time_r.m4: New file.
92961         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
92962         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
92963         is. Check for timegm declaration.
92964         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
92965         Do not check for gmtime_r.
92966         Replace mktime if __mktime_internal does not exist and if mktime
92967         hasn't been replaced already.
92968
92969 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92970
92971         * lib/time_r.c, lib/time_r.h: New files.
92972
92973         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
92974         __localtime_r.
92975         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
92976         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
92977
92978         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
92979         __gmtime_r.
92980         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
92981         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
92982         Include <time_r.h>.
92983
92984         * lib/timegm.c: Switch to glibc implementation, with the following
92985         changes:
92986         [defined HAVE_CONFIG_H]: Include <config.h>.
92987         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
92988         (__mktime_internal) [!defined _LIBC]: New decl.
92989         (__gmtime_r) [!defined _LIBC]: New macro and function.
92990         (timegm): Use a prototype, since gnulib assumes C89.
92991         Do not bother declaring tmp to be const, as it's not really usefu.
92992         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
92993         (timegm): Declare only if HAVE_DECL_TIMEGM.
92994
92995 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92996
92997         * MODULES.html.sh (func_all_modules): Add time_r.
92998         * modules/time_r: New file.
92999         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
93000         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
93001
93002 2003-09-03  Paul Eggert  <eggert@twinsun.com>
93003
93004         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
93005         Bug reported by Lute Kamstra in
93006         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
93007
93008         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
93009         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
93010         course with correspondingly smaller numbers for tomorrow and
93011         yesterday.  From Tadayoshi Funaba.  Originally installed into
93012         sh-utils on 1999-08-07, but the patch got lost (I guess during the
93013         coreutils merge?).
93014
93015 2003-08-31  Simon Josefsson  <jas@extundo.com>
93016
93017         * modules/timegm: New file.
93018         * MODULES.html.sh (func_all_modules): Add timegm.
93019
93020 2003-08-31  Simon Josefsson  <jas@extundo.com>
93021
93022         * m4/timegm.m4: New file.
93023
93024 2003-08-31  Simon Josefsson  <jas@extundo.com>
93025
93026         * lib/timegm.h: New file.
93027         * lib/timegm.c: New file.  Based on
93028         wget-1.8.2/src/http.c:mktime_from_utc.
93029
93030 2003-08-31  Karl Berry  <karl@gnu.org>
93031
93032         * lib/argp.h: update from libc.
93033
93034 2003-08-28  Bruno Haible  <bruno@clisp.org>
93035
93036         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
93037         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
93038         followed by '#define fnmatch fnmatch_posix' gives an error.
93039
93040 2003-08-28  Bruno Haible  <bruno@clisp.org>
93041
93042         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
93043         warning on QNX, which defines O_BINARY to 000000.
93044
93045 2003-08-27  Jim Meyering  <jim@meyering.net>
93046
93047         * m4/mkstemp.m4: Require that the system mkstemp be able to create
93048         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
93049         would fail after 32.  Reported by Danny Levinson.  Details here:
93050         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
93051
93052 2003-08-24  Bruno Haible  <bruno@clisp.org>
93053
93054         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
93055         MSVC7 <stdio.h> is included later.
93056
93057 2003-08-22  Simon Josefsson  <jas@extundo.com>
93058
93059         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
93060
93061 2003-08-20  Karl Berry  <karl@gnu.org>
93062
93063         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
93064
93065 2003-08-20  Bruno Haible  <bruno@clisp.org>
93066
93067         * modules/progname: New file.
93068         * MODULES.html.sh (func_all_modules): Add progname.
93069
93070 2003-08-20  Bruno Haible  <bruno@clisp.org>
93071
93072         * lib/progname.h: New file, from GNU gettext.
93073         * lib/progname.c: New file, from GNU gettext.
93074         * lib/progreloc.c: New file, from GNU gettext.
93075
93076 2003-08-19  Jim Meyering  <jim@meyering.net>
93077
93078         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
93079         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
93080
93081 2003-08-19  Bruno Haible  <bruno@clisp.org>
93082
93083         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
93084         more.
93085
93086 2003-08-19  Bruno Haible  <bruno@clisp.org>
93087
93088         * lib/xstrdup.c: Assume <string.h> exists.
93089
93090 2003-08-18  Paul Eggert  <eggert@twinsun.com>
93091
93092         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
93093         in makefile rules.
93094
93095 2003-08-18  Jim Meyering  <jim@meyering.net>
93096
93097         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
93098         * m4/lib-ld.m4: Likewise.
93099
93100 2003-08-18  Jim Meyering  <jim@meyering.net>
93101
93102         * lib/setenv.h: Indent nested cpp directive.
93103         * lib/vasnprintf.c: Remove trailing blanks.
93104
93105 2003-08-17  Simon Josefsson  <jas@extundo.com>
93106
93107         * modules/xstrndup: New file.
93108         * MODULES.html.sh (func_all_modules): Add xstrndup.
93109
93110 2003-08-17  Simon Josefsson  <jas@extundo.com>
93111
93112         * modules/argp: Fix autoconf macro name. Add more dependencies.
93113
93114 2003-08-17  Simon Josefsson  <jas@extundo.com>
93115
93116         * m4/xstrndup.m4: New file.
93117
93118 2003-08-17  Simon Josefsson  <jas@extundo.com>
93119
93120         * m4/argp.m4: New file.
93121
93122 2003-08-17  Simon Josefsson  <jas@extundo.com>
93123             Bruno Haible  <bruno@clisp.org>
93124
93125         * lib/xstrndup.h: New file.
93126         * lib/xstrndup.c: New file.
93127
93128 2003-08-17  Bruno Haible  <bruno@clisp.org>
93129
93130         * modules/strndup (Files, Include): Add lib/strndup.h.
93131
93132 2003-08-17  Bruno Haible  <bruno@clisp.org>
93133
93134         * modules/euidaccess (Files): Add lib/euidaccess.h.
93135
93136 2003-08-17  Bruno Haible  <bruno@clisp.org>
93137
93138         * lib/strndup.h: New file.
93139
93140 2003-08-17  Bruno Haible  <bruno@clisp.org>
93141
93142         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
93143         like AC_GNU_SOURCE.
93144         * modules/extensions (configure.ac): Comment out the invocation of
93145         gl_USE_SYSTEM_EXTENSIONS.
93146
93147 2003-08-16  Paul Eggert  <eggert@twinsun.com>
93148
93149         Merges from coreutils, etc.
93150         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
93151         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
93152         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
93153         fixing a typo.
93154         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
93155         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
93156
93157 2003-08-16  Paul Eggert  <eggert@twinsun.com>
93158
93159         Document merge from coreutils.
93160         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
93161         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
93162         * modules/utime: Add m4/utimes-null.m4.
93163
93164 2003-08-16  Paul Eggert  <eggert@twinsun.com>
93165
93166         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
93167         space, undoing this 2003-08-12 change:
93168         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
93169
93170 2003-08-16  Paul Eggert  <eggert@twinsun.com>
93171
93172         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
93173         strtoul.c from libc, undoing this 2003-08-12 change:
93174         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
93175
93176 2003-08-16  Jim Meyering  <jim@meyering.net>
93177
93178         Merges from coreutils.
93179         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
93180         prefix.  Adjust cache variables similarly.  Create 500 rather than
93181         just 300 files, to exercise bug on Darwin6.5, too.
93182         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
93183         $missing_dir.
93184         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
93185         AM_SYS_POSIX_TERMIOS.
93186         Reported by mkc@mathdogs.com.
93187         Also change use of $am_cv_sys_posix_termios
93188         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
93189         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
93190         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
93191         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
93192         in /proc/mounts until it finds one with matching device number.  This
93193         is unnecessary when the FILE argument *is* a mount point.  No stat call
93194         is necessary in that case.  So, disable the statvfs-testing code on
93195         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
93196         as RedHat bug# 84846.
93197         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
93198         to 1MB, so as not to render systems with no stack size limit (e.g.,
93199         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
93200         Include <unistd.h>.  On some systems,
93201         it is required for the definition of _SC_PAGESIZE.
93202
93203 2003-08-16  Jim Meyering  <jim@meyering.net>
93204
93205         Merge from coreutils.
93206         * lib/xstrtoimax.c: #else #if -> #elif.
93207         * lib/xstrtoumax.c: Likewise.
93208
93209 2003-08-16  Jim Meyering  <jim@meyering.net>
93210
93211         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
93212         * m4/utimes.m4: Removed.
93213         * m4/utimes-null.m4: Renamed from utimes.m4.
93214
93215         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
93216         to 1MB, so as not to render systems with no stack size limit (e.g.,
93217         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
93218         Include <unistd.h>.  On some systems,
93219         it is required for the definition of _SC_PAGESIZE.
93220
93221 2003-08-16  Jim Meyering  <jim@meyering.net>
93222         and Paul Eggert  <eggert@cs.ucla.edu>
93223
93224         Merges from coreutils, etc.
93225
93226         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
93227         using the latest version from cvs.  This avoids problems with #line
93228         directives using a vendor (Sun) compiler.
93229         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
93230         Don't set GETGROUPS_LIB here; now it's
93231         done via getgroups.m4's wrapper function.
93232         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
93233         rather than just in sh-util/configure.in, so that the
93234         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
93235         same.
93236         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
93237         AC_FUNC_GETLOADAVG where to find getloadavg.c.
93238         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
93239         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
93240         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
93241         Remove code that is now done by the newly-required macros.
93242         Append $(EXEEXT) to DF_PROG.
93243         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
93244         Do not invoke or require the following here,
93245         since prereq.m4 or some gnulib .m4 now does this for us:
93246         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
93247         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
93248         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
93249         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
93250         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
93251         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
93252         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
93253         AC_FUNC_OBSTACK.
93254         Do not replace the following functions, as this is now the job
93255         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
93256         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
93257         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
93258         atexit getpass, strdup, getpagesize.
93259         Replace 'raise'.
93260         Do not check for the following functions, as this is now the job
93261         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
93262         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
93263         setregid.
93264         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
93265         Check for sys/sysctl.h.
93266         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
93267         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
93268         of checking for ssize_t ourselves.
93269
93270         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
93271         Require every macro that gnulib/modules/* suggests for us.
93272         (jm_PREREQ_ADDEXT): New macro.
93273         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
93274         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
93275
93276         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
93277         (gl_PHYSMEM): Use it.
93278         Also check for `table' function.
93279         Check for new headers and functions.
93280         Add check for sys/sysmp.h.
93281         With suggestions from Kaveh Ghazi.
93282         Ignore headers that are present but cannot be compiled.  This
93283         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
93284         C 5.4.
93285
93286 2003-08-15  Paul Eggert  <eggert@twinsun.com>
93287
93288         Document merge from coreutils.
93289         * modules/userspec: Depend on posixver.
93290         * modules/strftime: Depend on tzset.
93291
93292 2003-08-15  Paul Eggert  <eggert@twinsun.com>
93293
93294         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
93295         rather than tab, after '#' in shell-script copyright notices.
93296         Suggested by Bruno Haible.
93297
93298 2003-08-15  Paul Eggert  <eggert@twinsun.com>
93299
93300         * config/srclist-update: Use three spaces, rather than tab, after '#'
93301         in shell-script copyright notices.  Suggested by Bruno Haible.
93302         Remove unnecessary parenthesization in regular expression.
93303
93304 2003-08-15  Jim Meyering  <jim@meyering.net>
93305
93306         Merge from coreutils.
93307         * lib/xgethostname.c: Include <stdlib.h>.
93308         (xghostname): Don't exit for anything other than memory-related
93309         failure; just return NULL.
93310         * lib/userspec.c: Include "posixver.h".
93311         (parse_user_spec): Accept `.' as a separator only
93312         in pre-POSIX-200112 mode.
93313         * lib/strtoimax.c: Use #elif rather than #else #if.
93314         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
93315         Remove function, now that we can rely on a working tzset function.
93316         [!_LIBC]: Ensure that the required autoconf test has been run.
93317         [!defined _NL_CURRENT && HAVE_STRFTIME]:
93318         Use underlying_strftime for %r.
93319         * lib/sha.c: Merge in some clean-up and optimization changes from
93320         glibc.
93321         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
93322         Ensure that it is a multiple of 64.
93323         Rearrange loop exit tests so as to avoid performing an
93324         additional fread after encountering an error or EOF.
93325         * lib/realloc.c: Update copyright date.
93326
93327 2003-08-15  Jim Meyering  <jim@meyering.net>
93328         and Paul Eggert  <eggert@twinsun.com>
93329
93330         Merge from coreutils.
93331         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
93332         member but strut utmpx does not.  Needed for AIX 4.3.3.
93333         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
93334
93335 2003-08-15  Jim Meyering  <jim@meyering.net>
93336         and Paul Eggert  <eggert@cs.ucla.edu>
93337
93338         Merges from coreutils, etc.
93339         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
93340         Require gl_FUNC_TZSET_CLOBBER.
93341         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
93342         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
93343         members.
93344
93345 2003-08-14  Paul Eggert  <eggert@twinsun.com>
93346
93347         Help the merge from coreutils.
93348         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
93349         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
93350         * m4/tzset.m4: Use it too.
93351
93352 2003-08-14  Paul Eggert  <eggert@twinsun.com>
93353
93354         * modules/tzset: New file.
93355
93356 2003-08-14  Jim Meyering  <jim@meyering.net>
93357
93358         Merges from coreutils.
93359         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
93360         variable names, rather than @FNMATCH_H@.
93361         * modules/alloca: Likewise for $(ALLOCA_H).
93362
93363         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
93364         the three copies of the literal target, `fnmatch.h'.
93365         * modules/alloca (alloca.h): Likewise.
93366
93367 2003-08-14  Jim Meyering  <jim@meyering.net>
93368
93369         Merge from coreutils.
93370         * m4/tzset.m4: New file.
93371         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
93372         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
93373         otherwise, AIX 5.1 systems would end up using the latter.
93374         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
93375         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
93376         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
93377         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
93378
93379 2003-08-14  Jim Meyering  <jim@meyering.net>
93380
93381         Merge from coreutils.
93382         * lib/obstack.h: Whitespace changes.
93383         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
93384         and xcalloc return values.
93385         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
93386         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
93387         hang on OSF/1 5.1 for DIR on both local and remote file systems.
93388         Reported by (and fix confirmed by) Nelson H. F. Beebe.
93389         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
93390         error from mntctl.
93391         Use mntctl's return value to drive the entry-processing loop, since
93392         we can't rely on the value of the vmt_length member in the last
93393         entry.  On some systems doing so could result in exhausting
93394         virtual memory.  Based in part on a patch from Mike Jetzer.
93395
93396 2003-08-14  Jim Meyering  <jim@meyering.net>
93397         and Paul Eggert  <eggert@twinsun.com>
93398
93399         Merges from coreutils, plus other fixes.
93400         * lib/physmem.c: Merge in portability changes from gcc/libiberty
93401         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
93402         for credits and details.  Thanks to Kaveh Ghazi for helping
93403         to keep these files in sync.
93404         (ARRAY_SIZE): Define it.
93405         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
93406         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
93407         (memcasecmp): Don't assume size_t fits in unsigned int.
93408         Remove casts and duplicate code.
93409         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
93410         (memcpy): Remove definition.
93411         Merge in some clean-up and optimization changes from glibc.
93412         [BLOCKSIZE]: Move definition to top of file.
93413         Ensure that it is a multiple of 64.
93414         Rearrange loop exit tests so as to avoid performing an
93415         additional fread after encountering an error or EOF.
93416         * lib/md5.h (md5_uintptr): Define.
93417         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
93418         return to the initial working directory.  Preserve errno
93419         for caller.
93420         * lib/idcache.c: Include "xalloc.h".
93421         (xmalloc, xrealloc): Remove decls.
93422         (getuser): Remove casts no longer required in C89.
93423         * lib/human.c: Include stdio.h, for sprintf.
93424         * lib/group-member.c: Include "xalloc.h".
93425         (xmalloc, xrealloc): Remove decls.
93426         (get_group_info): Remove casts no longer required in C89.
93427         * lib/getusershell.c (readname): Remove casts no longer required in
93428         C89.
93429         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
93430         * lib/getline.c: Whitespace fix, from coreutils.
93431
93432 2003-08-13  Paul Eggert  <eggert@twinsun.com>
93433
93434         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
93435         Check for isascii.
93436
93437         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
93438         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
93439         Undo previous (whitespace-only) change.
93440
93441 2003-08-13  Paul Eggert  <eggert@twinsun.com>
93442
93443         * lib/exclude.c: Include <ctype.h>
93444         (IN_CTYPE_DOMAIN): New macro.
93445         (is_space): New fn.
93446         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
93447         and empty lines.
93448
93449         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
93450         Undo previous (whitespace-only) change.
93451
93452 2003-08-13  Paul Eggert  <eggert@twinsun.com>
93453
93454         * config/srclist-update: Change update back to the old behavior,
93455         leaving whitespace alone.  Use one 'sed' command rather than a
93456         pipeline.
93457         (fixlicense): Now a variable, not a function.
93458         (remove_trailing_blanks): Remove.
93459         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
93460         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
93461         Undo previous (whitespace-only) change.
93462
93463 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93464
93465         Merge from coreutils.
93466         * modules/euidaccess: Add lib_SOURCES, include for new
93467         file euidaccess.h
93468
93469 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93470
93471         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
93472         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
93473         Normalize leading white space and remove trailing white space.
93474
93475         Merge from coreutils
93476         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
93477
93478         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
93479         0.12.1.  These files are now being upgraded automatically by
93480         ../config/srclist-update.
93481
93482 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93483
93484         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
93485         Normalize leading white space and remove trailing white space.
93486         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
93487         notice, as per ../config/srclist-update.
93488
93489         Merge from coreutils.
93490         * lib/euidaccess.h: New file.
93491         * lib/euidaccess.c: Include it.
93492         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
93493         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
93494         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
93495
93496 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93497
93498         * config/srclist-update: Add copyright notice.
93499         (remove_id_lines, remove_trailing_blanks): New constants.
93500         (fixfile): Use them to normalize spacing a bit in copied files.
93501         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
93502         Normalize leading white space and remove trailing white space.
93503
93504         * config/texinfo.tex: Sync with texinfo.
93505
93506         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
93507         strtoul.c from libc, to merge coreutils whitespace changes.
93508
93509         * config/srclist.txt: Get the following m4 files from gettext:
93510         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
93511         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
93512         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
93513         wint_t.m4.
93514
93515 2003-08-12  Karl Berry  <karl@gnu.org>
93516
93517         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
93518         been made.
93519
93520 2003-08-11  Paul Eggert  <eggert@twinsun.com>
93521
93522         * modules/gnu-source, m4/gnu-source.m4:
93523         Remove; we're assuming Autoconf 2.54 or later now.
93524         Suggested by Bruno Haible.
93525         * MODULES.html.sh (func_all_modules): Remove gnu-source.
93526
93527 2003-08-11  Bruno Haible  <bruno@clisp.org>
93528
93529         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
93530
93531 2003-08-11  Bruno Haible  <bruno@clisp.org>
93532
93533         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
93534         (vasnprintf): Use it instead of wcslen.
93535
93536 2003-08-11  Bruno Haible  <bruno@clisp.org>
93537
93538         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
93539         value to ensure that _Bool promotes to int. Use #define for _Bool when
93540         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
93541
93542 2003-08-10  Karl Berry  <karl@gnu.org>
93543
93544         * lib/regex.h: update from libc (whitespace fix).
93545
93546 2003-08-09  Paul Eggert  <eggert@twinsun.com>
93547
93548         Merge some files from coreutils.  These changes were
93549         originally made by Jim Meyering.
93550         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
93551         many older Unixes require this.
93552         * lib/alloca.c (alloca): Remove cast to argument of free;
93553         no longer needed in C89.
93554         * lib/alloca_.h, regex.h: Fix white space to match
93555         what GNU indent does.
93556
93557 2003-08-09  Paul Eggert  <eggert@twinsun.com>
93558
93559         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
93560         apparently Emacs's Unicode mode got confused before my 2003-08-05
93561         checkin.
93562
93563 2003-08-08  Paul Eggert  <eggert@twinsun.com>
93564
93565         * m4/extensions.m4: New file.
93566         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
93567         Require gl_USE_SYSTEM_EXTENSIONS.
93568         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
93569         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
93570
93571 2003-08-08  Paul Eggert  <eggert@twinsun.com>
93572
93573         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
93574         * modules/extensions, modules/gnu-source: New files.
93575         * modules/timespec, modules/unlocked-io: Depend on extensions.
93576
93577 2003-08-07  Paul Eggert  <eggert@twinsun.com>
93578
93579         * modules/restrict: New file.
93580         * MODULES.html.sh (func_all_modules): Add restrict.
93581         * modules/regex: Depend on restrict.
93582
93583 2003-08-07  Paul Eggert  <eggert@twinsun.com>
93584
93585         * m4/restrict.m4: New file.
93586         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
93587
93588 2003-08-07  Bruno Haible  <bruno@clisp.org>
93589
93590         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
93591         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
93592
93593 2003-08-07  Bruno Haible  <bruno@clisp.org>
93594
93595         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
93596         makes the module 'getndelim2' compatible with the module 'getline'.
93597
93598 2003-08-05  Paul Eggert  <eggert@twinsun.com>
93599
93600         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
93601         byte with "\201" to avoid glitches when editing that source file
93602         with multi-gnome-terminal.
93603
93604 2003-08-05  Paul Eggert  <eggert@twinsun.com>
93605
93606         * lib/bumpalloc.h: Remove.
93607
93608 2003-08-05  Paul Eggert  <eggert@twinsun.com>
93609
93610         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
93611         * modules/bumpalloc: Remove.
93612
93613 2003-08-04  Paul Eggert  <eggert@twinsun.com>
93614
93615         * lib/getloadavg.c: Change copyright notice and spacing to conform to
93616         GNU coding style.
93617
93618         Merge from coreutils.
93619         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
93620         1. From glibc.
93621         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
93622         from Karl Berry, implemented by Jim Meyering.
93623         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
93624         from Dmitry V. Levin.
93625         Remove anachronistic cast of xrealloc.
93626         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
93627         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
93628         type. Otherwise, it wouldn't compile with at least /bin/cc on
93629         ymp-cray-unicos9.0.2.X.
93630         Combine two mostly-identical uses of alloca into one.
93631         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
93632
93633 2003-08-04  Dave Love  <d.love@dl.ac.uk>
93634
93635         [From Emacs.]
93636
93637         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
93638         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
93639         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
93640         obsolete NLIST_NAME_UNION.
93641         [__GNU__]: Undef BSD and FSCALE.
93642         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
93643
93644 2003-08-03  Paul Eggert  <eggert@twinsun.com>
93645
93646         * lib/stdbool_.h (_Bool): Make it signed char, instead of
93647         an enum type, so that it's guaranteed to promote to int.  See:
93648         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
93649
93650 2003-08-03  Karl Berry  <karl@gnu.org>
93651
93652         * config/depcomp: update from automake.
93653
93654 2003-07-31  Paul Eggert  <eggert@twinsun.com>
93655
93656         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
93657         (strerror): Don't assume that a printable int fits in 14 bytes.
93658
93659 2003-07-31  Bruno Haible  <bruno@clisp.org>
93660
93661         * modules/getpass-gnu: New file.
93662         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
93663
93664 2003-07-31  Bruno Haible  <bruno@clisp.org>
93665
93666         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
93667
93668 2003-07-24  Karl Berry  <karl@gnu.org>
93669
93670         * config/missing: update from automake.
93671
93672 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
93673             Bruno Haible  <bruno@clisp.org>
93674
93675         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
93676         * lib/getline.c (getline, getdelim): Likewise.
93677         Remove _GNU_SOURCE define; now it's defined in config.h through
93678         m4/getline.m4.
93679
93680 2003-07-23  Karl Berry  <karl@gnu.org>
93681
93682         * config/config.sub: update from prep.
93683
93684 2003-07-22  Paul Eggert  <eggert@twinsun.com>
93685
93686         * modules/xalloc (Depends-on): Add exitfail.
93687         * modules/xmemcoll: Likewise.
93688
93689 2003-07-22  Paul Eggert  <eggert@twinsun.com>
93690
93691         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
93692         over-parenthesization in macros.
93693
93694         Sync with coreutils.
93695
93696         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
93697         required by C99.
93698
93699         Use `exit_failure' for xalloc and xmemcoll instead of their own
93700         private exit-failure variables.
93701         * lib/xalloc.h (xalloc_exit_failure): Remove.
93702         * lib/xmalloc.c: Likewise.  Include exitfail.h.
93703         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
93704         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
93705         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
93706         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
93707
93708 2003-07-20  Jim Meyering  <jim@meyering.net>
93709
93710         * modules/closeout (Depends-on): Add exitfail.
93711         Suggestion from Bruno Haible.
93712
93713 2003-07-19  Karl Berry  <karl@gnu.org>
93714
93715         * config/config.sub: update from prep.
93716
93717 2003-07-18  Paul Eggert  <eggert@twinsun.com>
93718
93719         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
93720         Remove.
93721         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
93722         to test that it can stand by itself.  Include "exitfail.h".
93723         Clients should set exit_failure instead.
93724         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
93725
93726 2003-07-18  Bruno Haible  <bruno@clisp.org>
93727
93728         * modules/getndelim2: New file.
93729         * modules/getline: Share files with module getndelim2.
93730         * modules/getnline: Depend on getndelim2 instead of sharing files with
93731         it. Add getnline.c to lib_SOURCES.
93732         * MODULES.html.sh (func_all_modules): Add getndelim2.
93733
93734 2003-07-18  Bruno Haible  <bruno@clisp.org>
93735
93736         * m4/getndelim2.m4: New file.
93737         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
93738         invoke gl_PREREQ_GETNDELIM2.
93739         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
93740         gl_PREREQ_GETNDELIM2.
93741         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
93742         gl_GETNDELIM2.
93743
93744 2003-07-18  Bruno Haible  <bruno@clisp.org>
93745
93746         * lib/getndelim2.h: New file.
93747         * lib/getndelim2.c: Make into a module of its own. Include config.h,
93748         getndelim2.h.
93749         (getndelim2): Make non-static. Change return type to ssize_t.
93750         * lib/getline.h: Change argument names.
93751         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
93752         * lib/getnline.c: Include getndelim2.h.
93753
93754 2003-07-18  Andreas Schwab  <schwab@suse.de>
93755
93756         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
93757
93758 2003-07-17  Karl Berry  <karl@gnu.org>
93759
93760         * config/config.sub: update from prep.
93761
93762 2003-07-17  Bruno Haible  <bruno@clisp.org>
93763
93764         * modules/getnline: New file.
93765         * modules/getline: Add lib/getndelim2.c to source file list.
93766         * MODULES.html.sh (func_all_modules): Add getnline.
93767
93768 2003-07-17  Bruno Haible  <bruno@clisp.org>
93769
93770         * m4/getnline.m4: New file.
93771
93772 2003-07-17  Bruno Haible  <bruno@clisp.org>
93773
93774         * m4/Makefile.am.in: Remove file.
93775         * m4/Makefile.am: Remove file.
93776         * m4/Makefile.in: Remove file.
93777
93778 2003-07-17  Bruno Haible  <bruno@clisp.org>
93779
93780         * lib/getnline.h: New file.
93781         * lib/getnline.c: New file.
93782         * lib/getndelim2.c: New file, extracted from getline.c.
93783         (getndelim2): Renamed from getdelim2, with added nmax argument.
93784         * lib/getline.c: Include getndelim2.c.
93785         (getdelim2): Moved out to getndelim2.c.
93786         (getline, getdelim): Update.
93787
93788 2003-07-17  Bruno Haible  <bruno@clisp.org>
93789
93790         * lib/Makefile.am: Remove file.
93791         * lib/Makefile.in: Remove file.
93792
93793 2003-07-17  Bruno Haible  <bruno@clisp.org>
93794
93795         * configure.in: Remove file.
93796         * Makefile.in: Remove file.
93797
93798 2003-07-17  Bruno Haible  <bruno@clisp.org>
93799
93800         * MODULES.html.sh: Put the </BODY> right before </HTML>.
93801
93802 2003-07-16  Karl Berry  <karl@gnu.org>
93803
93804         * config/srclist-update: was running fixlicense twice, which caused
93805                 texinfo.tex to be nullified for some reason.  Simplify,
93806                 $gplsrc is no longer needed as far as I can see?
93807
93808 2003-07-16  Jim Meyering  <jim@meyering.net>
93809
93810         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
93811
93812 2003-07-15  Paul Eggert  <eggert@twinsun.com>
93813
93814         * config/srclist.txt: Get the following files from gettext-runtime/intl
93815         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
93816         ref-del.sin.  From Bruno Haible.
93817         * config/srclist-update (fixfile): Change grep pattern again, since the
93818         previous fix didn't work (there was another trailing $).  Use
93819         '[$]' to escape the $s.
93820
93821 2003-07-15  Karl Berry  <karl@gnu.org>
93822
93823         * lib/vasnprintf.c: update from gettext.
93824
93825 2003-07-15  Karl Berry  <karl@gnu.org>
93826
93827         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
93828         gets expanded when surrounded by '$'.
93829
93830 2003-07-15  Jim Meyering  <jim@meyering.net>
93831
93832         * modules/save-cwd: Don't depend on error.  From Derek Price.
93833
93834 2003-07-15  Jim Meyering  <jim@meyering.net>
93835
93836         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
93837
93838 2003-07-14  Simon Josefsson  <jas@extundo.com>
93839
93840         * modules/mempcpy: New file.
93841         * MODULES.html.sh (func_all_modules): Add mempcpy.
93842
93843 2003-07-14  Simon Josefsson  <jas@extundo.com>
93844
93845         * m4/mempcpy.m4: New file.
93846
93847 2003-07-14  Simon Josefsson  <jas@extundo.com>
93848
93849         * lib/mempcpy.h: New file.
93850         * lib/mempcpy.c: New file.
93851
93852 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93853
93854         * modules/getdate, modules/posixtm: Depend on mktime.
93855
93856 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93857
93858         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
93859         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
93860         unicodeio.c, unicodeio.h, unlocked-io.h:
93861         Switch from LGPL to GPL.
93862
93863 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93864
93865         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
93866         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
93867         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
93868         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
93869         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
93870         updated automatically by ../config/srclist-update.  This changes
93871         their license from LPGL to GPL.
93872
93873 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93874
93875         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
93876         assumed to refer to the root of the most recent stable gettext version.
93877         * config/srclistvars.sh: Add defaults for eggert.
93878         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
93879         Match "This program" as well as "The program".  This is needed
93880         for gettext.
93881
93882 2003-07-14  Jim Meyering  <jim@meyering.net>
93883
93884         Don't emit diagnostics.  Let callers do that.
93885         * lib/save-cwd.c: Don't include "error.h".
93886         (save_cwd): Don't call error.  Ensure that errno is valid
93887         when returning nonzero.
93888
93889         * lib/save-cwd.h (restore_cwd): Update prototype.
93890         * lib/save-cwd.c (restore_cwd): Remove two parameters.
93891         Simplify.  Don't call error upon failure.  Let callers do that.
93892         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
93893         when auditing is enabled.  But don't bother updating the #if.
93894
93895 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
93896
93897         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
93898         it breaks C++ compilation.
93899         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
93900
93901 2003-07-10  Simon Josefsson  <jas@extundo.com>
93902
93903         * modules/strchrnul (Makefile.am): Add strchrnul.h.
93904
93905 2003-07-10  Jim Meyering  <jim@meyering.net>
93906
93907         * m4/clock_time.m4: Remove trailing blank.
93908         * m4/intmax_t.m4: Likewise.
93909
93910 2003-07-10  Jim Meyering  <jim@meyering.net>
93911
93912         * lib/vasnprintf.c: Remove trailing blanks.
93913         Make cpp indentation consistent.
93914
93915 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93916
93917         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
93918         posixver.c, strftime.c, strnlen.c, strverscmp.c:
93919         Switch from LGPL to GPL.
93920
93921 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93922
93923         * config/srclist.txt: Sort sublists.  Add
93924         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
93925         that differ from gnulib for one reason or another; we'd like this list
93926         to be smaller but for now let's document what we have.
93927
93928 2003-07-08  Paul Eggert  <eggert@twinsun.com>
93929
93930         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
93931         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
93932         and sweeter "eval x=$x".
93933         * config/srclist.txt: Get lib/argp* from glibc.
93934
93935 2003-07-07  Paul Eggert  <eggert@twinsun.com>
93936
93937         * lib/mktime.c: Fix some boundary cases and remove need for floating
93938         point.
93939
93940         Issue a compile-time diagnostic if time_t is floating point, or if
93941         two's complement arithmetic is not in effect, or if arithmetic
93942         right shift does not propagate the sign.  These assumptions were
93943         all in the original code but they weren't checked.
93944
93945         (TIME_T_MIDPOINT, verify): New macros.
93946         (__isleap): Remove; it has integer overflow problems.
93947         (leapyear): New function, without those problems.
93948         (ydhms_tm_diff): Remove; splitting into two parts.
93949         (ydhms_diff): New function, containing the arithmetic part of
93950         the old ydhms_tm_diff function.  Issue a compile-time
93951         diagnostic if we are not using C99 integer division.
93952         Avoid casts when possible.
93953         (guess_time_tm): New function, containing the checking part of
93954         the old ydhms_tm_diff function.  Return the new value, rather than
93955         the difference between it and the old.  Accept a new argument T
93956         so that *T specifies the old value.  Check for overflow in the result.
93957
93958         (__mktime_internal): Use a time_t offset, not a long int offset.
93959         This undoes the 2003-06-04 change, which is no longer needed now
93960         that we have better overflow checking.
93961         (localtime_offset): Likewise.
93962
93963         (__mktime_internal): Avoid harmful overflow on hosts where time_t
93964         and long are 64-bit but int is only 32-bit.
93965         (ydhms_diff): Use long int to store year1 and yday1.
93966         Issue a compile-time diagnostic if long int is not wide enough.
93967
93968         (__mktime_internal): Use long int to store adjusted year and yday.
93969         Use plain C rather than preprocessor commands, if that doesn't
93970         affect efficiency.
93971         Check for overflow (and try to repair) after each probe
93972         rather than checking only at the very end.  This avoids some bugs
93973         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
93974         does not equal GMT offset at maximum time).
93975         Use integer to check for overflow rather than floating point; this
93976         is more portable to non-IEEE hosts, and is a tad faster.
93977         When we detect that we are oscillating between two values,
93978         don't check whether tm_isdst has the requested value, since
93979         we already know the answer.  When tm_isdst has the wrong value,
93980         use a different heuristic to find the right one, based on the
93981         extreme values actually observed in practice in tz2003a,
93982         rather than the (overly optimistic) "previous 3 calendar quarters".
93983
93984         (not_equal_tm, print_tm, check_result): Use "const T" rather than
93985         "T const" to accommodate glibc style.
93986         (check_result): Use less-confusing report format.  "long" -> "long int.
93987         (main): Likewise.
93988         Don't loop if the iteration overflows time_t.
93989         Allow a negative step in the iteration.
93990
93991 2003-07-06  Karl Berry  <karl@gnu.org>
93992
93993         * config/depcomp: update from automake.
93994         * config/config.sub: update from prep.
93995
93996 2003-07-03  Karl Berry  <karl@gnu.org>
93997
93998         * config/config.guess: update from prep.
93999
94000 2003-07-01  Paul Eggert  <eggert@twinsun.com>
94001
94002         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
94003         xreadlink.c now includes it unconditionally.
94004
94005 2003-07-01  Paul Eggert  <eggert@twinsun.com>
94006
94007         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
94008         having it depend on HAVE_SYS_TYPES_H.
94009
94010 2003-07-01  Bruno Haible  <bruno@clisp.org>
94011
94012         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
94013         <sys/types.h> should be sufficient.
94014         Reported by Paul Eggert.
94015
94016 2003-06-26  Karl Berry  <karl@gnu.org>
94017
94018         * config/depcomp: update from automake.
94019
94020 2003-06-26  Bruno Haible  <bruno@clisp.org>
94021
94022         * modules/human: Depend on module stdbool.
94023
94024 2003-06-25  Bruno Haible  <bruno@clisp.org>
94025
94026         * modules/readlink: New file.
94027         * modules/xreadlink: Depend on it.
94028         * MODULES.html.sh (func_all_modules): Add readlink.
94029
94030 2003-06-25  Bruno Haible  <bruno@clisp.org>
94031
94032         * m4/readlink.m4: New file.
94033
94034 2003-06-25  Bruno Haible  <bruno@clisp.org>
94035
94036         * lib/readlink.c: New file.
94037
94038 2003-06-22  Karl Berry  <karl@gnu.org>
94039
94040         * config/srclist.txt: update mkinstalldirs from automake.
94041         * config/mkinstalldirs: update.
94042
94043 2003-06-22  Bruno Haible  <bruno@clisp.org>
94044
94045         Portability to mingw32.
94046         * m4/ssize_t.m4: New file, from GNU gettext.
94047         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
94048         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
94049
94050 2003-06-22  Bruno Haible  <bruno@clisp.org>
94051
94052         * modules/safe-read: Add m4/ssize_t.m4.
94053         * modules/xreadlink: Add m4/ssize_t.m4.
94054
94055 2003-06-20  Bruno Haible  <bruno@clisp.org>
94056
94057         Assume C89, so PARAMS isn't needed.
94058         * lib/unicodeio.h (PARAMS): Remove.
94059         * lib/unicodeio.c: Don't use PARAMS.
94060
94061 2003-06-18  Karl Berry  <karl@gnu.org>
94062
94063         * config/config.{guess,sub}: update from prep.
94064
94065 2003-06-18  Jim Meyering  <jim@meyering.net>
94066
94067         Merge changes from coreutils.
94068         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
94069         Remove explicit declarations of xmalloc and realloc.
94070         Include xalloc.h.
94071         (read_utmp): Remove anachronistic cast of xmalloc.
94072
94073 2003-06-17  Paul Eggert  <eggert@twinsun.com>
94074
94075         Assume C89, so PARAMS isn't needed.
94076         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
94077         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
94078         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
94079         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
94080         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
94081         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
94082         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
94083         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
94084         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
94085         lib/xstrtod.h, lib/xstrtol.h: Likewise.
94086         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
94087         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
94088         no longer needed. Anyway, config.h should always be included before any
94089         other file.
94090
94091 2003-06-11  Simon Josefsson  <jas@extundo.com>
94092
94093         * modules/sysexits: New file.
94094         * MODULES.html.sh (func_all_modules): Add sysexits.
94095
94096 2003-06-11  Simon Josefsson  <jas@extundo.com>
94097
94098         * lib/sysexit_.h: New file.
94099
94100 2003-06-11  Derek Price  <derek@ximbiot.com>
94101
94102         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
94103         necessary.
94104
94105 2003-06-11  Bruno Haible  <bruno@clisp.org>
94106
94107         * m4/sysexits.m4: New file.
94108
94109 2003-06-10  Simon Josefsson  <jas@extundo.com>
94110
94111         * lib/argp.h: New file, from glibc.
94112         * lib/argp-ba.c: New file, from glibc.
94113         * lib/argp-eexst.c: New file, from glibc.
94114         * lib/argp-fmtstream.c: New file, from glibc.
94115         * lib/argp-fmtstream.h: New file, from glibc.
94116         * lib/argp-fs-xinl.c: New file, from glibc.
94117         * lib/argp-help.c: New file, from glibc.
94118         * lib/argp-namefrob.h: New file, from glibc.
94119         * lib/argp-parse.c: New file, from glibc.
94120         * lib/argp-pv.c: New file, from glibc.
94121         * lib/argp-pvh.c: New file, from glibc.
94122         * lib/argp-xinl.c: New file, from glibc.
94123
94124 2003-06-10  Simon Josefsson  <jas@extundo.com>
94125
94126         * modules/strchrnul: New file.
94127
94128 2003-06-10  Simon Josefsson  <jas@extundo.com>
94129
94130         * modules/argp: New file.
94131
94132 2003-06-10  Simon Josefsson  <jas@extundo.com>
94133
94134         * m4/strchrnul.m4: New file.
94135
94136 2003-06-10  Simon Josefsson  <jas@extundo.com>
94137
94138         * lib/strchrnul.h: New file.
94139         * lib/strchrnul.c: New file.
94140
94141 2003-06-10  Bruno Haible  <bruno@clisp.org>
94142
94143         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
94144
94145 2003-06-07  Karl Berry  <karl@gnu.org>
94146
94147         * config/config.{guess,sub}: update from prep.
94148
94149 2003-06-07  Jim Meyering  <jim@meyering.net>
94150
94151         * modules/strtod: Use $(...) notation, not @...@ for
94152         AC_REPLACE'd variables.
94153         * modules/localcharset: Likewise.
94154
94155 2003-06-07  Jim Meyering  <jim@meyering.net>
94156
94157         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
94158         in place of my name in the copyright comment.
94159         Remove definition and uses of __P.
94160
94161         From coreutils.
94162         * lib/stat.c: Don't declare xmalloc explicitly.
94163         Instead, include "xalloc.h".
94164         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
94165         xrealloc, and xcalloc return values.
94166         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
94167         Improve comment.
94168         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
94169
94170 2003-06-07  Bruno Haible  <bruno@clisp.org>
94171
94172         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
94173         avoid AC_CONFIG_LINKS.
94174         * modules/fnmatch (Makefile.am): Use explicit creation rule for
94175         fnmatch.h, to avoid AC_CONFIG_LINKS.
94176         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
94177
94178 2003-06-07  Bruno Haible  <bruno@clisp.org>
94179
94180         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
94181         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
94182         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
94183         directory.
94184         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
94185         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
94186         directory.
94187
94188 2003-06-06  Jim Meyering  <jim@meyering.net>
94189
94190         Merge from coreutils.
94191         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
94192         Consolidate declarations and initializations of *_base* locals.
94193
94194         Merge from coreutils.
94195         This avoids a core dump on systems without GNU putenv,
94196         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
94197         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
94198         (unsetenv): New static function, from GNU libc.
94199         (rpl_putenv): Use it.
94200
94201         * lib/modechange.c: Remove trailing blanks.
94202
94203         Merge from coreutils.
94204         * lib/fsusage.c: Remove declaration of statfs.
94205         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
94206
94207         * lib/posixtm.c: Include <stdbool.h> unconditionally.
94208
94209 2003-06-06  Jim Meyering  <jim@meyering.net>
94210
94211         * lib/stdbool_.h: Renamed from stdbool.h.in.
94212
94213 2003-06-06  Jim Meyering  <jim@meyering.net>
94214             Bruno Haible  <bruno@clisp.org>
94215
94216         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
94217         Adjust Makefile.am snippet not to redirect directly to target.
94218         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
94219
94220 2003-06-05  Paul Eggert  <eggert@twinsun.com>
94221
94222         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
94223         mismatch, look in future quarters as well as past.  This fixes a
94224         bug when processing fall-backwards gaps immediately after a long
94225         period of daylight-saving time.
94226
94227         * lib/mktime.c: Assume freestanding C89 or better.
94228         (HAVE_LIMITS_H): Remove.  Assume it's 1.
94229         (__P): Remove; not used.
94230         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
94231         (mktime, not_equal_tm, print_tm, check_result,
94232         main): Use prototypes.  Use const * where appropriate.
94233         (main): Fix typo in testing code that uncovered by above changes.
94234         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
94235
94236 2003-06-04  Paul Eggert  <eggert@twinsun.com>
94237
94238         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
94239         locale.h, localeconv.  This merges changes from coreutils.
94240
94241         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
94242         It can be removed after the next Autoconf is released.
94243         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
94244         needed.
94245
94246 2003-06-04  Paul Eggert  <eggert@twinsun.com>
94247
94248         * lib/mktime.c: Fix Debian bug 177940
94249         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
94250         (localtime_offset): Now long int, not time_t, because we want it
94251         to be guaranteed to be signed.  All uses changed.
94252         (__mktime_internal): If overflow would occur when adding offset,
94253         don't add it.
94254
94255         Merge 'human' changes from coreutils.  Rewrite to support
94256         locale-specific notations like thousands separators.
94257         * lib/human.c: Simplify authorship notice.
94258         Include human.h immediately after config.h.
94259         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
94260         <limits.h>: Do not include, since human.h does.
94261         (SIZE_MAX, UINTMAX_MAX): New macros.
94262         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
94263         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
94264         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
94265         (power_letter): Renamed from suffixes.
94266         (generate_suffix_backwards): Remove.
94267         (adjust_value): Now takes int style (because of human.h changes)
94268         and long double value (for greater precision on some platforms).
94269         (group_number): New function.
94270         (human_readable): Use it.  Use integer options, not enum.
94271         Put the options before the sizes in the arg list.
94272         Support all the new options.
94273         The old human_readable function has been removed;
94274         use inttostr.h instead.
94275         (human_readable, default_block_size, humblock):
94276         Use uintmax_t, not int, for block sizes.
94277         (human_readable_inexact, block_size_types): Remove.
94278         (block_size_opts): New constant.
94279         (human_options): Renamed from human_block_size, with new signature
94280         that allows block sizes up to UINTMAX_MAX.  All callers changed.
94281         * lib/human.h: Add copyright and authorship notice.
94282         Include <limits.h> and <stdbool.h> unconditionally.
94283         (PARAMS): Remove.  All uses removed.
94284         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
94285         (enum human_inexact_style): Remove tag; now a nameless enum.
94286         (human_floor, human_ceiling, human_round_to_even): Now have
94287         values 2, 0, 1 rather than -1, 1, 0.
94288         (human_group_digits, human_suppress_point_zero, human_autoscale,
94289         human_base_1024, human_SI, human_B): New constants.
94290         (human_readable_inexact, human_block_size): Remove.
94291         (human_readable): Size args are now uintmax_t, not int.
94292         (human_options): New decl.
94293
94294         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
94295         unnecessary now that we assume C89 or better.  This change
94296         imported from coreutils.
94297
94298         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
94299         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
94300         in the 2003-05-30 sync from glibc.
94301
94302         .h files should stand alone, but we shouldn't include <sys/types.h>
94303         if we can get away with just <stddef.h>.
94304
94305         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
94306         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
94307         rather than <sys/types.h>, as we merely need size_t.
94308         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
94309         to get size_t.
94310         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
94311         Include <stdio.h>, to get FILE.
94312         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
94313         memcasecmp.h has included <stddef.h> and all we need is size_t.
94314         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
94315         our interface, instead of including <sys/types.h>
94316
94317 2003-06-04  Paul Eggert  <eggert@twinsun.com>
94318
94319         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
94320         now, as glibc mktime is buggy on non-glibc systems.
94321
94322 2003-06-03  Karl Berry  <karl@gnu.org>
94323
94324         * config/config.sub: update from prep.
94325
94326 2003-06-02  Paul Eggert  <eggert@twinsun.com>
94327
94328         [from coreutils]
94329         Fix some minor time-related bugs with POSIX time arguments.
94330         Some valid time stamps were being rejected (notably -1, and
94331         time stamps before 1900 on 64-bit hosts).  And some invalid
94332         time stamps were being accepted, e.g. September 31.
94333
94334         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
94335         that we can return (time_t) -1 successfully.
94336         * lib/posixtm.c: Likewise.
94337         [HAVE_STDBOOL_H]: Include <stdbool.h>.
94338         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
94339         (t): Remove static var.
94340         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
94341         of static var.  All uses changed.
94342         (year): Do not reject years before 1900; they can occur with
94343         64-bit time_t.
94344         (posix_time_parse): Do not check for out-of-range components;
94345         that is now the caller's responsibility, since our checks were
94346         only approximations.
94347         (posixtime): Use mktime to check for out-of-range components,
94348         since it knows them exactly.
94349         If mktime returns (time_t) -1, check whether an error actually occurred
94350         by invoking localtime on -1.
94351         (main) [TEST_POSIXTIME]: Check for input data errors, and report
94352         posixtime failures better.
94353         Improve the test data (in comments only).
94354
94355 2003-06-02  Karl Berry  <karl@gnu.org>
94356
94357         * config/mkinstalldirs (version): new variable.
94358         (--version): new option.
94359         (usage): improve message.
94360
94361 2003-05-30  Karl Berry  <karl@gnu.org>
94362
94363         * lib/mktime.c: update from libc.
94364
94365 2003-05-30  Bruno Haible  <bruno@clisp.org>
94366
94367         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
94368         * config/config.rpath: Upgrade to gettext-0.12.1.
94369
94370 2003-05-30  Bruno Haible  <bruno@clisp.org>
94371
94372         * m4/gettext.m4: Upgrade to gettext-0.12.1.
94373         * m4/nls.m4: New file, from gettext-0.12.1.
94374         * m4/po.m4: New file, from gettext-0.12.1.
94375         * m4/progtest.m4: Upgrade to gettext-0.12.1.
94376
94377 2003-05-30  Bruno Haible  <bruno@clisp.org>
94378
94379         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
94380         * lib/localcharset.h: Likewise.
94381         * lib/localcharset.c: Likewise.
94382
94383 2003-05-29  Karl Berry  <karl@gnu.org>
94384
94385         * config/config.rpath: update from gettext.
94386
94387 2003-05-28  Paul Eggert  <eggert@twinsun.com>
94388
94389         Assume the headers required for C89 freestanding compilers.
94390         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
94391         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
94392         * m4/human.m4 (gl_HUMAN): Likewise.
94393         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
94394         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
94395         * m4/userspec.m4 (gl_USERSPEC): Likewise.
94396         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
94397         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
94398         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
94399
94400 2003-05-28  Paul Eggert  <eggert@twinsun.com>
94401
94402         Assume the headers required for C89 freestanding compilers.
94403         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
94404         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
94405         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
94406         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
94407         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
94408         define, since <limits.h> is guaranteed to do that.
94409         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
94410         * lib/exclude.c: Include <stdbool.h> unconditionally.
94411         * lib/tempname.c: Include <stddef.h> unconditionally.
94412         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
94413         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
94414         <stddef.h> does that.
94415         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
94416         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
94417         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
94418         needed.
94419         * lib/xstrtol.c: Likewise.
94420         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
94421         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
94422
94423         * lib/addext.c (addext): Use assignment rather than cast, to avoid
94424         warnings on some platforms.
94425
94426         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
94427         arbitrarily.
94428
94429 2003-05-26  Jim Meyering  <jim@meyering.net>
94430
94431         Merge in a change from coreutils:
94432         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
94433         that is guaranteed to be `no'.  Use `no_such_member' to indicate
94434         that condition, rather than `-1' which is slightly misleading.
94435         Change the name of the cache variable to have the gl_ prefix.
94436         Prompted by a patch from Richard Dawe for DJGPP.
94437
94438 2003-05-24  Karl Berry  <karl@gnu.org>
94439
94440         * config/config.guess: update from prep.
94441
94442 2003-05-22  Karl Berry  <karl@gnu.org>
94443
94444         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
94445
94446 2003-05-20  Karl Berry  <karl@gnu.org>
94447
94448         * config/config.guess: update from prep.
94449
94450 2003-05-18  Karl Berry  <karl@gnu.org>
94451
94452         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
94453         might actually be set by the user.
94454
94455         * config/depcomp, install-sh, mdate-sh: update from automake.
94456
94457 2003-05-17  Bruno Haible  <bruno@clisp.org>
94458
94459         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
94460         invalid expansion for AC_EGREP_CPP.
94461         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
94462         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
94463         Suggested by Akim Demaille <akim@epita.fr> in
94464         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
94465
94466 2003-05-12  Jim Meyering  <jim@meyering.net>
94467
94468         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
94469         the space-padded-by-default conversion specifiers, %e, %k, %l.
94470
94471 2003-05-12  Bruno Haible  <bruno@clisp.org>
94472
94473         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
94474         the string is longer than 4 KB.
94475
94476 2003-05-11  Karl Berry  <karl@gnu.org>
94477
94478         * config/config.{guess,sub}: update from prep.
94479
94480 2003-05-09  Bruno Haible  <bruno@clisp.org>
94481
94482         * modules/error: Add m4/strerror_r.m4 to file list.
94483
94484 2003-05-03  Bruno Haible  <bruno@clisp.org>
94485
94486         Upgrade to Unicode-4.0.
94487         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
94488         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
94489         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
94490         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
94491         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
94492         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
94493         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
94494         Change width of U+E0100..U+E01EF from 1 to 0.
94495
94496 2003-04-25  Jim Meyering  <jim@meyering.net>
94497
94498         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
94499         of type size_t, not int.
94500
94501 2003-04-25  Bruno Haible  <bruno@clisp.org>
94502
94503         * lib/copy-file.c: Include <stddef.h>, for size_t.
94504
94505 2003-04-21  Paul Eggert  <eggert@twinsun.com>
94506
94507         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
94508         code which expansion is under static control.  Patch imported from
94509         Akim Demaille's patch to Bison; see
94510         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
94511
94512 2003-04-14  Bruno Haible  <bruno@clisp.org>
94513
94514         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
94515
94516 2003-04-11  Jim Meyering  <jim@meyering.net>
94517
94518         Merge changes from Coreutils.
94519
94520         2003-03-22  Jim Meyering  <jim@meyering.net>
94521
94522         * lib/strftime.c (widen): Cast alloca return value to proper type.
94523
94524         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
94525
94526         From GNU libc.
94527         * lib/strftime.c (my_strftime): Handle very large width
94528         specifications for numeric values correctly.  Improve checks for
94529         overflow.
94530
94531         2003-01-19  Jim Meyering  <jim@meyering.net>
94532
94533         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
94534         definitions.
94535         (nl_get_alt_digit) [! defined my_strftime]: Define.
94536         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
94537         _nl_get_alt_digit and _nl_get_walt_digit.
94538
94539         * lib/strftime.c (my_strftime): Merge in locale-related changes from
94540         libc. These changes have no effect outside of _LIBC.
94541
94542 2003-04-10  Bruno Haible  <bruno@clisp.org>
94543
94544         * modules/findprog: New file.
94545         * MODULES.html.sh (func_all_modules): Add it.
94546
94547 2003-04-10  Bruno Haible  <bruno@clisp.org>
94548
94549         * m4/findprog.m4: New file.
94550         * m4/eaccess.m4: New file.
94551
94552 2003-04-10  Bruno Haible  <bruno@clisp.org>
94553
94554         * lib/findprog.h: New file, from GNU gettext.
94555         * lib/findprog.c: New file, from GNU gettext.
94556
94557 2003-04-05  Jim Meyering  <jim@meyering.net>
94558
94559         Merge changes from Coreutils.
94560
94561         * lib/exclude.h (PARAMS): Remove definition and uses.
94562         * lib/exclude.c: Remove uses of `PARAMS'.
94563
94564         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
94565         Add test-cases for DOS filenames. Declare program_name.
94566         (main): Set up program_name.  Patch by Rich Dawe.
94567
94568         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
94569         error from mntctl.
94570         Use mntctl's return value to drive the entry-processing loop, since
94571         we can't rely on the value of the vmt_length member in the last
94572         entry.  On some systems doing so could result in exhausting
94573         virtual memory.  Based in part on a patch from Mike Jetzer.
94574
94575 2003-04-04  Bruno Haible  <bruno@clisp.org>
94576
94577         * modules/linebreak: New file.
94578         * MODULES.html.sh (func_all_modules): Add it.
94579
94580 2003-04-04  Bruno Haible  <bruno@clisp.org>
94581
94582         * m4/linebreak.m4: New file.
94583
94584 2003-04-04  Bruno Haible  <bruno@clisp.org>
94585
94586         * lib/linebreak.h: New file, from GNU gettext.
94587         * lib/linebreak.c: New file, from GNU gettext with slight
94588         modifications.
94589         * lib/lbrkprop.h: New file, from GNU gettext.
94590
94591 2003-04-03  Bruno Haible  <bruno@clisp.org>
94592
94593         * modules/utf8-ucs4: New file.
94594         * modules/utf16-ucs4: New file.
94595         * modules/ucs4-utf8: New file.
94596         * modules/ucs4-utf16: New file.
94597         * MODULES.html.sh (func_all_modules): Add them.
94598
94599 2003-04-03  Bruno Haible  <bruno@clisp.org>
94600
94601         * m4/utf-ucs4.m4: New file.
94602         * m4/ucs4-utf.m4: New file.
94603
94604 2003-04-03  Bruno Haible  <bruno@clisp.org>
94605
94606         * lib/utf8-ucs4.h: New file, from GNU gettext.
94607         * lib/utf16-ucs4.h: New file, from GNU gettext.
94608         * lib/ucs4-utf8.h: New file, from GNU gettext.
94609         * lib/ucs4-utf16.h: New file, from GNU gettext.
94610
94611 2003-04-02  Bruno Haible  <bruno@clisp.org>
94612
94613         * modules/binary-io: New file.
94614         * MODULES.html.sh (func_all_modules): Add it.
94615
94616 2003-04-02  Bruno Haible  <bruno@clisp.org>
94617
94618         * lib/binary-io.h: New file, from GNU gettext.
94619
94620 2003-04-01  Bruno Haible  <bruno@clisp.org>
94621
94622         * modules/pathname: New file.
94623         * MODULES.html.sh (func_all_modules): Add it.
94624
94625 2003-04-01  Bruno Haible  <bruno@clisp.org>
94626
94627         * lib/pathname.h: New file, from GNU gettext.
94628         * lib/concatpath.c: New file, from GNU gettext.
94629
94630 2003-03-30  Bruno Haible  <bruno@clisp.org>
94631
94632         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
94633
94634 2003-03-30  Bruno Haible  <bruno@clisp.org>
94635
94636         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
94637         function chown() doesn't exist.
94638
94639 2003-03-28  Bruno Haible  <bruno@clisp.org>
94640
94641         * modules/copy-file: New file.
94642         * MODULES.html.sh (func_all_modules): Add it.
94643
94644 2003-03-28  Bruno Haible  <bruno@clisp.org>
94645
94646         * m4/copy-file.m4: New file.
94647
94648 2003-03-28  Bruno Haible  <bruno@clisp.org>
94649
94650         * lib/copy-file.h: New file, from GNU gettext.
94651         * lib/copy-file.c: New file, from GNU gettext.
94652
94653 2003-03-18  Jim Meyering  <jim@meyering.net>
94654
94655         * lib/quote.c (quote_n): Fix typo in comment.
94656
94657 2003-03-18  Bruno Haible  <bruno@clisp.org>
94658
94659         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
94660         checking.
94661         * m4/onceonly_2_57.m4: Likewise.
94662
94663 2003-03-17  Bruno Haible  <bruno@clisp.org>
94664
94665         * m4/onceonly.m4: Require autoconf 2.54 or newer.
94666         (m4_quote): Remove macro.
94667         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
94668
94669 2003-03-14  Jim Meyering  <jim@meyering.net>
94670
94671         Merge changes from Coreutils.
94672         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
94673         to be const, in order to avoid warnings.
94674         (obstack_room): Likewise.
94675         (obstack_empty_p): Likewise.
94676
94677 2003-03-14  Bruno Haible  <bruno@clisp.org>
94678
94679         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
94680         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
94681
94682 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94683
94684         Merge changes from Bison.
94685         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
94686         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
94687         when compiling Bison 1.875's `bitset bset = obstack_alloc
94688         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
94689         * lib/hash.c: Include <stdbool.h> unconditionally.
94690
94691 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94692
94693         * m4/onceonly.m4 (m4_quote): New macro.
94694         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
94695         Quote AC_FOREACH variable-expansions properly.
94696
94697 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94698
94699         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
94700
94701 2003-03-09  Paul Eggert  <eggert@twinsun.com>
94702
94703         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
94704         Reported by Bruce Becker; see:
94705         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
94706
94707 2003-03-03  Paul Eggert  <eggert@twinsun.com>
94708             Bruno Haible  <bruno@clisp.org>
94709
94710         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
94711         Reported by John Hughes, see
94712         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
94713
94714 2003-02-20  Bruno Haible  <bruno@clisp.org>
94715
94716         * MODULES.html.sh (func_all_modules): Add poll.
94717
94718 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94719
94720         * modules/poll: New file.
94721
94722 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94723
94724         * lib/poll_.h: New file.
94725         * lib/poll.c: New file.
94726
94727 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94728
94729         * m4/poll.m4: New file.
94730
94731 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94732
94733         * modules/mathl: New file.
94734
94735 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94736
94737         * lib/mathl.h: New file.
94738         * lib/acosl.c: New file.
94739         * lib/asinl.c: New file.
94740         * lib/atanl.c: New file.
94741         * lib/ceill.c: New file.
94742         * lib/cosl.c: New file.
94743         * lib/expl.c: New file.
94744         * lib/floorl.c: New file.
94745         * lib/frexpl.c: New file.
94746         * lib/ldexpl.c: New file.
94747         * lib/logl.c: New file.
94748         * lib/sincosl.c: New file.
94749         * lib/sinl.c: New file.
94750         * lib/sqrtl.c: New file.
94751         * lib/tanl.c: New file.
94752         * lib/trigl.c: New file.
94753         * lib/trigl.h: New file.
94754
94755 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94756
94757         * m4/mathl.m4: New file.
94758
94759 2003-02-18  Bruno Haible  <bruno@clisp.org>
94760
94761         * MODULES.html.sh (func_all_modules): Add mathl.
94762
94763 2003-02-17  Bruno Haible  <bruno@clisp.org>
94764
94765         * modules/mkdtemp: New module.
94766         * MODULES.html.sh (func_all_modules): Add it.
94767
94768 2003-02-17  Bruno Haible  <bruno@clisp.org>
94769
94770         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
94771
94772 2003-02-17  Bruno Haible  <bruno@clisp.org>
94773
94774         * lib/mkdtemp.h: New file, from GNU gettext.
94775         * lib/mkdtemp.c: New file, from GNU gettext.
94776
94777 2003-02-02  Jim Meyering  <jim@meyering.net>
94778
94779         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
94780         e.g. glibc-2.2.93.
94781
94782 2003-01-31  Bruno Haible  <bruno@clisp.org>
94783
94784         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
94785         'rpl_rename'.
94786         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
94787         'rpl_strnlen'.
94788         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
94789         'rpl_strtod'.
94790         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
94791         'rpl_utime'.
94792
94793 2003-01-31  Bruno Haible  <bruno@clisp.org>
94794
94795         * lib/rename.c: #undef rename before defining rpl_rename.
94796         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
94797
94798 2003-01-30  Bruno Haible  <bruno@clisp.org>
94799
94800         * modules/vasnprintf, modules/vasprintf: New modules.
94801         * MODULES.html.sh (func_all_modules): Add them.
94802
94803 2003-01-30  Bruno Haible  <bruno@clisp.org>
94804
94805         * m4/signed.m4: New file, from GNU gettext.
94806         * m4/longdouble.m4: New file, from GNU gettext.
94807         * m4/wchar_t.m4: New file, from GNU gettext.
94808         * m4/wint_t.m4: New file, from GNU gettext.
94809         * m4/vasnprintf.m4: New file.
94810         * m4/vasprintf.m4: New file.
94811
94812 2003-01-30  Bruno Haible  <bruno@clisp.org>
94813
94814         * lib/printf-args.h: New file, from GNU gettext.
94815         * lib/printf-args.c: New file, from GNU gettext.
94816         * lib/printf-parse.h: New file, from GNU gettext.
94817         * lib/printf-parse.c: New file, from GNU gettext.
94818         * lib/vasnprintf.h: New file, from GNU gettext.
94819         * lib/vasnprintf.c: New file, from GNU gettext.
94820         * lib/asnprintf.c: New file, from GNU gettext.
94821         * lib/vasprintf.h: New file, from GNU gettext with modifications.
94822         * lib/vasprintf.c: New file, from GNU gettext.
94823         * lib/asprintf.c: New file, from GNU gettext.
94824
94825 2003-01-29  Bruno Haible  <bruno@clisp.org>
94826
94827         * modules/stpncpy: New module.
94828         * MODULES.html.sh (func_all_modules): Add it.
94829
94830 2003-01-29  Bruno Haible  <bruno@clisp.org>
94831
94832         * m4/stpncpy.m4: New file.
94833
94834 2003-01-29  Bruno Haible  <bruno@clisp.org>
94835
94836         * lib/stpncpy.h: New file, from GNU gettext with modifications.
94837         * lib/stpncpy.c: New file, from GNU gettext with modifications.
94838
94839 2003-01-28  Bruno Haible  <bruno@clisp.org>
94840
94841         * modules/c-ctype: New module.
94842         * MODULES.html.sh (func_all_modules): Add it.
94843
94844 2003-01-28  Bruno Haible  <bruno@clisp.org>
94845
94846         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
94847         Paul Eggert.
94848         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
94849         Paul Eggert.
94850
94851 2003-01-27  Bruno Haible  <bruno@clisp.org>
94852
94853         * modules/xsetenv: New module.
94854         * MODULES.html.sh (func_all_modules): Add it.
94855
94856 2003-01-27  Bruno Haible  <bruno@clisp.org>
94857
94858         * lib/xsetenv.h: New file, from GNU gettext.
94859         * lib/xsetenv.c: New file, from GNU gettext.
94860
94861 2003-01-23  Jim Meyering  <jim@meyering.net>
94862
94863         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
94864         from working on systems without dirfd (at least Irix and OSF1/Tru64).
94865
94866 2003-01-23  Bruno Haible  <bruno@clisp.org>
94867
94868         * modules/minmax: New module.
94869         * MODULES.html.sh (func_all_modules): Add it.
94870
94871 2003-01-23  Bruno Haible  <bruno@clisp.org>
94872
94873         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
94874         Eggert.
94875
94876 2003-01-22  Bruno Haible  <bruno@clisp.org>
94877
94878         * modules/exit: New module.
94879         * MODULES.html.sh (func_all_modules): Add it.
94880
94881 2003-01-22  Bruno Haible  <bruno@clisp.org>
94882
94883         * lib/exit.h: New file, from GNU gettext.
94884
94885 2003-01-19  Bruno Haible  <bruno@clisp.org>
94886
94887         * gnulib-tool: Recognize option --extract-maintainer.
94888         (func_get_maintainer): New function.
94889         * modules/*: Add Maintainer entry.
94890
94891 2003-01-16  Jim Meyering  <jim@meyering.net>
94892
94893         * m4/regex.m4: The `regex' struct is both input and output.
94894         Initialize it before each use.  Patch by Tim Waugh.
94895
94896 2003-01-16  Bruno Haible  <bruno@clisp.org>
94897
94898         * MODULES.html.sh: Add a table of contents. Add the module name as
94899         leftmost column. Add hyperlinks.
94900
94901 2003-01-15  Bruno Haible  <bruno@clisp.org>
94902
94903         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
94904
94905 2003-01-15  Bruno Haible  <bruno@clisp.org>
94906
94907         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
94908         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
94909         suffix.
94910
94911 2003-01-15  Bruno Haible  <bruno@clisp.org>
94912
94913         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
94914
94915 2003-01-15  Bruno Haible  <bruno@clisp.org>
94916
94917         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
94918         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
94919
94920 2003-01-14  Jim Meyering  <jim@meyering.net>
94921
94922         * lib/same.c (same_name): Tweak a comment.
94923
94924 2003-01-14  Bruno Haible  <bruno@clisp.org>
94925
94926         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
94927         when a string comparison is sufficient.
94928
94929 2003-01-14  Bruno Haible  <bruno@clisp.org>
94930
94931         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
94932         'unsigned int'.
94933
94934 2003-01-14  Bruno Haible  <bruno@clisp.org>
94935
94936         * lib/hash-pjw.c: Add comment about low quality of this function.
94937
94938 2003-01-13  Bruno Haible  <bruno@clisp.org>
94939
94940         * modules/stpcpy: Distribute lib/stpcpy.h.
94941         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
94942
94943 2003-01-13  Bruno Haible  <bruno@clisp.org>
94944
94945         * modules/*: Add a description.
94946         * modules/strpbrk: Fix Makefile.am snippet.
94947         * modules/strtoimax: Fix dependencies.
94948         * modules/strtoumax: Likewise.
94949
94950 2003-01-13  Bruno Haible  <bruno@clisp.org>
94951
94952         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
94953         * modules/alloca (Makefile.am): All object files depend on alloca.h.
94954         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
94955
94956 2003-01-13  Bruno Haible  <bruno@clisp.org>
94957
94958         * gnulib-tool (func_create_testdir): Store config/* files in the main
94959         directory.
94960         * config.rpath: Move to ...
94961         * config/config.rpath: ... here.
94962         * modules/gettext: Contains config/config.rpath, not config.rpath.
94963         * modules/iconv: Likewise.
94964
94965 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94966
94967         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94968         to avoid collisions with libcurses and libreadline.
94969
94970         * m4/getstr.m4: Remove.
94971         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
94972
94973 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94974
94975         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94976         to avoid collisions with libcurses and libreadline.
94977
94978         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
94979         * lib/getstr.h, getstr.c: Remove.
94980         * lib/getline.c: Include "getline.h", to check interface.
94981         Move body of old getstr.c here: this defines MIN_CHUNK and
94982         declares getdelim2, which is renamed from getstr.
94983         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
94984
94985         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
94986         All uses changed.
94987         * lib/linebuffer.h: Likewise.
94988         (readline): Remove backward-compatibility macro.
94989
94990 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94991
94992         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94993         to avoid collisions with libcurses and libreadline.
94994         * getstr: Remove.
94995         * MODULES.html.sh: Remove getstr.
94996         * modules/getline: Depend on unlocked-io, not getstr.
94997
94998 2003-01-12  Jim Meyering  <jim@meyering.net>
94999
95000         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
95001
95002 2003-01-10  Bruno Haible  <bruno@clisp.org>
95003
95004         * modules/alloca: Change Makefile.am requirements. Simplify Include
95005         requirements. Add lib/alloca_.h to file list.
95006
95007 2003-01-10  Bruno Haible  <bruno@clisp.org>
95008
95009         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
95010
95011 2003-01-10  Bruno Haible  <bruno@clisp.org>
95012
95013         * lib/alloca_.h: New file.
95014         * lib/getdate.y: Unconditionally include alloca.h.
95015         * lib/makepath.c: Likewise.
95016         * lib/setenv.c: Likewise.
95017         * lib/userspec.c: Likewise.
95018
95019 2003-01-09  Karl Berry  <karl@gnu.org>
95020
95021         * MODULES.html.sh: include `dirname $0` in PATH, to find
95022         gnulib-tool.
95023
95024 2003-01-09  Bruno Haible  <bruno@clisp.org>
95025
95026         * modules/stdbool: Change configure.ac, Makefile.am requirements.
95027         Simplify Include requirements. Add lib/stdbool.h.in to file list.
95028
95029 2003-01-09  Bruno Haible  <bruno@clisp.org>
95030
95031         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
95032
95033 2003-01-09  Bruno Haible  <bruno@clisp.org>
95034
95035         * lib/stdbool.h.in: New file.
95036
95037 2003-01-09  Bruno Haible  <bruno@clisp.org>
95038
95039         * gnulib-tool (func_all_modules): Ignore files ending in ~.
95040         * MODULES.html.sh: Likewise.
95041
95042 2003-01-08  Jim Meyering  <jim@meyering.net>
95043
95044         * lib/full-write.c: Undefine and define-away `const' after inclusion
95045         of errno.h, not before.  Suggestion from Bruno Haible.
95046
95047 2003-01-08  Bruno Haible  <bruno@clisp.org>
95048
95049         * modules/full-read: Depend on full-write.
95050
95051 2003-01-08  Bruno Haible  <bruno@clisp.org>
95052
95053         * lib/safe-read.c: Include specification header first, to ensure its
95054         selfcontainedness.
95055         * lib/full-write.c: Likewise.
95056
95057 2003-01-07  Jim Meyering  <jim@meyering.net>
95058
95059         * lib/full-write.c: Rework so that it may serve to define full_read,
95060         too.
95061         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
95062
95063 2003-01-07  Bruno Haible  <bruno@clisp.org>
95064
95065         * lib/strtoimax.c: Include <stdint.h> as an alternative to
95066         <inttypes.h>.
95067         * lib/xstrtol.h: Likewise.
95068         * lib/xstrtoimax.c: Likewise.
95069         * lib/xstrtoumax.c: Likewise.
95070         * lib/human.h: Likewise.
95071
95072         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
95073         on systems that have <inttypes.h> but not <stdint.h>.
95074
95075 2003-01-07  Bruno Haible  <bruno@clisp.org>
95076
95077         * MODULES.html.sh: Add copyright notice.
95078         (missed_files): Omit CVS directory entries.
95079         (func_module): Make it work with sed-3.02.
95080         * MODULES.txt: Remove file.
95081
95082 2003-01-06  Jim Meyering  <jim@meyering.net>
95083
95084         * lib/version-etc.c: Update year in translatable copyright string.
95085
95086 2003-01-03  Karl Berry  <karl@gnu.org>
95087
95088         * config/config.{guess,sub}: update from prep.
95089
95090 2003-01-02  Karl Berry  <karl@gnu.org>
95091
95092         * doc/COPYING.DOC: belatedly updated to 1.2.
95093
95094 2003-01-01  Karl Berry  <karl@gnu.org>
95095
95096         * gnulib-tool (func_verify_module): report module name $module in
95097         error message, not $1.
95098         * gnulib-tool (create-testdir): don't complain if destdir couldn't
95099         be created, only if it doesn't exist.
95100         * gnulib-tool (last_checkin_date): don't expand the $Date here.
95101
95102 2002-12-31  Paul Eggert  <eggert@twinsun.com>
95103
95104         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
95105
95106 2002-12-31  Paul Eggert  <eggert@twinsun.com>
95107
95108         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
95109         memcmp if strcoll doesn't work.
95110
95111 2002-12-31  Bruno Haible  <bruno@clisp.org>
95112
95113         * lib/utime.c (utime_null): No need to call ftruncate if the file was
95114         nonempty.
95115
95116 2002-12-31  Bruno Haible  <bruno@clisp.org>
95117
95118         * lib/memcoll.c (STRCOLL): New macro.
95119         (memcoll): Use it.
95120
95121 2002-12-31  Bruno Haible  <bruno@clisp.org>
95122
95123         * lib/localcharset.h: New file.
95124         * lib/localcharset.c: Include it.
95125         * lib/unicodeio.c: Likewise.
95126
95127 2002-12-31  Bruno Haible  <bruno@clisp.org>
95128
95129         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
95130         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
95131
95132 2002-12-31  Bruno Haible  <bruno@clisp.org>
95133
95134         * lib/getline.h: Include <stddef.h>, for size_t.
95135
95136         * lib/unicodeio.h: Include <stddef.h>, for size_t.
95137         * lib/unicodeio.c: Don't include <stddef.h>.
95138
95139 2002-12-31  Bruno Haible  <bruno@clisp.org>
95140
95141         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
95142         HAVE_TM_ZONE.
95143
95144 2002-12-24  Karl Berry  <karl@gnu.org>
95145
95146         * config/config.guess: update from prep.
95147
95148 2002-12-24  Bruno Haible  <bruno@clisp.org>
95149
95150         General infrasructure.
95151         * m4/README: Rewritten.
95152         * m4/onceonly.m4: New file.
95153         * m4/onceonly_2_57.m4: New file.
95154
95155         Module atexit.
95156         * m4/atexit.m4: New file.
95157
95158         Module strtod.
95159         * m4/strtod.m4: New file.
95160
95161         Module strtol.
95162         * m4/strtol.m4: New file.
95163
95164         Module strtoul.
95165         * m4/strtoul.m4: New file.
95166
95167         Module memchr.
95168         * m4/memchr.m4: New file.
95169
95170         Module memcmp.
95171         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
95172         (jm_FUNC_MEMCMP): Invoke it.
95173
95174         Module memcpy.
95175         * m4/memcpy.m4: New file.
95176
95177         Module memmove.
95178         * m4/memmove.m4: New file.
95179
95180         Module memset.
95181         * m4/memset.m4: New file.
95182
95183         Module strcspn.
95184         * m4/strcspn.m4: New file.
95185
95186         Module strpbrk.
95187         * m4/strpbrk.m4: New file.
95188
95189         Module strstr.
95190         * m4/strstr.m4: New file.
95191
95192         Module strerror.
95193         * m4/strerror.m4: New file.
95194
95195         Module mktime.
95196         * m4/mktime.m4: Renamed from jm-mktime.m4.
95197         (gl_PREREQ_MKTIME): New macro.
95198         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
95199
95200         Module malloc.
95201         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
95202         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
95203         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
95204
95205         Module realloc.
95206         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
95207         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
95208         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
95209
95210         Module strftime.
95211         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
95212         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
95213         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
95214         gl_TM_GMTOFF.
95215         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
95216
95217         Module xalloc.
95218         * m4/xalloc.m4: New file.
95219
95220         Module alloca.
95221         * m4/alloca.m4: New file.
95222
95223         Module putenv.
95224         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
95225         (jm_FUNC_PUTENV): Invoke it.
95226
95227         Module setenv.
95228         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
95229         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
95230         when invoked twice.
95231         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
95232         gt_FUNC_SETENV.
95233
95234         Module memrchr.
95235         * m4/memrchr.m4: New file.
95236
95237         Module stpcpy.
95238         * m4/stpcpy.m4: New file.
95239
95240         Module strcase.
95241         * m4/strcase.m4: New file.
95242
95243         Module strdup.
95244         * m4/strdup.m4: New file.
95245
95246         Module strnlen.
95247         * m4/strnlen.m4: New file.
95248
95249         Module strndup.
95250         * m4/strndup.m4: New file.
95251
95252         Module xstrtod.
95253         * m4/xstrtod.m4: New file.
95254
95255         Module xstrtol.
95256         * m4/xstrtol.m4: New file.
95257
95258         Module getdate.
95259         * m4/getdate.m4: New file.
95260
95261         Module unlocked-io.
95262         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
95263         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
95264         * m4/jm-glibc-io.m4n: Remove file.
95265
95266         Module long-options.
95267         * m4/long-options.m4: New file.
95268
95269         Module md5.
95270         * m4/md5.m4: New file.
95271
95272         Module sha.
95273         * m4/sha.m4: New file.
95274
95275         Module getstr.
95276         * m4/getstr.m4: New file.
95277
95278         Module getline.
95279         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
95280         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
95281         <sys/types.h>, for size_t. Use the function name gnu_getline, not
95282         simply getline. Infoke gl_PREREQ_GETLINE.
95283
95284         Module obstack.
95285         * m4/obstack.m4: New file.
95286
95287         Module hash.
95288         * m4/hash.m4: New file.
95289
95290         Module readtokens.
95291         * m4/readtokens.m4: New file.
95292
95293         Module strverscmp.
95294         * m4/strverscmp.m4: New file.
95295
95296         Module stdbool.
95297         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
95298         OSF/1.
95299
95300         Module strtoll.
95301         * m4/strtoll.m4: New file.
95302
95303         Module strtoull.
95304         * m4/strtoull.m4: New file.
95305
95306         Module strtoimax.
95307         * m4/strtoimax.m4: New file.
95308
95309         Module strtoumax.
95310         * m4/strtoumax.m4: New file.
95311
95312         Module xstrtoimax.
95313         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
95314         jm_AC_PREREQ_XSTRTOIMAX.
95315         Moved the strtol prerequisites to strtol.m4.
95316         Moved the strtoll prerequisites to strtoll.m4.
95317         Moved the strtoimax prerequisites to strtoimax.m4.
95318
95319         Module xstrtoumax.
95320         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
95321         jm_AC_PREREQ_XSTRTOUMAX.
95322         Moved the strtoul prerequisites to strtoul.m4.
95323         Moved the strtoull prerequisites to strtoull.m4.
95324         Moved the strtoumax prerequisites to strtoumax.m4.
95325
95326         Module chown.
95327         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
95328         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
95329
95330         Module dup2.
95331         * m4/dup2.m4: New file.
95332
95333         Module ftruncate.
95334         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
95335         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
95336
95337         Module getgroups.
95338         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
95339         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
95340
95341         Module gettimeofday.
95342         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
95343         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
95344         gl_PREREQ_GETTIMEOFDAY.
95345
95346         Module mkdir.
95347         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
95348         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
95349
95350         Module mkstemp.
95351         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
95352         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
95353         jm_AC_TYPE_UINTMAX_T.
95354         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
95355
95356         Module stat.
95357         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
95358         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
95359
95360         Module lstat.
95361         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
95362         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
95363
95364         Module timespec.
95365         * m4/timespec.m4 (gl_TIMESPEC): New macro.
95366         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
95367         * m4/st_mtim.m4: Indentation.
95368
95369         Module nanosleep.
95370         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
95371         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
95372         gl_PREREQ_NANOSLEEP.
95373
95374         Module regex.
95375         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
95376         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
95377         (gl_REGEX): New macro.
95378
95379         Module rename.
95380         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
95381         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
95382
95383         Module rmdir.
95384         * m4/rmdir.m4: New file.
95385
95386         Module utime.
95387         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
95388         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
95389         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
95390
95391         Module dirname.
95392         * m4/dirname.m4: New file.
95393
95394         Module getopt.
95395         * m4/getopt.m4: New file.
95396
95397         Module unistd-safer.
95398         * m4/unistd-safer.m4: New file.
95399
95400         Module fnmatch.
95401         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
95402         declaration.
95403         (gl_PREREQ_FNMATCH_EXTRA): New macro.
95404         (gl_FUNC_FNMATCH_POSIX): New macro.
95405         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
95406         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
95407         simply fnmatch.
95408
95409         Module exclude.
95410         * m4/exclude.m4: New file.
95411
95412         Module human.
95413         * m4/human.m4: New file.
95414
95415         Module acl.
95416         * m4/acl.m4: Nop.
95417
95418         Module backupfile.
95419         * m4/backupfile.m4: New file.
95420         * m4/d-ino.m4: Indentation.
95421
95422         Module fsusage.
95423         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
95424         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
95425         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
95426
95427         Module dirfd.
95428         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
95429         requirements.
95430
95431         Module euidaccess.
95432         * m4/euidaccess.m4: New file.
95433
95434         Module file-type.
95435         * m4/file-type.m4: New file.
95436
95437         Module fileblocks.
95438         * m4/fileblocks.m4: New file.
95439
95440         Module filemode.
95441         * m4/filemode.m4: New file.
95442
95443         Module isdir.
95444         * m4/isdir.m4: New file.
95445
95446         Module lchown.
95447         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
95448         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
95449
95450         Module makepath.
95451         * m4/makepath.m4: New file.
95452
95453         Module modechange.
95454         * m4/modechange.m4: New file.
95455
95456         Module mountlist.
95457         * m4/mountlist.m4: New file.
95458         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
95459         Indentation.
95460
95461         Module path-concat.
95462         * m4/path-concat.m4: New file.
95463
95464         Module pathmax.
95465         * m4/pathmax.m4: New file.
95466
95467         Module same.
95468         * m4/same.m4: New file.
95469
95470         Module save-cwd.
95471         * m4/save-cwd.m4: New file.
95472
95473         Module savedir.
95474         * m4/savedir.m4: New file.
95475
95476         Module xgetcwd.
95477         * m4/xgetcwd.m4: New file.
95478         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
95479
95480         Module xreadlink.
95481         * m4/xreadlink.m4: New file.
95482
95483         Module safe-read.
95484         * m4/safe-read.m4: New file.
95485
95486         Module safe-write.
95487         * m4/safe-write.m4: New file.
95488
95489         Module closeout.
95490         * m4/closeout.m4: New file.
95491
95492         Module stdio-safer.
95493         * m4/stdio-safer.m4: New file.
95494
95495         Module getpass.
95496         * m4/getpass.m4: New file.
95497
95498         Module getugroups.
95499         * m4/getugroups.m4: New file.
95500
95501         Module group-member.
95502         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
95503         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
95504
95505         Module idcache.
95506         * m4/idcache.m4: New file.
95507
95508         Module userspec.
95509         * m4/userspec.m4: New file.
95510
95511         Module gettime.
95512         * m4/clock_time.m4: New file.
95513         * m4/gettime.m4: New file.
95514
95515         Module settime.
95516         * m4/settime.m4: New file.
95517
95518         Module posixtm.
95519         * m4/posixtm.m4: New file.
95520
95521         Module gethostname.
95522         * m4/gethostname.m4: New file.
95523
95524         Module canon-host.
95525         * m4/canon-host.m4: New file.
95526
95527         Module gettext.
95528         * m4/codeset.m4: New file, from gettext-0.11.5.
95529         * m4/gettext.m4: New file, from gettext-0.11.5.
95530         * m4/glibc21.m4: New file, from gettext-0.11.5.
95531         * m4/iconv.m4: New file, from gettext-0.11.5.
95532         * m4/intdiv0.m4: New file, from gettext-0.11.5.
95533         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
95534         * m4/inttypes.m4: New file, from gettext-0.11.5.
95535         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
95536         * m4/isc-posix.m4: New file, from gettext-0.11.5.
95537         * m4/lcmessage.m4: New file, from gettext-0.11.5.
95538         * m4/lib-ld.m4: New file, from gettext-0.11.5.
95539         * m4/lib-link.m4: New file, from gettext-0.11.5.
95540         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
95541         * m4/progtest.m4: New file, from gettext-0.11.5.
95542         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
95543         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
95544         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
95545
95546         Module localcharset.
95547         * m4/localcharset.m4: New file.
95548
95549         Module hard-locale.
95550         * m4/hard-locale.m4: New file.
95551
95552         Module mbswidth.
95553         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
95554         onceonly macros.
95555         * m4/mbrtowc.m4: Add comment.
95556
95557         Module memcasecmp.
95558         * m4/memcasecmp.m4: New file.
95559
95560         Module memcoll.
95561         * m4/memcoll.m4: New file.
95562
95563         Module unicodeio.
95564         * m4/unicodeio.m4: New file.
95565
95566         Module rpmatch.
95567         * m4/rpmatch.m4: New file.
95568
95569         Module yesno.
95570         * m4/yesno.m4: New file.
95571
95572         Module exitfail.
95573         * m4/exitfail.m4: New file.
95574
95575         Module c-stack.
95576         * m4/c-stack.m4 (gl_C_STACK): New macro.
95577         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
95578
95579         Module error.
95580         * m4/error.m4 (gl_ERROR): New macro.
95581         (jm_PREREQ_ERROR): Use onceonly macros.
95582
95583         Module fatal.
95584         * m4/fatal.m4: New file.
95585
95586         Module getloadavg.
95587         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
95588         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
95589
95590         Module getpagesize.
95591         * m4/getpagesize.m4: New file.
95592
95593         Module getusershell.
95594         * m4/getusershell.m4: New file.
95595
95596         Module physmem.
95597         * m4/physmem.m4: New file.
95598
95599         Module posixver.
95600         * m4/posixver.m4: New file.
95601
95602         Module quotearg.
95603         * m4/quotearg.m4: New file.
95604
95605         Module quote.
95606         * m4/quote.m4: New file.
95607
95608         Module readutmp.
95609         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
95610
95611         Module sig2str.
95612         * m4/sig2str.m4: New file.
95613
95614         Other.
95615         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
95616         ulonglong.m4.
95617         * m4/intmax_t.m4: New file.
95618         * m4/d-type.m4: Indentation.
95619         * m4/jm-macros.m4: Update.
95620         * m4/prereq.m4 (jm_PREREQ): Update.
95621         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
95622         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
95623         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
95624         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
95625         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
95626         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
95627         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
95628         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
95629         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
95630         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
95631         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
95632         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
95633         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
95634         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
95635         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
95636         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
95637         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
95638         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
95639         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
95640
95641 2002-12-24  Bruno Haible  <bruno@clisp.org>
95642
95643         * MODULES.txt: Update according to m4/ changes.
95644
95645         Module gettext.
95646         * config.rpath: New file, from gettext-0.11.5.
95647
95648         * modules/*: New module descriptions.
95649         * gnulib-tool: New file.
95650         * MODULES.html.sh: New file.
95651
95652 2002-12-21  Karl Berry  <karl@gnu.org>
95653
95654         * doc/fdl.texi: update to version 1.2.
95655
95656 2002-12-19  Karl Berry  <karl@gnu.org>
95657
95658         * config/config.guess: update from prep.
95659
95660 2002-12-18  Bruno Haible  <bruno@clisp.org>
95661
95662         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
95663         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
95664
95665 2002-12-17  Bruno Haible  <bruno@clisp.org>
95666
95667         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
95668         stdlib.h, string.h.
95669
95670 2002-12-17  Bruno Haible  <bruno@clisp.org>
95671
95672         * lib/canon-host.c (strdup): Remove unused declaration.
95673
95674         * lib/fsusage.c: Include full_read.h.
95675         (get_fs_usage): Use full_read instead of safe_read.
95676
95677         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
95678
95679 2002-12-12  Karl Berry  <karl@gnu.org>
95680
95681         * config/config.guess: update from prep.
95682
95683 2002-12-11  Bruno Haible  <bruno@clisp.org>
95684
95685         * m4/setenv.m4: New file, from gettext-0.11.5.
95686
95687 2002-12-11  Bruno Haible  <bruno@clisp.org>
95688
95689         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
95690         not unsetenv().
95691         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
95692         modifications:
95693
95694         2002-12-11  Bruno Haible  <bruno@clisp.org>
95695
95696                 * setenv.c (alloca): Fall back to malloc.
95697                 (freea): New macro.
95698                 (setenv): Use freea() to free memory allocated with alloca().
95699
95700         2002-11-13  Bruno Haible  <bruno@clisp.org>
95701
95702                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
95703                 function declarations.
95704                 * unsetenv.c (unsetenv): Likewise.
95705
95706         2002-03-04  Bruno Haible  <bruno@clisp.org>
95707
95708                 Portability to AIX 4.3.3.
95709                 * unsetenv.c: New file, extracted from setenv.c.
95710                 * setenv.c: Move the unsetenv() function to unsetenv.c.
95711
95712         2001-12-20  Bruno Haible  <bruno@clisp.org>
95713
95714                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
95715                 use malloc instead. For SunOS 4.
95716
95717         2001-12-11  Bruno Haible  <bruno@clisp.org>
95718
95719                 * setenv.c: Declare alloca.
95720                 (compar_fn_t): New typedef.
95721                 (KNOWN_VALUE, STORE_VALUE): Use it.
95722
95723         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
95724         setenv.h.
95725
95726 2002-12-10  Paul Eggert  <eggert@twinsun.com>
95727
95728         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
95729         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
95730         Choose values that are less likely to collide with system fnmatch
95731         options.
95732         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
95733         defined (e.g., a pure POSIX system).
95734         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
95735         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
95736
95737 2002-12-06  Paul Eggert  <eggert@twinsun.com>
95738
95739         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
95740         a pain in practice to deal with generated m4 files.  This change
95741         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
95742
95743         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
95744         and jm-glibc-io.m4, as they are no longer a special case.
95745         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
95746         kludge and the auto-generation stuff.  Check only whether the
95747         functions are declared, not whether they exist, since older hosts
95748         that don't declare the functions can't use the optimization anyway.
95749
95750 2002-12-06  Jim Meyering  <jim@meyering.net>
95751
95752         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
95753
95754         Merge in changes from libc's misc/error.c, in preparation
95755         for the merge of gnulib's changes back into libc.
95756
95757         * lib/error.c (_): Define only if not already defined.
95758         Move definition to follow all #include directives.
95759         Include unlocked-io.h only if !_LIBC.
95760         [_LIBC]: Include <libio/libioP.h>.
95761         [USE_IN_LIBIO]: Include <libio/iolibio.h>
95762         (fflush): Tweak definition to use INTUSE.
95763         (putc): Define.
95764
95765 2002-12-05  Paul Eggert  <eggert@twinsun.com>
95766
95767         * lib/alloca.c [defined emacs]: Include "lisp.h".
95768         (xalloc_die) [defined emacs]: New macro.
95769         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
95770         [! defined emacs]: Include <xalloc.h>.
95771         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
95772         (pointer): Typedef to POINTER_TYPE *.
95773         (malloc): Remove decl; we now always use xmalloc.
95774         (alloca): Use old-style definition, since Emacs needs this.
95775         Check for arithmetic overflow when computing combined size.
95776
95777 2002-12-04  Paul Eggert  <eggert@twinsun.com>
95778
95779         Do not generate unlocked-io.h automatically, since it's easier to
95780         maintain it by hand.
95781
95782         * lib/unlocked-io.h: New file, from GNU diffutils,
95783         but with proper copyright notice and attribution.
95784         * lib/gen-uio: Remove.
95785         * lib/Makefile.am: Add copyright notice.
95786         (libfetish_a_SOURCES): Add unlocked-io.h.
95787         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
95788         (DISTCLEANFILES, io_functions): Remove macros.
95789         (EXTRA_DIST): Remove gen_uio.
95790         (unlocked-io.h): Remove rule.
95791
95792 2002-12-04  Jim Meyering  <jim@meyering.net>
95793
95794         Reflect the fact that stat.c and lstat.c are no longer generated.
95795         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
95796         (DISTCLEANFILES): Likewise.
95797         (EXTRA_DIST): Likewise.
95798         (all_local): Don't depend on stat.c or lstat.c.
95799         (stat.c, lstat.c): Remove rules.
95800         (EXTRA_DIST): Remove xstat.in.
95801
95802         * lib/xstat.in: Remove file.  Contents moved into stat.c.
95803         * lib/stat.c: New file.  Contents mostly from xstat.in.
95804         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
95805         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
95806
95807         * lib/safe-read.c: Rework so that it may serve to define safe_write,
95808         too.
95809         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
95810
95811 2002-12-03  Jim Meyering  <jim@meyering.net>
95812
95813         * lib/safe-read.c, safe-write.c: Change variable names and comments,
95814         but not semantics, to minimize the differences between these two files.
95815         (safe_read): Change comment to mention SAFE_READ_ERROR.
95816
95817         * lib/safe-read.c (IS_EINTR): Define.
95818         (safe_read): Use IS_EINTR in place of in-function cpp directives.
95819
95820 2002-12-02  Jim Meyering  <jim@meyering.net>
95821
95822         * lib/safe-read.c (EINTR): Define.
95823         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
95824         (INT_MAX): Provide fallback.
95825         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
95826
95827         * lib/safe-read.h (SAFE_READ_ERROR): Define.
95828
95829 2002-12-02  Bruno Haible  <bruno@clisp.org>
95830
95831         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
95832         Define, taken from safe-read.c.
95833         (INT_MAX): Provide fallback.
95834         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
95835         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
95836
95837         * lib/safe-read.c (EINTR): Remove definition.
95838         (safe_read): Don't use EINTR if it is absent.
95839
95840 2002-12-01  Jim Meyering  <jim@meyering.net>
95841
95842         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
95843         zero.
95844         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
95845
95846 2002-11-27  Paul Eggert  <eggert@twinsun.com>
95847
95848         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
95849         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
95850         with `if (! (value < limit)) abort ();', for readability.
95851
95852 2002-11-26  Karl Berry  <karl@gnu.org>
95853
95854         * lib/strdup.c: copy from libc again, with jim's ok.
95855         * lib/.cppi-disable: re-add strdup.c
95856
95857 2002-11-25  Karl Berry  <karl@gnu.org>
95858
95859         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
95860         instead of "strtol.c".
95861
95862 2002-11-25  Karl Berry  <karl@gnu.org>
95863
95864         * config/install-sh: update from automake for variable quoting, $0 in
95865         error msgs, etc.
95866
95867         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
95868         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
95869         entry.
95870
95871 2002-11-25  Jim Meyering  <jim@meyering.net>
95872
95873         * lib/mktime.c: Sync from libc, now that it has the latest fix.
95874
95875 2002-11-24  Karl Berry  <karl@gnu.org>
95876
95877         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
95878         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
95879
95880 2002-11-24  Jim Meyering  <jim@meyering.net>
95881
95882         Update from coreutils:
95883
95884         * lib/mktime.c: Merge in changes from libc.
95885
95886         Avoid a link-time failure on some Linux systems.
95887         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
95888         (otherwise).
95889         (__mon_yday): Declare with the STATIC attribute.
95890         (__mktime_internal): Likewise.
95891         Based on a report from Greg Schafer.
95892
95893 2002-11-23  Jim Meyering  <jim@meyering.net>
95894
95895         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
95896         Use `unsigned', not `int', as type of index.
95897
95898         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
95899
95900         * lib/fsusage.c: Remove unneeded parentheses around operands of
95901         `defined'.
95902
95903 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95904
95905         * lib/quotearg.h: Allow multiple inclusion by surrounding with
95906         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
95907         so that we can be included first.
95908         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
95909         * lib/quotearg.c: Include quotearg.h immediately after config.h.
95910         No need to include stddef.h or sys/types.h any more.
95911         Surround local include files with "", not "<>".
95912         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
95913         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
95914         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
95915         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
95916         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
95917         (ISPRINT): Remove; no longer needed now that we assume C89.
95918
95919         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
95920         Preserve errno.
95921
95922         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
95923         quotearg_char): Use SIZE_MAX rather than
95924         (size_t) -1 when we are talking about "infinity".
95925
95926         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
95927
95928 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95929
95930         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
95931         hint that one should use `if (! x) abort ();' rather than `assert
95932         (x);', and anyway it's one less thing to worry about configuring.
95933         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
95934         hash_rehash, hash_insert): Use abort rather than assert.
95935
95936 2002-11-22  Bruno Haible  <bruno@clisp.org>
95937
95938         * lib/safe-read.h: Assume C89. Add comments.
95939         (safe_read): Change return type to size_t.
95940         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
95941         byte counts > SSIZE_MAX correctly.
95942         * lib/safe-write.h: New file.
95943         * lib/safe-write.c: New file.
95944         * lib/full-read.h: New file.
95945         * lib/full-read.c: New file.
95946         * lib/full-write.h: Assume C89. Add comments.
95947         * lib/full-write.c: Include safe-write.h.
95948         (full_write): Rewritten to use safe_write.
95949         Suggested by Jim Meyering and Paul Eggert.
95950
95951 2002-11-21  Jim Meyering  <jim@meyering.net>
95952
95953         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
95954
95955         Merge in changes from the coreutils.
95956
95957         2002-09-25  Paul Eggert  <eggert@twinsun.com>
95958         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
95959         <stdint.h>.
95960         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
95961         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
95962         int.  Work more efficiently if X is the same width as uintmax_t.
95963         Do not compare X to -1, to avoid bogus compiler warning.
95964         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
95965         Don't assume that f_frsize and f_bsize are the same type.
95966
95967         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
95968         warning on FreeBSD.
95969
95970         * lib/makepath.c (make_path): Restore umask *before* creating the final
95971         component.
95972         (make_path): Minor reformatting.
95973
95974         * lib/xmalloc.c: Adjust to work with new autoconf macros,
95975         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
95976         HAVE_MALLOC/HAVE_REALLOC.
95977
95978         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
95979         dummy ones.  At least on GNU/Linux systems, `auto' means something
95980         else.
95981         From Michael Stone.
95982
95983 2002-11-21  Bruno Haible  <bruno@clisp.org>
95984
95985         Remove case insensitive option matching.
95986         * lib/argmatch.h (argcasematch): Remove declaration.
95987         (ARGCASEMATCH): Remove macro.
95988         (__xargmatch_internal): Remove case_sensitive argument.
95989         (XARGMATCH): Update.
95990         (XARGCASEMATCH): Remove macro.
95991         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
95992         case_sensitive argument.
95993         (argcasematch): Remove function.
95994         (__xargmatch_internal): Remove case_sensitive argument.
95995         (main): Use XARGMATCH instead of XARGCASEMATCH.
95996
95997         * lib/xmalloc.c: Change compile-time error message. Add comment about
95998         required autoconf version.
95999
96000 2002-11-20  Paul Eggert  <eggert@twinsun.com>
96001
96002         Merge argmatch cleanups from Bison.  Assume C89.
96003
96004         * lib/argmatch.c: Include config.h here, not in argmatch.h.
96005         Include stdlib.h, for EXIT_FAILURE.
96006         Always include <string.h>, since we assume C89.
96007         (EXIT_FAILURE): Remove pre-C89 bug workaround.
96008         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
96009         Include <stddef.h> instead, since it's all we need for size_t.
96010         (PARAMS): Remove.  All uses removed.
96011         (ARRAY_CARDINALITY): Do not bother to #undef.
96012         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
96013         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
96014         Remove unnecessary parentheses.
96015         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
96016         Insert necessary parentheses.
96017         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
96018         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
96019
96020 2002-11-19  Bruno Haible  <bruno@clisp.org>
96021
96022         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
96023         * lib/mbswidth.h: Include <stddef.h>, for size_t.
96024
96025         * lib/mbswidth.h (PARAMS): Remove macro.
96026         (mbswidth, mbsnwidth): Use ANSI C function declarations.
96027         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
96028
96029         * lib/gcd.h (PARAMS): Remove macro.
96030         (gcd): Use ANSI C function declarations.
96031         * lib/gcd.c (gcd): Likewise.
96032
96033 2002-11-15  Bruno Haible  <bruno@clisp.org>
96034
96035         * lib/strcspn.c: Include <stddef.h>.
96036         (strcspn): Use ANSI C function declaration. Change return type to
96037         size_t. Use NULL.
96038         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
96039         (strpbrk): Use NULL.
96040         * lib/strpbrk.h (PARAMS): Remove macro.
96041         (strpbrk): Use ANSI C function declaration.
96042         * lib/strstr.c: Don't include <sys/types.h>.
96043         * lib/strstr.h (PARAMS): Remove macro.
96044         (strstr): Use ANSI C function declarations.
96045
96046 2002-11-14  Karl Berry  <karl@gnu.org>
96047
96048         * config/mkinstalldirs: `do' on separate line, instead of
96049         `for var; do'.
96050
96051 2002-11-06  Bruno Haible  <bruno@clisp.org>
96052
96053         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
96054         * lib/gcd.c (gcd): Likewise.
96055
96056 2002-11-05  Bruno Haible  <bruno@clisp.org>
96057
96058         * lib/gcd.h: New file, from gettext-0.11.5.
96059         * lib/gcd.c: New file, from gettext-0.11.5.
96060
96061 2002-11-05  Bruno Haible  <bruno@clisp.org>
96062
96063         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
96064         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
96065         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
96066         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
96067
96068         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
96069         <libintl.h>.
96070         * lib/makepath.c: Include gettext.h instead of <locale.h> and
96071         <libintl.h>.
96072
96073         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
96074         * lib/human.c: Include gettext.h instead of <libintl.h>.
96075         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
96076         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
96077         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
96078         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
96079         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
96080         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
96081         (textdomain): Remove definition.
96082         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
96083
96084         * lib/long-options.c: Remove include of <libintl.h> and definition of
96085         _.
96086         * lib/same.c: Remove include of <libintl.h> and definition of _.
96087
96088 2002-11-04  Owen Taylor  <otaylor@redhat.com>
96089
96090         * lib/config.charset: A few additions for Solaris.
96091
96092 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
96093
96094         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
96095         * lib/localcharset.c (locale_charset): Declare as extern "C".
96096
96097 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
96098
96099         * lib/config.charset: msdos in uk_UA uses CP1125.
96100
96101 2002-11-04  Bruno Haible  <bruno@clisp.org>
96102
96103         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
96104         * lib/strcase.h: New file, from GNU gettext-0.11.5.
96105         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
96106         * lib/strstr.h: New file, from GNU gettext-0.11.5.
96107         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
96108
96109 2002-11-04  Bruno Haible  <bruno@clisp.org>
96110
96111         * lib/localcharset.c (locale_charset): Don't return an empty string.
96112
96113 2002-11-04  Bruno Haible  <bruno@clisp.org>
96114
96115         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
96116         aliases.
96117
96118 2002-11-04  Bruno Haible  <bruno@clisp.org>
96119
96120         * lib/config.charset: Update for newest glibc. Add canonical names
96121         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
96122
96123 2002-11-04  Bruno Haible  <bruno@clisp.org>
96124
96125         * lib/config.charset: Add support for NetBSD.
96126
96127 2002-11-04  Bruno Haible  <bruno@clisp.org>
96128
96129         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
96130
96131 2002-11-01  Bruno Haible  <bruno@clisp.org>
96132
96133         * configure.in: Add AC_CONFIG_AUX_DIR call.
96134         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
96135         test/Makefile.
96136         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
96137
96138 2002-09-28  Karl Berry  <karl@gnu.org>
96139
96140         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
96141         installed automake until the next release, since changes have been
96142         made.
96143
96144 2002-09-25  Karl Berry  <karl@gnu.org>
96145
96146         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
96147         * lib/getopt*: copy from libc/posix.
96148         * lib/gettext.h: copy from gettext.
96149         * lib/.cppi-disable: add strdup.c, gettext.h.
96150
96151 2002-09-25  Karl Berry  <karl@gnu.org>
96152
96153         * config/srclist.txt: enable gettext.h check.
96154         * config/config.{guess,sub}: update from prep.
96155         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
96156                 from automake 1.6.3.
96157         See srclist*.
96158
96159 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
96160
96161         * regex.c (PATFETCH): Remove the translating fetch.
96162         (PATFETCH_RAW): Rename to PATFETCH.
96163         (set_image_of_range): New fun.
96164         (SET_RANGE_TABLE_WORK_AREA): Use it.
96165         (regex_compile): Don't translate the pattern chars so eagerly.
96166         Only do it when inserting an `exactn' bytecode or when handling
96167         a char-range.
96168         (mutually_exclusive_p): Avoid empty statement.
96169
96170 2002-07-06  Jim Meyering  <meyering@lucent.com>
96171
96172         * m4/README: Don't mention Makefile.am.in.
96173         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
96174
96175 2002-07-01  Jim Meyering  <meyering@lucent.com>
96176
96177         * lib/c-stack.c: Include sys/time.h.
96178         From Volker Borchert.
96179
96180 2002-06-26  Paul Eggert  <eggert@twinsun.com>
96181
96182         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
96183
96184 2002-06-26  Paul Eggert  <eggert@twinsun.com>
96185
96186         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
96187         New macro.  Use it uniformly instead of
96188         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
96189         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
96190         reported by Vin Shelton.
96191
96192 2002-06-22  Paul Eggert  <eggert@twinsun.com>
96193
96194         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
96195         Do not assume SA_SIGINFO behavior.
96196         Bug reported by Jim Meyering on NetBSD 1.5.2.
96197
96198 2002-06-22  Jim Meyering  <meyering@lucent.com>
96199
96200         * m4/c-stack.m4: New file, from diffutils-2.8.2.
96201         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
96202
96203         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
96204         now that configure.ac uses AC_GNU_SOURCE.
96205         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
96206         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
96207
96208         Update to latest tools.  Suggestions from Paul Eggert.
96209         * m4/stdbool.m4: New file, from diffutils-2.8.2.
96210         * m4/gnu-source.m4: Update from diffutils-2.8.2.
96211         * m4/fnmatch.m4: Likewise.
96212         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
96213         to AC_HEADER_STDBOOL
96214
96215 2002-06-22  Jim Meyering  <meyering@lucent.com>
96216
96217         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
96218         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
96219
96220 2002-06-22  Jim Meyering  <meyering@lucent.com>
96221
96222         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
96223
96224         * lib/exitfail.c, exitfail.h: Likewise.
96225         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
96226
96227         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
96228         of fnmatch.h.
96229         (EXTRA_DIST): Add fnmatch_loop.c.
96230         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
96231
96232         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
96233         * lib/fnmatch.c: Update from diffutils-2.8.2.
96234         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
96235         * lib/fnmatch.h: Remove file.
96236
96237 2002-06-21  Jim Meyering  <meyering@lucent.com>
96238
96239         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
96240         * m4/mbrtowc.m4: Likewise.
96241
96242         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
96243         * m4/mbswidth.m4: Reflect name change:
96244         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
96245         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
96246
96247         * m4/lib-link.m4: Update from gettext-0.11.2.
96248         * m4/gettext.m4: Likewise.
96249
96250         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
96251         From Alfred M. Szmidt.
96252
96253 2002-06-18  Paul Eggert  <eggert@twinsun.com>
96254
96255         * lib/file-type.h: Report an error if neither S_ISREG nor
96256         S_IFREG is defined, instead of using a test specific to glibc
96257         2.2.  This should be safe, since POSIX requires S_ISREG and
96258         Unix Version 7 had S_IFREG.  We don't need to check for
96259         <sys/types.h> since we don't use any symbols that it defines.
96260
96261 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
96262
96263         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
96264         $@-t, so that each temporary file name is unique and valid in the first
96265         8 characters, for operation under DOS.
96266
96267 2002-06-15  Paul Eggert  <eggert@twinsun.com>
96268
96269         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
96270
96271 2002-06-15  Jim Meyering  <meyering@lucent.com>
96272
96273         Work even with DJGPP 2.03, which lacks support for symlinks.
96274         From Richard Dawe.
96275         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
96276         is defined.
96277         * lib/lchown.c (S_ISLNK): Likewise.
96278
96279 2002-06-15  Jim Meyering  <meyering@lucent.com>
96280
96281         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
96282         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
96283         have been included before this file.
96284
96285 2002-06-14  Jim Meyering  <meyering@lucent.com>
96286
96287         * lib/file-type.h: Use the version from diffutils-2.8.2.
96288         * lib/file-type.c: Likewise.
96289
96290 2002-06-07  Jim Meyering  <meyering@lucent.com>
96291
96292         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
96293         They're needed at least for NetBSD 1.5.2.
96294         ($statxfs_includes): Include those same headers.
96295         ($statxfs_includes): Include sys/vfs.h if available.
96296         ($statxfs_includes): Likewise for sys/statvfs.h.
96297         Check for the following members in both structs statfs and statvfs:
96298         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
96299
96300 2002-06-01  Jim Meyering  <meyering@lucent.com>
96301
96302         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
96303         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
96304
96305 2002-05-28  Jim Meyering  <meyering@lucent.com>
96306
96307         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
96308         Reported by Volker Borchert.
96309
96310 2002-05-27  Jim Meyering  <meyering@lucent.com>
96311
96312         Fix a problem seen only on nonconforming systems whereby ls.c's
96313         use of localtime, and then of gettimeofday would cause trouble:
96314         the localtime call used to initialize rpl_gettimeofday's save
96315         mechanism would clobber ls's current local time information so
96316         that in any long listing the first file would always be listed
96317         with date 1970-01-01.  Analysis by Volker Borchert.
96318
96319         * lib/gettimeofday.c (localtime): Undefine.
96320         (rpl_localtime): New function.
96321
96322 2002-05-27  Jim Meyering  <meyering@lucent.com>
96323
96324         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
96325         localtime.
96326
96327         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
96328         use the replacement function; it wouldn't resolve at link time.
96329         Reported by Volker Borchert.
96330
96331 2002-05-22  Jim Meyering  <meyering@lucent.com>
96332
96333         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
96334         file-type.h.
96335         * lib/file-type.h: New file.
96336         * lib/file-type.c (file_type): New file/function.  Extracted from
96337         diffutils.
96338
96339 2002-04-30  Jim Meyering  <meyering@lucent.com>
96340
96341         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
96342
96343 2002-04-29  Paul Eggert  <eggert@twinsun.com>
96344
96345         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
96346
96347 2002-04-29  Paul Eggert  <eggert@twinsun.com>
96348
96349         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
96350         Do not check for alloca.h (no longer used) or stdbool.h (was never
96351         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
96352
96353 2002-04-29  Paul Eggert  <eggert@twinsun.com>
96354
96355         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
96356
96357 2002-04-29  Jim Meyering  <meyering@lucent.com>
96358
96359         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
96360         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
96361         Use AC_FUNC_STRNLEN here instead.
96362
96363         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
96364         With autoconf-2.53a, it's part of AC_PROG_CC.
96365
96366 2002-04-28  Paul Eggert  <eggert@twinsun.com>
96367
96368         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
96369         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
96370
96371 2002-04-28  Paul Eggert  <eggert@twinsun.com>
96372
96373         * lib/sig2str.h, lib/sig2str.c: New files.
96374         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
96375
96376 2002-04-28  Paul Eggert  <eggert@twinsun.com>
96377
96378         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
96379         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
96380         of 127, since 64 is the largest conceivable number for ancient
96381         nonstandard hosts.
96382         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
96383
96384 2002-04-28  Jim Meyering  <meyering@lucent.com>
96385
96386         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
96387
96388 2002-04-24  Jim Meyering  <meyering@lucent.com>
96389
96390         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
96391         (jm_PREREQ): Use it.
96392
96393         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
96394         mach/mach.h fcntl.h.
96395         Check for this function: setlocale.
96396
96397 2002-04-24  Jim Meyering  <meyering@lucent.com>
96398
96399         * lib/gettext.h: New file, from Gettext.
96400         * lib/Makefile.am (INCLUDES): Remove -I../intl.
96401         (libfetish_a_SOURCES): Add gettext.h.
96402
96403 2002-04-16  Jim Meyering  <meyering@lucent.com>
96404
96405         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
96406         ut_pid, ut_id, ut_exit.
96407
96408 2002-04-16  Jim Meyering  <meyering@lucent.com>
96409
96410         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
96411         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
96412         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
96413
96414 2002-04-12  Jim Meyering  <meyering@lucent.com>
96415
96416         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
96417         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
96418         existence of the getmntinfo function.  Needed for Darwin 5.3.
96419
96420         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
96421         This is necessary at least on Darwin 5.3.
96422
96423         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
96424         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
96425         strnlen.o in the library, and that makes some versions of ranlib
96426         object.
96427
96428 2002-04-12  Jim Meyering  <meyering@lucent.com>
96429
96430         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
96431
96432 2002-04-09  Jim Meyering  <meyering@lucent.com>
96433
96434         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
96435         to be more precise.  Rather than saying we're checking whether the
96436         function `works', say what we're testing.
96437         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
96438         Reported by Bruno Haible.
96439
96440 2002-03-10  Jim Meyering  <meyering@lucent.com>
96441
96442         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
96443         Suggestion from Santiago Vila.
96444
96445 2002-03-08  Jim Meyering  <meyering@lucent.com>
96446
96447         * lib/rename.c: Mention that this wrapper is needed also on
96448         mips-dec-ultrix4.4 systems.
96449
96450 2002-03-02  Jim Meyering  <meyering@lucent.com>
96451
96452         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
96453         not HAVE_CLOCK_SETTIME.
96454
96455 2002-02-27  Paul Eggert  <eggert@twinsun.com>
96456
96457         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
96458         Check for clock_settime.
96459
96460 2002-02-27  Paul Eggert  <eggert@twinsun.com>
96461
96462         * lib/nanosleep.h: Rename to....
96463         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
96464
96465         * lib/gettime.c: New file.
96466         * lib/settime.c: New file.
96467         * lib/stime.c: Remove.
96468
96469         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
96470         timespec.h.  Remove nanosleep.h.
96471
96472 2002-02-25  Paul Eggert  <eggert@twinsun.com>
96473
96474         * m4/acl.m4: New file.
96475         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
96476         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
96477
96478 2002-02-25  Paul Eggert  <eggert@twinsun.com>
96479
96480         * lib/acl.c, lib/acl.h: New files.
96481         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
96482
96483 2002-02-24  Jim Meyering  <meyering@lucent.com>
96484
96485         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
96486         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
96487         cause trouble.  Reported by Nelson Beebe.
96488
96489 2002-02-23  Paul Eggert  <eggert@twinsun.com>
96490
96491         * lib/path-concat.c (xpath_concat): Reorder code to pacify
96492         compilers that don't know that xalloc_die never returns.
96493
96494 2002-02-20  Jim Meyering  <meyering@lucent.com>
96495
96496         * lib/getdate.c: Regenerate using bison-1.33.
96497
96498 2002-02-17  Jim Meyering  <meyering@lucent.com>
96499
96500         * config/config.guess (main): Don't use `head -1'; it's no longer
96501         portable. Use `sed 1q' instead.
96502
96503 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
96504
96505         * m4/codeset.m4: Upgrade to gettext-0.11.
96506         * m4/gettext.m4: Upgrade to gettext-0.11.
96507         * m4/glibc21.m4: Upgrade to gettext-0.11.
96508         * m4/iconv.m4: Upgrade to gettext-0.11.
96509         * m4/isc-posix.m4: Upgrade to gettext-0.11.
96510         * m4/lcmessage.m4: Upgrade to gettext-0.11.
96511         * m4/lib-ld.m4: New file, from gettext-0.11.
96512         * m4/lib-link.m4: New file, from gettext-0.11.
96513         * m4/lib-prefix.m4: New file, from gettext-0.11.
96514         * m4/progtest.m4: Upgrade to gettext-0.11.
96515
96516 2002-02-15  Paul Eggert  <eggert@twinsun.com>
96517
96518         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
96519         (jm_PREREQ): Use it.
96520
96521 2002-02-15  Paul Eggert  <eggert@twinsun.com>
96522
96523         * lib/posixver.c, lib/posixver.h: New files.
96524         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
96525
96526 2002-02-02  Paul Eggert  <eggert@twinsun.com>
96527             Bruno Haible  <bruno@clisp.org>
96528
96529         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
96530         (fwrite_success_callback): New declaration.
96531         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
96532         print_unicode_char. Call failure callback instead of error.
96533         (fwrite_success_callback): New function.
96534         (exit_failure_callback): New function.
96535         (fallback_failure_callback): New function.
96536         (print_unicode_char): Call unicode_to_mb.
96537
96538 2002-01-26  Jim Meyering  <meyering@lucent.com>
96539
96540         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
96541         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
96542
96543 2002-01-26  Jim Meyering  <meyering@lucent.com>
96544
96545         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
96546
96547 2002-01-22  Paul Eggert  <eggert@twinsun.com>
96548
96549         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
96550
96551 2002-01-22  Jim Meyering  <meyering@lucent.com>
96552
96553         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
96554         Otherwise, some versions of automake would omit the rule that makes
96555         Makefile from Makefile.in.
96556
96557 2002-01-21  Paul Eggert  <eggert@twinsun.com>
96558
96559         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
96560         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
96561         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
96562         (memcoll): Set errno to zero if there is no error.
96563
96564         * lib/quotearg.c (quotearg_buffer_restyled):
96565         Fix bug with quoting buffers containing NUL when backslashing escapes.
96566         This bug was exposed by the other changes in this patch.
96567         (quotearg_n_options): New arg ARGSIZE.
96568         All callers changed.
96569         (quoting_options_from_style): New function.
96570         (quotearg_n_style): Use it.
96571         (quotearg_n_style_mem): New function.
96572
96573         * lib/quotearg.h (quotearg_n_style_mem): New function.
96574
96575 2002-01-19  Jim Meyering  <meyering@lucent.com>
96576
96577         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
96578         Remove useless quotes: DF_PROG="df".
96579         * m4/strnlen.m4: New file.
96580
96581 2002-01-16  Paul Eggert  <eggert@twinsun.com>
96582
96583         * lib/backupfile.c (ISDIGIT): Comment fix.
96584         * lib/getdate.y (ISDIGIT): Likewise.
96585         * lib/posixtm.c (ISDIGIT, year): Likewise.
96586         * lib/strverscmp.c (ISDIGIT): Likewise.
96587         * lib/userspec.c (ISDIGIT): Likewise.
96588
96589 2002-01-16  Jim Meyering  <meyering@lucent.com>
96590
96591         * lib/getdate.y: Add three semicolons, each just before a closing
96592         brace. Bison (as of version 1.31) no longer papers over that mistake.
96593
96594 2002-01-05  Jim Meyering  <meyering@lucent.com>
96595
96596         * lib/version-etc.c (version_etc_copyright): Update copyright year.
96597
96598 2001-12-19  Paul Eggert  <eggert@twinsun.com>
96599
96600         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
96601         not silently exit merely because the output buffer happens to
96602         have nothing pending.
96603
96604 2001-12-18  Paul Eggert  <eggert@twinsun.com>
96605
96606         See the big note in ../ChangeLog.
96607         * lib/human.c (suffixes): Prefer K to k for 1024.
96608         (generate_suffix_backwards): New function.
96609         (human_readable_inexact): Use it.
96610         * lib/xstrtol.c (__xstrtol): If there is no number but there
96611         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
96612         Accept 'K' as well as 'k'.
96613
96614 2001-12-15  Jim Meyering  <meyering@lucent.com>
96615
96616         * lib/regex.h (__restrict_arr): Update from libc.
96617
96618         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
96619         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
96620         (STREQ): Define.
96621
96622 2001-12-14  Jim Meyering  <meyering@lucent.com>
96623
96624         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
96625         Suggestion from Bruno Haible.
96626
96627 2001-12-10  Jim Meyering  <meyering@lucent.com>
96628
96629         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
96630         xrealloc, Instead, include "xalloc.h".
96631         (initbuffer): Don't cast xmalloc return value to char*.
96632         (readline): Reword comment.
96633         Don't cast xrealloc return value to char*
96634         Return NULL, not 0.
96635
96636 2001-12-09  Jim Meyering  <meyering@lucent.com>
96637
96638         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
96639         about `signed and unsigned type in conditional expression'.
96640         * lib/posixtm.c (posix_time_parse): Likewise.
96641
96642         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
96643
96644         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
96645         to avoid a pedantic warning.
96646
96647         * lib/getstr.c: Don't include assert.h.
96648         (getstr): Remove warning-evoking assertions.
96649         Return -1 if offset parameter is out of bounds.
96650         Change the type of a local from int to size_t.
96651
96652         * lib/strftime.c (my_strftime_localtime_r): Include this function
96653         definition in the `#if ! HAVE_TM_GMTOFF' block.
96654
96655         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
96656         Include xalloc.h instead.
96657
96658 2001-12-02  Jim Meyering  <meyering@lucent.com>
96659
96660         * lib/tempname.c: Don't declare getenv, thus reverting the change of
96661         2001-11-18.  It's no longer necessary, now that stdlib.h is always
96662         included.
96663
96664         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
96665         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
96666
96667 2001-11-30  Akim Demaille  <akim@epita.fr>
96668
96669         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
96670         before being defined.
96671
96672 2001-11-27  Paul Eggert  <eggert@twinsun.com>
96673
96674         * lib/quotearg.h (quotearg_n, quotearg_n_style):
96675         First arg is int, not unsigned.
96676         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
96677         (SIZE_MAX, UINT_MAX): New macros.
96678         (quotearg_n_options): Abort if N is negative.
96679         Avoid overflow check on hosts where size_t is 64 bits and int
96680         is 32 bits, as overflow is impossible there.
96681         Fix off-by-one typo that caused unnecessary reallocation.
96682
96683 2001-11-27  Jim Meyering  <meyering@lucent.com>
96684
96685         * lib/tempname.c: Merge with version from libc.
96686         * lib/regex.c: Likewise.
96687
96688         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
96689         systems for which STDC_HEADERS is 0, it was not included, resulting in
96690         a warning about an integer-to-pointer conversion problem with getenv.
96691         Reported by Volker Borchert.
96692
96693 2001-11-26  Jim Meyering  <meyering@lucent.com>
96694
96695         * lib/gtod.h: Remove file.
96696         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
96697         * lib/gettimeofday.c: Don't include gtod.h.
96698         (GTOD_init): Remove function.
96699         (rpl_gettimeofday): Do its job here instead, rather than aborting.
96700         Suggestion from Volker Borchert.
96701
96702 2001-11-23  Jim Meyering  <meyering@lucent.com>
96703
96704         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
96705         it.
96706         * lib/hash.c (struct hash_table): Define it here instead.
96707
96708 2001-11-22  Jim Meyering  <meyering@lucent.com>
96709
96710         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
96711
96712 2001-11-20  Jim Meyering  <meyering@lucent.com>
96713
96714         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
96715         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
96716
96717 2001-11-19  Jim Meyering  <meyering@lucent.com>
96718
96719         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
96720         directory.  Use "conftestXXXXXX" as the template.
96721         Suggestion from Paul Eggert.
96722
96723         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
96724         immediately, so the test doesn't mistakenly hit the max-open-files
96725         limit.
96726
96727 2001-11-18  Paul Eggert  <eggert@twinsun.com>
96728
96729         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
96730         (TEMPORARIES): New macro.
96731         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
96732         removes an artificial limitation (e.g. HP-UX 10.20, where
96733         TMP_MAX is 17576).
96734
96735 2001-11-18  Jim Meyering  <meyering@lucent.com>
96736
96737         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
96738
96739 2001-11-18  Jim Meyering  <meyering@lucent.com>
96740
96741         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
96742         on SunOS 4.
96743
96744         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
96745         files will be created before anything else.
96746
96747 2001-11-17  Paul Eggert  <eggert@twinsun.com>
96748
96749         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
96750         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
96751
96752 2001-11-17  Jim Meyering  <meyering@lucent.com>
96753
96754         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
96755         Prompted by a report from Bob Proulx.
96756
96757         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
96758         Instead, require UTILS_FUNC_MKSTEMP.
96759
96760 2001-11-17  Jim Meyering  <meyering@lucent.com>
96761
96762         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
96763         Now, that's done as part of AC_FUNC_STRTOD.
96764
96765 2001-11-17  Jim Meyering  <meyering@lucent.com>
96766
96767         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
96768         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
96769         rather than group writable.  Patch by Juan F. Codagnone.
96770
96771         * lib/readtokens.c: Remove explicit declarations of xmalloc and
96772         xrealloc, Instead, include "xalloc.h".
96773
96774         * lib/mountlist.c: Include unlocked-io.h after all system headers.
96775         Remove explicit declarations of xmalloc, xrealloc,
96776         and xstrdup.  Instead, include "xalloc.h".
96777
96778         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
96779         unlocked-io.h.
96780         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
96781         Likewise.
96782         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
96783
96784         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
96785         Reported by Padraig Brady.
96786
96787         * lib/mkstemp.c: #undef mkstemp.
96788         Include config.h.
96789         (rpl_mkstemp): Rename from mkstemp.
96790         Protoize.
96791
96792 2001-11-16  Jim Meyering  <meyering@lucent.com>
96793
96794         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
96795         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
96796         determine the amount of total physical memory, use pstat_getstatic.
96797         HPUX-11 doesn't define _SC_PHYS_PAGES.
96798         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
96799         If sysconf couldn't be used to determine the amount of available
96800         physical memory, use both pstat_getstatic and pstat_getdynamic.
96801         Based on a patch from Bob Proulx.
96802
96803 2001-11-10  Jim Meyering  <meyering@lucent.com>
96804
96805         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
96806         (jm_PREREQ): Use it.
96807
96808 2001-11-09  Jim Meyering  <meyering@lucent.com>
96809
96810         * m4/jm-macros.m4: Require autoconf-2.52f.
96811         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
96812         Use these AC_-prefixed names, not the AM_-prefixed ones.
96813
96814         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
96815
96816 2001-11-05  Jim Meyering  <meyering@lucent.com>
96817
96818         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
96819
96820 2001-11-04  Jim Meyering  <meyering@lucent.com>
96821
96822         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
96823         $DEFS.
96824
96825 2001-11-03  Jim Meyering  <meyering@lucent.com>
96826
96827         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
96828         of AC_DEFUN.
96829
96830         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
96831         know the name of the variable in the macro definition.
96832
96833 2001-11-03  Jim Meyering  <meyering@lucent.com>
96834
96835         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
96836         in argmatch_to_argument call.
96837
96838         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
96839         argument.
96840
96841         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
96842         e.g., a fault due to an attempt to free a NULL pointer.
96843
96844 2001-11-01  Jim Meyering  <meyering@lucent.com>
96845
96846         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
96847         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
96848
96849 2001-11-01  Jim Meyering  <meyering@lucent.com>
96850
96851         * lib/dirfd.c, lib/dirfd.h: New files.
96852         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
96853
96854         * lib/hash.c (hash_print) [TESTING]: Clean up.
96855
96856 2001-10-22  Paul Eggert  <eggert@twinsun.com>
96857
96858         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
96859         to avoid a warning if -Wall.
96860
96861 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
96862
96863         * README: New file
96864         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
96865         (per RMS's instructions, this is now the canonical source)
96866         * lgpl/, gpl/: New directories.
96867
96868 2001-10-21  Paul Eggert  <eggert@twinsun.com>
96869
96870         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
96871
96872 2001-10-21  Jim Meyering  <meyering@lucent.com>
96873
96874         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
96875         this code would end up calling gettext even in packages built
96876         with --disable-nls.
96877         * lib/getopt.c (_): Likewise.
96878         * lib/regex.c (_): Likewise.
96879
96880 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96881
96882         * m4/error.m4 (jm_PREREQ_ERROR):
96883         Do not invoke AC_CHECK_FUNCS with strerror_r, as
96884         AC_FUNC_STRERROR_R does that.
96885         Check for strerror declaration.
96886
96887         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
96888         are supposed to have them these days.
96889         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
96890         Merge changes from latest Autoconf CVS.
96891         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
96892         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
96893         POSIX decided to standardize on the int flavor of strerror_r.
96894
96895 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96896
96897         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
96898         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
96899         Use strerror_r that is only a macro, even if it is not a function.
96900         (strerror): Check for HAVE_DECL_STRERROR before declaring.
96901         (private_strerror): Use prototypes, not old-style function definition.
96902         (print_errno_message): New function.
96903         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
96904         char*-flavored one.
96905         (error_tail, error, error_at_line): Use it.
96906
96907 2001-10-11  Jim Meyering  <meyering@lucent.com>
96908
96909         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
96910         and quote_n (1, ... to avoid clobbering a buffer.
96911
96912 2001-10-05  Jim Meyering  <meyering@lucent.com>
96913
96914         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
96915         hash-pjw.h.
96916         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
96917         * lib/hash-pjw.h: New file.
96918
96919 2001-09-30  Jim Meyering  <meyering@lucent.com>
96920
96921         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
96922         `struct fsstat' has the `f_fstypename' member.
96923         Use that to define FS_TYPE, which is now used to make
96924         the getfsstat link test tighter.
96925
96926 2001-09-30  Jim Meyering  <meyering@lucent.com>
96927
96928         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
96929         Include <sys/ucred.h>, for Apple Darwin.
96930         Include sys/mount.h and sys/fs_types.h only if available.
96931         (FS_TYPE): Define.
96932         (read_filesystem_list): Use FS_TYPE.
96933
96934 2001-09-29  Paul Eggert  <eggert@twinsun.com>
96935
96936         * lib/exclude.c (excluded_filename): 0 -> false, since it's
96937         a boolean context.
96938
96939 2001-09-29  Jim Meyering  <meyering@lucent.com>
96940
96941         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96942         [one-argument getmntent function]): Include stdio.h before mntent.h.
96943         SunOS 4.1.x needs it for the declaration of `FILE'.
96944         Patch by Volker Borchert.
96945
96946         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96947         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
96948         sys/fs_types.h, and make the link-test for getfsstat guard #include
96949         directives with appropriate #if HAVE_*_H tests so that we can
96950         detect getfsstat on Apple Darwin1.3.7 systems.
96951         Reported by Nelson Beebe.
96952         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
96953
96954 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96955
96956         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96957         #defines strtoimax.  Also treat the other strto* functions
96958         like strtoimax.
96959
96960         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96961         Check for strtoul and strtoumax,
96962         as those declarations are made even in the signed case.
96963         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
96964         Likewise, for strtol and strtoimax.
96965
96966 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96967
96968         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96969         #defines strtoimax.  Also treat the other strto* functions
96970         like strtoimax.
96971
96972         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
96973         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
96974         (strtoimax, strtoumax): Do not declare if already defined as a macro.
96975
96976 2001-09-26  Jim Meyering  <meyering@lucent.com>
96977
96978         Most macros in unlocked-io.h had the wrong number of arguments.
96979         * lib/gen-uio: New script.
96980         (USE_UNLOCKED_IO): Define to 1 if not already defined.
96981         * lib/unlocked-io.hin: Remove file.
96982         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
96983         rather than trying to embed it here.
96984         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
96985         Reported by Padraig Brady.
96986
96987 2001-09-25  Volker Borchert  <bt@teknon.de>
96988
96989         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
96990         `result'.
96991
96992 2001-09-24  Jim Meyering  <meyering@lucent.com>
96993
96994         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
96995
96996 2001-09-23  Jim Meyering  <meyering@lucent.com>
96997
96998         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
96999         instead of the mere test for existence of mntent.h.  The latter
97000         would get a false-positive on AIX 3.4 systems.
97001         In the outer getmntent if-block, don't die if neither of the getmntent
97002         tests succeeds.  Instead, just fall through and continue with the
97003         remaining tests.
97004
97005 2001-09-23  Jim Meyering  <meyering@lucent.com>
97006
97007         * lib/mountlist.c: Remove useless parentheses in #if directives.
97008         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
97009         the deprecated MOUNTED symbol is no longer defined in mntent.h.
97010
97011 2001-09-22  Jim Meyering  <meyering@lucent.com>
97012
97013         * m4/gettext.m4: New file.  From gettext.
97014         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
97015         * m4/progtest.m4: Likewise
97016         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
97017         * m4/glibc21.m4: Likewise.
97018
97019         * m4/libintl.m4: Remove.  No longer used.
97020
97021 2001-09-22  Jim Meyering  <meyering@lucent.com>
97022
97023         * lib/localcharset.c: Update from latest gettext.
97024         * lib/config.charset: Likewise.
97025
97026 2001-09-20  Jim Meyering  <meyering@lucent.com>
97027
97028         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
97029         strtoimax.
97030         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
97031         strtoumax.
97032
97033 2001-09-20  Jim Meyering  <meyering@lucent.com>
97034
97035         * lib/xstrtol.c (strtoimax): Guard declaration with
97036         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
97037         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
97038         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
97039         (strtoumax): Likewise, for completeness (it wasn't necessary).
97040
97041 2001-09-17  Paul Eggert  <eggert@twinsun.com>
97042
97043         * lib/strtoimax.c (HAVE_LONG_LONG):
97044         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
97045         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
97046         to work around bug in IBM C compiler.
97047
97048 2001-09-17  Jim Meyering  <meyering@lucent.com>
97049
97050         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
97051         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
97052         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
97053         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
97054         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
97055         whenever the right hand side need not be expanded by the shell.
97056
97057 2001-09-16  Paul Eggert  <eggert@twinsun.com>
97058
97059         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
97060         library.  It's not correct, as some older glibcs are buggy.
97061         fnmatch wasn't fixed until glibc 2.2.
97062
97063         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
97064         special shell magic here.
97065
97066 2001-09-16  Jim Meyering  <meyering@lucent.com>
97067
97068         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
97069         * m4/jm-macros.m4: Require it.
97070
97071 2001-09-16  Jim Meyering  <meyering@lucent.com>
97072
97073         * lib/mkdir.c: New file.
97074
97075 2001-09-15  Jim Meyering  <meyering@lucent.com>
97076
97077         * m4/jm-macros.m4: Check for help2man.
97078
97079 2001-09-11  Jim Meyering  <meyering@lucent.com>
97080
97081         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
97082         The body, by Paul Eggert, was moved here from configure.in.
97083         * m4/jm-macros.m4: Require UTILS_HOST_OS.
97084
97085 2001-09-04  Paul Eggert  <eggert@twinsun.com>
97086
97087         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
97088         (jm_PREREQ): Use it.
97089
97090 2001-09-04  Paul Eggert  <eggert@twinsun.com>
97091
97092         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
97093         Use ssize_t, not int, to store result of readlink.
97094         Check for ssize_t overflow as well as size_t overflow,
97095         as POSIX says the result of readlink is implementation-defined
97096         when ssize_t overflows.
97097         Remove unnecessary cast to char*.
97098         Use free+malloc instead of realloc, as the storage doesn't need
97099         to be preserved and it's clearer and can be more efficient that way.
97100         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
97101         * lib/xreadlink.h (xreadlink): Update prototype.
97102
97103 2001-09-04  Paul Eggert  <eggert@twinsun.com>
97104
97105         * lib/xgetcwd.c: Revert some of the previous change; intead,
97106         fix the HAVE_GETCWD_NULL code to behave more like the
97107         !HAVE_GETCWD_NULL code used to.
97108
97109         Include "xalloc.h".
97110         (xgetcwd): Do not return NULL when memory is exhausted; instead,
97111         invoke xalloc_die.
97112
97113 2001-09-03  Paul Eggert  <eggert@twinsun.com>
97114
97115         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
97116         sys/param.h, as pathmax.h includes them.
97117
97118 2001-09-03  Paul Eggert  <eggert@twinsun.com>
97119
97120         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
97121         (jm_PREREQ_XGETCWD): New macro.
97122
97123         * m4/getcwd.m4: New file.
97124
97125 2001-09-03  Paul Eggert  <eggert@twinsun.com>
97126
97127         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
97128         like the HAVE_GETCWD_NULL code.
97129         Include pathmax.h if not HAVE_GETCWD.
97130         Do not include xalloc.h.
97131         (INITIAL_BUFFER_SIZE): New symbol.
97132         Do not use xmalloc / xrealloc, since the caller is responsible for
97133         handling errors.  Preserve errno around `free' during failure.
97134         Do not overrun buffer when using getwd.
97135
97136 2001-09-03  Paul Eggert  <eggert@twinsun.com>
97137
97138         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
97139         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
97140         getcwd (NULL, 0).
97141
97142 2001-09-03  Paul Eggert  <eggert@twinsun.com>
97143
97144         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
97145         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
97146         spotted by Jim Meyering.
97147
97148 2001-09-03  Jim Meyering  <meyering@lucent.com>
97149
97150         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
97151         failure.
97152
97153 2001-09-02  Jim Meyering  <meyering@lucent.com>
97154
97155         * lib/error.c: Update from GNU libc.
97156
97157 2001-09-01  Jim Meyering  <meyering@lucent.com>
97158
97159         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
97160         Used by df.
97161
97162 2001-09-01  Jim Meyering  <meyering@lucent.com>
97163
97164         * lib/xreadlink.c: New file.
97165         * lib/xreadlink.h: New file.
97166         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
97167         xreadlink.h.
97168
97169         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
97170         doesn't conflict with sparc Solaris 7's definition in
97171         /usr/include/sys/int_types.h.
97172
97173         * lib/exclude.c: Use `""', not `<>' to #include non-system header
97174         files.
97175         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
97176         and strncasecmp as r-values.  Unixware didn't have declarations.
97177
97178 2001-08-31  Paul Eggert  <eggert@twinsun.com>
97179
97180         * lib/xstrtol.h: Add copyright notice.
97181         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
97182         LONGINT_INVALID_SUFFIX_CHAR.
97183
97184 2001-08-31  Paul Eggert  <eggert@twinsun.com>
97185
97186         * lib/xstrtol.c (strtoimax): New decl.
97187
97188 2001-08-31  Paul Eggert  <eggert@twinsun.com>
97189
97190         * lib/xgetcwd.c: Don't include pathmax.h.
97191         Include stdlib.h and unistd.h if available.
97192         Include xalloc.h.
97193         (xmalloc, xstrdup, free): Remove decls.
97194         (xgetcwd): Don't assume sizes fit in unsigned.
97195         Check for overflow when computing sizes.
97196         Simplify reallocation code.
97197
97198 2001-08-31  Paul Eggert  <eggert@twinsun.com>
97199
97200         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
97201         a directory's st_size can have an arbitrary value, so the old
97202         usage could waste an arbitrary amount of memory.  All uses
97203         changed.
97204         * lib/savedir.h: Update prototype.
97205
97206 2001-08-31  Paul Eggert  <eggert@twinsun.com>
97207
97208         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
97209
97210         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
97211         old strtoimax.c.
97212
97213         Also, make the following further changes to make this file's
97214         configuration more similar to that of strtol.c:
97215         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
97216         (strtoumax, uintmax_t, strtoull, strtol): Remove.
97217         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
97218         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
97219         changed to signed values.
97220
97221         And make the following changes as well:
97222         Fix copyright notice, as 1999 was missing.
97223         (verify): New macro.
97224         (strtoimax): Check sizes at compile-time, not run-time.
97225         Prefer strtol to strtoll if both work.
97226         (main): Remove; it was not that useful and was a pain to maintain.
97227
97228         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
97229
97230 2001-08-31  Jim Meyering  <meyering@lucent.com>
97231
97232         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
97233         Use an initial, malloc'd, buffer of length 128 rather than
97234         a statically allocated one of length 1024.
97235
97236 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97237
97238         Simplify code, partly by assuming autoconf 2.52 semantics.
97239
97240         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
97241
97242         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
97243         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
97244         All uses removed.
97245         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
97246         Move AC_REQUIRE to next-to-top level, to avoid confusion.
97247         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
97248         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
97249         jm_AC_HEADER_INTTYPES_H.
97250         * m4/jm-macros.m4 (jm_MACROS): Likewise.
97251
97252         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
97253
97254         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
97255         Quote first arg of AC_DEFUN.
97256         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
97257         since they are needed to parse the include file even if we need
97258         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
97259         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
97260         but with opposite signedness.
97261
97262 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97263
97264         Merge 'exclude' changes from tar 1.13.22.
97265         This fixes one or two unlikely storage allocation overflow bugs,
97266         but doesn't change user-visible behavior otherwise.
97267
97268 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97269
97270         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
97271         (jm_PREREQ_EXCLUDE): New macro.
97272
97273 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97274
97275         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
97276         tm to be declared.
97277
97278 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97279
97280         * lib/hash.c: Remove '2001' from copyright notice.
97281
97282 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97283
97284         * lib/full-write.h: New file.
97285         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
97286         * lib/full-write.c: Correct credits, as cccp.c no longer
97287         exists and anyway it was so heavily changed from the old cccp
97288         code as to be unrecognizable.  Include full-write.h.
97289         (full_write): Return size_t, with short writes meaning failure.
97290         All callers changed.  This fixes a bug with large buffers
97291         on 64-bit hosts.
97292         * lib/utime.c: Include full-write.h.
97293
97294 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97295
97296         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
97297         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
97298         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
97299         Include if available.
97300         (<xalloc.h>): Include
97301         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
97302         (verify): New macro.  Use it to verify that EXCLUDE macros do not
97303         collide with FNM macros.
97304         (struct patopts): New struct.
97305         (struct exclude): Use it, as exclude patterns now come with options.
97306         (new_exclude): Support above changes.
97307         (new_exclude, add_exclude_file):
97308         Initial size must now be a power of two to simplify overflow checking.
97309         (free_exclude, fnmatch_no_wildcards): New function.
97310         (excluded_filename): No longer requires options arg, as the options
97311         are determined by add_exclude.  Now returns bool, not int.
97312         (excluded_filename, add_exclude):
97313         Add support for the fancy new exclusion options.
97314         (add_exclude, add_exclude_file): Now takes int options arg.
97315         Check for arithmetic overflow when computing sizes.
97316         (add_exclude_file): xrealloc might modify errno, so don't
97317         realloc until after errno might be used.
97318
97319         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
97320         New macros.
97321         (free_exclude): New decl.
97322         (add_exclude, add_exclude_file): Now takes int options arg.
97323         (excluded_filename): No longer requires options arg, as the options
97324         are determined by add_exclude.  Now returns bool, not int.
97325
97326 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97327
97328         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
97329
97330 2001-08-27  Jim Meyering  <meyering@lucent.com>
97331
97332         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
97333
97334         * lib/version-etc.c (N_): Remove definition.
97335         Revert most of last change.
97336         Instead, simply don't mark the `Copyright...' string for translation.
97337         Based on advice from Paul Eggert.
97338
97339         * lib/strtoxmax.c: Tweak comment.
97340
97341 2001-08-26  Jim Meyering  <meyering@lucent.com>
97342
97343         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
97344
97345         * m4/xstrtoimax.m4: New file.
97346         * m4/xstrtoumax.m4: Add comments explaining why we
97347         AC_REPLACE_FUNCS(strtol).
97348
97349 2001-08-26  Jim Meyering  <meyering@lucent.com>
97350
97351         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
97352         of copyright with `%s' so translators don't get an untranslated
97353         message in 2002.
97354         (COPYRIGHT_YEAR): Define.
97355         (version_etc): Use fprintf rather than fputs.
97356         Suggestion from Ulrich Drepper.
97357
97358         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
97359
97360         * lib/strtoll.c: New file, from GNU libc.
97361         * lib/xstrtoimax.c: New file.
97362
97363         * lib/xstrtol.h: Add xstrtoimax.
97364         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
97365         * lib/strtoimax.c: New file.  Likewise, but first define
97366         STRTOUXMAX_SIGNED.
97367
97368         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
97369         ...
97370         * lib/strtoxmax.c: ... then renamed to this.
97371
97372 2001-08-18  Paul Eggert  <eggert@twinsun.com>
97373
97374         * m4/inttypes.m4: Add AC_PREREQ(2.13).
97375         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
97376         (jm_AC_TYPE_INTMAX_T): New macro.
97377         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
97378
97379         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
97380
97381         * m4/longlong.m4: Renamed from ulonglong.m4.
97382         * m4/inttypes.m4: Renamed from inttypes_h.m4.
97383         * m4/uintmax_t.m4: Removed.
97384
97385 2001-08-13  Paul Eggert  <eggert@twinsun.com>
97386
97387         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
97388         Port to Solaris 8, where 'sed' requires a space after the 'r'
97389         command, and where sh dislikes "$/".  Clean up the spacing a bit.
97390         Redirect output to $tmp just once.
97391
97392 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
97393
97394         * lib/addext.c (<errno.h>): Include.
97395         (errno): Declare if not defined.
97396         (addext): Work correctly when pathconf returns -1 and leaves
97397         errno alone because there is no limit.  Also, work even if
97398         pathconf returns a value greater than SIZE_MAX.
97399
97400 2001-08-12  Jim Meyering  <meyering@lucent.com>
97401
97402         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
97403         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
97404         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
97405         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
97406         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
97407         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
97408         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
97409         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
97410         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
97411         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
97412         utime.m4, utimes.m4, xstrtoumax.m4:
97413         Quote the first argument in each use of AC_DEFUN.
97414
97415 2001-08-12  Jim Meyering  <meyering@lucent.com>
97416
97417         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
97418         Simply `return getcwd (NULL, 0);'.
97419         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
97420         Use 1300 as initial value for length, not PATH_MAX.
97421
97422         * lib/pathmax.h: Clean up cpp syntax.
97423
97424 2001-08-12  Jim Meyering  <meyering@lucent.com>
97425
97426         * lib/gettimeofday.c: New file.
97427         * lib/gtod.h: New file.
97428         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
97429
97430 2001-08-05  Jim Meyering  <meyering@lucent.com>
97431
97432         * m4/jm-macros.m4: Require autoconf-2.52.
97433
97434 2001-08-04  Jim Meyering  <meyering@lucent.com>
97435
97436         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
97437         stmt, to get in sync with glibc.
97438
97439 2001-08-03  Paul Eggert  <eggert@twinsun.com>
97440
97441         The following changes are from gettext 0.10.39 as maintained by
97442         Bruno Haible.
97443
97444         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
97445         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
97446         with inverted sense.  All uses changed.
97447
97448         * lib/mbswidth.c: Don't include <limits.h>.
97449         Include <stdlib.h> and <string.h> unconditionally.
97450         (iswcntrl, mbsinit, ISCNTRL): New macros.
97451         (mbsnwidth): Use K&R style function declarations.
97452         Don't bother checking for MB_LEN_MAX == 1, since the compiler
97453         can optimize it when MB_CUR_MAX == 1.
97454         The width of control characters is zero, not 1.
97455
97456 2001-08-03  Paul Eggert  <eggert@twinsun.com>
97457
97458         The following changes are from gettext 0.10.39 as maintained by
97459         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
97460
97461         * m4/codeset.m4: Upgrade to serial AM1.
97462         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
97463         all uses changed.  Quote first arg of AC_DEFUN.
97464         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
97465
97466         * m4/iconv.m4: Upgrade to serial AM2.
97467         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
97468         Add --with-libconv-prefix.
97469         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
97470         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
97471         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
97472         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
97473         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
97474
97475         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
97476         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
97477         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
97478         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
97479         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
97480         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
97481         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
97482         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
97483         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
97484
97485         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
97486         string.h any more.
97487
97488         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
97489         not the default value.
97490
97491         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
97492         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
97493         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
97494         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
97495         Also check for iswcntrl, used for wcwidth fallback.
97496         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
97497         to Autoconf 2.13.
97498
97499 2001-08-03  Jim Meyering  <meyering@lucent.com>
97500
97501         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
97502         as it was in the original.  Reported by Paul Eggert.
97503
97504 2001-07-16  Jim Meyering  <meyering@lucent.com>
97505
97506         * m4/gettimeofday.m4: New file.
97507         Prompted by a report from Bernhard Baehr.
97508
97509 2001-07-15  Jim Meyering  <meyering@lucent.com>
97510
97511         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
97512         stuff. Now it's in ../Makefile.cfg.
97513
97514 2001-07-15  Jim Meyering  <meyering@lucent.com>
97515
97516         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
97517         (BUILT_SOURCES): Add unlocked-io.h.
97518         (io_functions): Define.
97519         (unlocked-io.h): New rule.
97520         (DISTCLEANFILES): Add unlocked-io.h.
97521         (all-local): Depend on unlocked-io.h, to ensure it is created.
97522
97523         * lib/unlocked-io.hin: New file
97524
97525         * lib/regex.c: Update from glibc.
97526
97527 2001-07-05  Jim Meyering  <meyering@lucent.com>
97528
97529         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
97530         recommendation.
97531         (libfetish_a_SOURCES): Put all .h files here instead.
97532         Remove a thus-exposed (better checks in automake) duplicate and
97533         two unnecessary .h files.
97534
97535 2001-07-04  Jim Meyering  <meyering@lucent.com>
97536
97537         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
97538         that generates jm-glibc-io.m4 so that it doesn't trigger any make
97539         distcheck failure.
97540
97541 2001-07-02  Jim Meyering  <meyering@lucent.com>
97542
97543         The following changes were prompted by suggestions from Bruno Haible.
97544
97545         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
97546         is now generated.
97547         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
97548         definition of EXTRA_DIST.
97549         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
97550         ensure that the generated file is created/updated whenever the list
97551         of $(unlocked_functions) is changed.
97552         (jm-glibc-io.m4): New rule.
97553         (unlocked-io.h): New rule -- currently unused.
97554
97555 2001-06-24  Jim Meyering  <meyering@lucent.com>
97556
97557         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
97558         unmatched right bracket, rather than kludging it with an extra,
97559         falsely-matching quote in a comment.  Patch by Akim Demaille.
97560
97561 2001-06-11  Jim Meyering  <meyering@lucent.com>
97562
97563         * lib/regex.c: Update from GNU libc.
97564
97565 2001-05-27  Jim Meyering  <meyering@lucent.com>
97566
97567         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
97568         Check for ut_type in struct utmp.
97569
97570 2001-05-27  Jim Meyering  <meyering@lucent.com>
97571
97572         * lib/readutmp.h (UT_TYPE): Define.
97573
97574 2001-05-24  Jim Meyering  <meyering@lucent.com>
97575
97576         * lib/argmatch.c: Include "quote.h".
97577         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
97578         quote function.  Reported by Göran Uddeborg.
97579
97580 2001-05-22  Jim Meyering  <meyering@lucent.com>
97581
97582         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
97583         now that we use the package-supplied version unconditionally.
97584         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
97585
97586 2001-05-21  Jim Meyering  <meyering@lucent.com>
97587
97588         * m4/regex.m4: Change a couple backticks to single quotes to avoid
97589         shell syntax errors.
97590
97591 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
97592
97593         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
97594
97595 2001-05-20  Paul Eggert  <eggert@twinsun.com>
97596
97597         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
97598         Don't bother to check library strftime, since
97599         we'll be using our own my_strftime function anyway.
97600         Define my_strftime instead of strftime.
97601
97602 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
97603
97604         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
97605         which is not yet declared.
97606
97607 2001-05-15  Jim Meyering  <meyering@lucent.com>
97608
97609         * m4/regex.m4: Use proper quoting so brackets appear in the test
97610         program.
97611         Reported by, and with help from, Bruno Haible.
97612
97613 2001-05-13  Jim Meyering  <meyering@lucent.com>
97614
97615         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
97616         undefined.
97617
97618 2001-05-11  Paul Eggert  <eggert@twinsun.com>
97619
97620         dirname code cleanup.  base_name now behaves more compatibly
97621         with POSIX basename when given file names that have trailing
97622         slashes, and similarly for dir_name.  Add new primitives
97623         base_len and dir_len.  Put the directory-name-related decls
97624         into dirname.h.
97625
97626         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
97627         * lib/backupfile.c (base_name): Likewise.
97628         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
97629         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
97630         * lib/makepath.c (strip_trailing_slashes): Likewise.
97631         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
97632         ISSLASH): Likewise.
97633         * lib/rename.c (strip_trailing_slashes): Likewise.
97634         * lib/same.c (base_name): Likewise.
97635         * lib/stripslash.c (ISSLASH): Likewise.
97636
97637         * lib/addext.c: Include <dirname.h> after size_t is defined.
97638         * lib/backupfile.c: Likewise.
97639
97640         * lib/addext.c (addext): Use base_len to trim redundant
97641         trailing slashes instead of doing it ourselves.
97642         But do not trim the last slash if it is not redundant.
97643
97644         * lib/backupfile.c (find_backup_file_name,
97645         max_backup_version): Use base_len instead of rolling it ourselves.
97646         Handle the case of "" and (on DOS) "C:" correctly.
97647
97648         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
97649         needed. Include <string.h>, <dirname.h>.
97650         (base_name): Allow file names ending in slashes, other than names
97651         that are all slashes.  In this case, return the basename followed
97652         by the slashes.  This is more general, and can be used in places
97653         where the original base_name purposely had an assertion failure.
97654         (base_len): New function.
97655
97656         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
97657         Do not include <assert.h>; no longer needed.
97658         Include xalloc.h.
97659         (memrchr): Remove decl.
97660         (dir_name_r): Remove.
97661         (dir_len): Renamed from dirlen.  All callers changed.
97662         Rewrite in terms of base_name, for simplicity and consistency.
97663         (dir_name): Never return NULL.  All callers changed.
97664         Do not include <stdlib.h> in test program; no longer needed.
97665         return 0; is fine for test program.
97666
97667         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
97668         New macros.
97669         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
97670
97671         * lib/path-concat.c (path_concat): Use base_len to compute
97672         base length, not strlen; this means we cannot rely on memcpy
97673         to null-terminate.
97674
97675         * lib/same.c (STREQ): Remove.
97676         (same_name): Handle the case where the basename ends in trailing '/'.
97677
97678         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
97679         a slash was stripped.  Do not strip the last slash after a
97680         file system prefix.
97681
97682 2001-05-11  Paul Eggert  <eggert@twinsun.com>
97683
97684         * lib/Makefile.am (libfetish_a_SOURCES):
97685         Add strftime.c, since we now compile it on all hosts.
97686
97687         * lib/strftime.c (my_strftime):
97688         Define to nstrftime if emacs, but only if my_strftime is not defined.
97689         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
97690         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
97691         Add one more extra argument: a nanoseconds value.
97692         All uses changed.
97693         (ns): New macro.
97694         (my_strftime function): Add %N format.
97695         (emacs_strftimeu): Renamed from emacs_strftime,
97696         with extra ut argument.
97697
97698 2001-05-09  Paul Eggert  <eggert@twinsun.com>
97699
97700         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
97701
97702 2001-04-21  Jim Meyering  <meyering@lucent.com>
97703
97704         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
97705         doesn't interfere.
97706
97707 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
97708
97709         * m4/ftruncate.m4: Check for chsize.
97710         Link with ftruncate.o unconditionally if ftruncate is missing.
97711         This was required when cross-compiling to i586-mingw32msvc.
97712
97713 2001-04-08  Jim Meyering  <meyering@lucent.com>
97714
97715         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
97716         recomputed; that's necessary when the offset spans a DST transition.
97717         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
97718
97719 2001-04-02  Jim Meyering  <meyering@lucent.com>
97720
97721         * lib/regex.h, regex.c: Update from GNU libc.
97722
97723 2001-03-24  Jim Meyering  <meyering@lucent.com>
97724
97725         * m4/jm-macros.m4: Require autoconf-2.49d.
97726
97727 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
97728
97729         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
97730
97731 2001-03-19  Paul Eggert  <eggert@twinsun.com>
97732
97733         * lib/version-etc.c (version_etc_copyright): Update to 2001.
97734
97735 2001-03-17  Jim Meyering  <meyering@lucent.com>
97736
97737         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
97738         now that the version in autoconf is equivalent.
97739         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
97740
97741         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
97742         Suggestion from Akim Demaille.
97743
97744         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
97745         (jm_PREREQ_TEMPNAME): New function.
97746
97747 2001-03-16  Paul Eggert  <eggert@twinsun.com>
97748
97749         * lib/tempname.c (uint64_t): Define to uintmax_t if
97750         not defined, and if UINT64_MAX is not defined.
97751         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
97752         Reported by John David Anglin.
97753
97754 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
97755
97756         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
97757         resolve alias if codeset is empty.
97758         * lib/config.charset (BeOS): Use wildcard syntax.
97759
97760 2001-03-13  Jim Meyering  <meyering@lucent.com>
97761
97762         * lib/path-concat.c (path_concat)
97763         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
97764         concatenating e.g., `C:' and `foo'.
97765         From Bruno Haible.
97766
97767 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97768
97769         * lib/localcharset.c (locale_charset): Don't use
97770         setlocale(LC_CTYPE,NULL). Don't return NULL.
97771         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
97772
97773 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97774
97775         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
97776         support for DOS/DJGPP.
97777
97778 2001-03-01  Paul Eggert  <eggert@twinsun.com>
97779
97780         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
97781         lacks mkstemp.  Compile our own tempname.c if we compile our own
97782         mkstemp.c, as mkstemp relies on tempname.
97783
97784 2001-03-01  Jim Meyering  <meyering@lucent.com>
97785
97786         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
97787         AH_VERBATIM really does output its argument verbatim.
97788
97789 2001-02-28  Paul Eggert  <eggert@twinsun.com>
97790
97791         * lib/Makefile.am (libfetish_a_SOURCES):
97792         Add dup-safer.c, fopen-safer.c.
97793         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
97794
97795         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
97796         * lib/unistd-safer.h: New files.
97797
97798 2001-02-25  Paul Eggert  <eggert@twinsun.com>
97799
97800         The mkstemp replacement is taken from glibc 2.2.2, with some
97801         portability fixes for use outside glibc, as follows:
97802
97803         * lib/tempname.c (struct_stat64): New macro.
97804         (direxists, __gen_tempname): Use it.
97805         This avoids a portability problem with Solaris 8.
97806
97807         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
97808         (<stddef.h>, <stdint.h>, <string.h>):
97809         Include only if STDC_HEADERS || _LIBC.
97810         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
97811         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
97812         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
97813         (__set_errno): Define this macro if <errno.h> doesn't.
97814         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
97815         Define these macros if <stdio.h> doesn't.
97816         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
97817         Define these macros if <sys/stat.h>
97818         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
97819         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
97820         __xstat64): Define if not _LIBC.
97821         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
97822         (__gen_tempname): Invoke gettimeofday only if
97823         HAVE_GETTIMEOFDAY || _LIBC;
97824         otherwise, fall back on plain "time".
97825         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
97826
97827         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
97828
97829         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
97830
97831 2001-02-18  Paul Eggert  <eggert@twinsun.com>
97832
97833         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
97834
97835 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97836
97837         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
97838         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
97839         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
97840         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
97841
97842 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97843
97844         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
97845         Remove workaround macros for hosts that have mbrtowc but not
97846         mbstate_t, as we now insist on proper declarations for both
97847         before using mbrtowc.
97848
97849 2001-02-17  Jim Meyering  <meyering@lucent.com>
97850
97851         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
97852         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
97853         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
97854         UnixWare 7.1.1.
97855
97856         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
97857         rather than AC_CACHE_VAL.
97858
97859 2001-02-17  Jim Meyering  <meyering@lucent.com>
97860
97861         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
97862         around included file name.
97863
97864         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
97865
97866         * lib/strftime.c: Update from GNU libc (the only changes were to
97867         comments).
97868
97869 2001-02-17  Jim Meyering  <meyering@lucent.com>
97870
97871         * lib/regex.c: Update from libc.
97872
97873 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
97874
97875         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
97876         clash.
97877
97878 2001-02-16  Paul Eggert  <eggert@twinsun.com>
97879
97880         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
97881         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
97882         Reported by Mark Hounschell via Paul Eggert.
97883
97884 2001-02-07  Jim Meyering  <meyering@lucent.com>
97885
97886         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
97887
97888 2001-02-05  Jim Meyering  <meyering@lucent.com>
97889
97890         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
97891         it includes the patch required for `large file' support with at least
97892         HP-UX's 10.20 /bin/cc.
97893
97894 2001-02-03  Jim Meyering  <meyering@lucent.com>
97895
97896         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
97897         AS_IF, now that it works once again (mysteriously).
97898         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97899
97900 2001-01-30  Jim Meyering  <meyering@lucent.com>
97901
97902         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
97903         * m4/chown.m4: Rename conftestchown to conftest.chown.
97904         * m4/rename.m4: s/conftestdir/conftest.d1/ and
97905         s/conftestdir2/conftest.d2/.
97906         * m4/utimes.m4: s/conftestdata/conftest.data/
97907         Inspired by Pavel Roskin's change in autoconf.
97908
97909 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
97910
97911         * lib/config.charset: Update for FreeBSD 4.2.
97912
97913 2001-01-27  Jim Meyering  <meyering@lucent.com>
97914
97915         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
97916         a use of AS_IF.
97917         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97918
97919 2001-01-26  Jim Meyering  <meyering@lucent.com>
97920
97921         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
97922         quotearg.c includes it.
97923
97924 2001-01-26  Jim Meyering  <meyering@lucent.com>
97925
97926         * lib/quotearg.c: Include stddef.h.
97927         * lib/quote.c: Include stddef.h.
97928         Reported by Axel Kittenberger.
97929
97930         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
97931         line in double quotes so that it evokes a better diagnostic.
97932         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
97933         Reported by Axel Kittenberger.
97934
97935 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
97936
97937         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
97938         as if it was a `charset'.
97939
97940 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97941
97942         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
97943         has const.
97944
97945 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97946
97947         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
97948         to avoid a warning.  Add back 'const' to inptr.
97949
97950 2001-01-20  Jim Meyering  <meyering@lucent.com>
97951
97952         Be sure that headers are checked before used in code compiled
97953         for the type checks.
97954         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
97955         In place of that, invoke jm_CHECK_ALL_TYPES.
97956         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
97957         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
97958         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
97959         The check for ssize_t was mistakenly run before the test for unistd.h.
97960
97961         The configure-time check for stdbool.h was missing.
97962         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
97963         (jm_PREREQ_HASH): New function.
97964
97965 2001-01-17  Jim Meyering  <meyering@lucent.com>
97966
97967         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
97968         for autoconf-2.49c.
97969         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
97970
97971 2001-01-16  Jim Meyering  <meyering@lucent.com>
97972
97973         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
97974         From Bruno Haible.
97975
97976 2001-01-14  Jim Meyering  <meyering@lucent.com>
97977
97978         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
97979         foo and bar.  Create conftestdir/ in the script, not in the C code.
97980         Remove directories in the script, not in the C code.
97981         Remove conftestdir{,2} before trying to create the directory.
97982         Make the entire configure script fail if the mkdir fails.
97983
97984 2001-01-14  Jim Meyering  <meyering@lucent.com>
97985
97986         * lib/rename.c: New file.  From Volker Borchert.
97987         Include stdlib.h, string.h or strings.h, and xalloc.h.
97988         Use strip_trailing_slashes rather than open-coding it.
97989
97990 2001-01-03  Paul Eggert  <eggert@twinsun.com>
97991
97992         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
97993
97994 2001-01-03  Jim Meyering  <meyering@lucent.com>
97995
97996         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
97997         of local `inptr' to avoid warning with some system declarations of
97998         iconv.
97999
98000 2001-01-02  Volker Borchert  <bt@teknon.de>
98001
98002         * m4/rename.m4: New file.
98003         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
98004
98005 2001-01-01  Jim Meyering  <meyering@lucent.com>
98006
98007         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
98008         even on systems with utmpx.h.  It's necessary for the declaration of
98009         utmp's ut_user member.  Reported by Andreas Jaeger.
98010
98011         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
98012         available. They are required for the declarations of getgrgid and
98013         getpwuid resp.
98014         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
98015         Reported by Andreas Jaeger.
98016
98017 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
98018
98019         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
98020         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
98021         so `make install' also works in VPATH builds.
98022
98023 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
98024
98025         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
98026         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
98027         can be used in subdirectories.
98028
98029 2000-12-29  Paul Eggert  <eggert@twinsun.com>
98030
98031         * lib/modechange.c: Do not assume that mode_t uses the
98032         traditional octal encoding.  E.g. "chmod 1 FOO" should set
98033         the other-execute bit of FOO even if S_IXOTH != 1.
98034
98035         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
98036         WOTH, XOTH, ALLM): New macros.
98037         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
98038          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
98039         Use them.
98040         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
98041         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
98042         (mode_compile):
98043         No need to use uintmax_t; unsigned long is long enough.
98044         Don't bother to get suffix since we don't use it.
98045
98046 2000-12-26  Jim Meyering  <meyering@lucent.com>
98047
98048         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
98049         better with autoheader.
98050
98051 2000-12-24  Jim Meyering  <meyering@lucent.com>
98052
98053         * lib/hash.c (is_prime): Return explicit boolean values.
98054         (hash_get_first): Return NULL to appease Irix5.6's 89.
98055         Reported by Nelson Beebe.
98056
98057 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
98058
98059         * lib/localcharset.c (locale_charset): Add support for Win32.
98060
98061 2000-12-18  Paul Eggert  <eggert@twinsun.com>
98062
98063         * lib/physmem.h, lib/physmem.c: New files.
98064
98065         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
98066         (noinst_HEADERS): Add physmem.h.
98067
98068         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
98069         't' for compatibility with Solaris 8 sort.
98070
98071 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
98072
98073         * lib/config.charset: Add support for BeOS.
98074
98075 2000-12-17  Jim Meyering  <meyering@lucent.com>
98076
98077         * m4/dos.m4 (jm_AC_DOS): New file and macro.
98078         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
98079
98080 2000-12-16  Jim Meyering  <meyering@lucent.com>
98081
98082         This bug had a serious impact on chown: `chown N:M FILE' (for integer
98083         N and M) would have treated it like `chown N:N FILE'.
98084
98085         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
98086
98087 2000-12-16  Jim Meyering  <meyering@lucent.com>
98088
98089         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
98090         SHELLS_FILE to a file name that's useful on djgpp systems.
98091         Include stdlib.h.
98092         (ADDITIONAL_DEFAULT_SHELLS): Define.
98093         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
98094         Based mostly on a patch from Prashant TR.
98095
98096 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
98097
98098         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
98099         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
98100         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
98101
98102 2000-12-08  Andreas Schwab  <schwab@suse.de>
98103
98104         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
98105         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
98106
98107 2000-12-07  Jim Meyering  <meyering@lucent.com>
98108
98109         * lib/stripslash.c (ISSLASH): Define.
98110         (strip_trailing_slashes): Use ISSLASH rather than comparing against
98111         `/'.
98112         From Prashant TR.
98113
98114         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
98115         (dir_name_r): Declare this function as static.
98116         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
98117         manifest itself on a name containing a mix of slashes and
98118         backslashes.
98119         Make this function work with names starting with a DOS-style
98120         drive letter and colon prefix.
98121         (dir_name): Append `.' if necessary.
98122         Based mostly on patches from Prashant TR and Eli Zaretskii.
98123
98124         * lib/dirname.h (dir_name_r): Remove prototype.
98125
98126 2000-12-06  Paul Eggert  <eggert@twinsun.com>
98127
98128         * m4/off_t-format.m4: Remove this file.
98129         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
98130
98131 2000-12-06  Jim Meyering  <meyering@lucent.com>
98132
98133         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
98134         replacement strtoull, we may well need the replacement strtoul, too.
98135         Check for declarations of strtoul and strtoull.
98136         Check for strtol.  Mainly as a cue to cause automake to include
98137         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
98138         Check for limits.h -- strtol.c needs it.
98139
98140 2000-12-05  Jim Meyering  <meyering@lucent.com>
98141
98142         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
98143
98144 2000-12-04  Jim Meyering  <meyering@lucent.com>
98145
98146         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
98147         Also include memory.h, stdlib.h, unistd.h if appropriate.
98148         Reported by Andreas Jaeger (conflicting declaration of malloc).
98149
98150 2000-12-02  Jim Meyering  <meyering@lucent.com>
98151
98152         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
98153         * m4/jm-macros.m4 (jm_MACROS): require it.
98154
98155 2000-12-02  Jim Meyering  <meyering@lucent.com>
98156
98157         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
98158
98159 2000-12-01  Paul Eggert  <eggert@twinsun.com>
98160
98161         * lib/memrchr.c: Include <config.h> before any system include file.
98162
98163 2000-11-30  Jim Meyering  <meyering@lucent.com>
98164
98165         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
98166
98167 2000-11-30  Jim Meyering  <meyering@lucent.com>
98168
98169         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
98170
98171 2000-11-29  Paul Eggert  <eggert@twinsun.com>
98172
98173         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
98174
98175 2000-11-26  Jim Meyering  <meyering@lucent.com>
98176
98177         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
98178
98179 2000-11-22  Paul Eggert  <eggert@twinsun.com>
98180
98181         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
98182         size of (size_t) -1; it's not portable.
98183
98184 2000-11-17  Jim Meyering  <meyering@lucent.com>
98185
98186         * lib/strstr.c: Update from GNU libc.
98187
98188 2000-11-17  Akim Demaille  <akim@epita.fr>
98189
98190         * lib/obstack.h: Formatting changes.
98191         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
98192         prevent type checking.
98193         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
98194         cast the value to (void *): assigning a `foo *' to a `void *'
98195         variable is valid.
98196         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
98197
98198 2000-11-16  Jim Meyering  <meyering@lucent.com>
98199
98200         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
98201
98202 2000-11-11  Jim Meyering  <meyering@lucent.com>
98203
98204         * lib/error.c: Add a couple #includes, merging from GNU libc version.
98205
98206 2000-11-10  Jim Meyering  <meyering@lucent.com>
98207
98208         * lib/obstack.h: Update from GNU libc.
98209         * lib/obstack.c: Likewise.
98210
98211 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
98212
98213         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
98214
98215 2000-11-06  Paul Eggert  <eggert@twinsun.com>
98216
98217         * lib/getusershell.c (setusershell): Use rewind rather than
98218         fseek/fseeko, to avoid configuration hassles with fseeko.
98219         Don't bother opening SHELLS_FILE if shellstream is NULL;
98220         it's not necessary.
98221
98222 2000-11-05  Jim Meyering  <meyering@lucent.com>
98223
98224         * lib/makepath.h (make_dir): Declare.
98225         * lib/makepath.c (make_dir): Remove `static' attribute.
98226         Tweak a comment.
98227
98228 2000-11-04  Jim Meyering  <meyering@lucent.com>
98229
98230         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
98231
98232 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
98233
98234         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
98235         last one in a bucket, advance to the next bucket.
98236
98237 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
98238
98239         * lib/fnmatch.c: Do not comment out all the code if we are using
98240         the GNU C library, because in some cases we are replacing buggy
98241         code in the GNU C library itself.
98242
98243 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
98244
98245         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
98246         (regex_compile): Catch bogus \(\1\).
98247
98248 2000-10-30  Paul Eggert  <eggert@twinsun.com>
98249
98250         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
98251         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
98252         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
98253
98254 2000-10-30  Paul Eggert  <eggert@twinsun.com>
98255
98256         * lib/error.h, getline.h, modechange.h:
98257         Remove "2000" from Copyright line, as the file hasn't been
98258         changed this year other than in the copyright notice.
98259
98260         * lib/xalloc.h: Add "2000" to Copyright line, as this file
98261         was changed this year.
98262
98263 2000-10-29  Jim Meyering  <meyering@lucent.com>
98264
98265         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
98266         renaming.
98267         * m4/ls-mntd-fs.m4: Likewise
98268
98269 2000-10-29  Jim Meyering  <meyering@lucent.com>
98270
98271         * lib/xstat.in: Fix grammar in comment.
98272
98273 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
98274
98275         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
98276         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
98277         doesn't define __restrict_arr.
98278
98279 2000-10-28  Jim Meyering  <meyering@lucent.com>
98280
98281         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
98282         (jm_PREREQ_MEMCHR): New function.
98283
98284 2000-10-28  Jim Meyering  <meyering@lucent.com>
98285
98286         * lib/memchr.c: Update from libc.
98287         Adjust for portability:
98288         [HAVE_STDLIB_H]: Include stdlib.h.
98289         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
98290         Undef __memchr, too.
98291         [!weak_alias]: Define __memchr to memchr.
98292
98293         * lib/regex.c: Update from libc.
98294         * lib/regex.h: Likewise.
98295         * lib/getopt1.c: Likewise.
98296         * lib/memcmp.c: Likewise.
98297
98298         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
98299         Avoid using fseek, when possible -- it's broken by design.
98300         Patch by Ulrich Drepper.
98301
98302 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
98303
98304         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
98305         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
98306         Giving in to popular pressure to shut up the compiler with casts.
98307
98308 2000-10-26  Jim Meyering  <meyering@lucent.com>
98309
98310         * lib/strftime.c: Update from libc.
98311
98312 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
98313
98314         * regex.c: More `unsigned char' -> `re_char' changes.
98315         Also change several `int' into `re_wchar_t'.
98316         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
98317         (PUSH_FAILURE_POINTER): Don't cast any more.
98318         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
98319         We want GCC to complain, since this piece of code makes
98320         re_match non-reentrant, which *should* be fixed.
98321         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
98322         (EXTEND_BUFFER): Use RETALLOC.
98323         (SET_LIST_BIT): Don't cast.
98324         (re_wchar_t): New type.
98325         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
98326         that those two functions will always properly return.
98327         (IMMEDIATE_QUIT_CHECK): Cast to void.
98328         (analyse_first): Use recursion rather than an explicit stack.
98329         (re_compile_fastmap): Can't fail anymore.
98330         (re_search_2): Don't check re_compile_fastmap for failure.
98331         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
98332         Now also sets the new value (passed in a new argument).
98333         (re_match_2_internal): Use it.
98334         Also, use a new var `reg' of type size_t when looping through regs
98335         rather than reuse the inappropriate `mcnt'.
98336
98337 2000-10-25  Jim Meyering  <meyering@lucent.com>
98338
98339         * lib/obstack.c: Update from libc.
98340
98341 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
98342
98343         * regex.c (regex_compile): Change the way of handling a range from
98344         a char less than 256 to a char not less than 256.
98345
98346 2000-10-24  Andrew Innes  <andrewi@gnu.org>
98347
98348         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
98349         NT-Emacs only.
98350         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
98351         so that re_search functions only quit when callers expect them to.
98352
98353 2000-10-23  Jim Meyering  <meyering@lucent.com>
98354
98355         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
98356         wrong.  That set_locale call must not have any side effects.
98357         From Paul Eggert.
98358
98359 2000-10-22  Jim Meyering  <meyering@lucent.com>
98360
98361         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
98362         [CYCLIC]: Remove now-unused definition.
98363
98364         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
98365         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
98366         Suggestion from Ulrich Drepper.
98367
98368 2000-10-21  Jim Meyering  <meyering@lucent.com>
98369
98370         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
98371         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
98372         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
98373
98374 2000-10-21  Jim Meyering  <meyering@lucent.com>
98375
98376         * lib/dirname.c (memrchr): Declare if necessary.
98377         (dir_name): Remove the restriction that there be no
98378         trailing slashes.  Now, this code skips past them, effectively
98379         ignoring them.
98380         [TEST_DIRNAME] (main): New unit tests.
98381
98382         * lib/memrchr.c: New file from GNU libc.
98383         Undef __memrchr, too.
98384         [!weak_alias]: Define __memrchr to memrchr.
98385         Guard weak_alias use with `#ifdef weak_alias'.
98386
98387 2000-10-21  Jim Meyering  <meyering@lucent.com>
98388
98389         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
98390         (dir_name): Use dir_name_r.
98391         * lib/dirname.h (dir_name_r): Declare it.
98392
98393 2000-10-17  Jim Meyering  <meyering@lucent.com>
98394
98395         * lib/quote.h (PARAMS): Define and use.
98396         Reported by Akim Demaille.
98397
98398         * lib/getopt.c: Update from libc.
98399
98400 2000-10-16  Jim Meyering  <meyering@lucent.com>
98401
98402         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
98403         setlocale.
98404         From Jan Fedak.
98405
98406 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
98407
98408         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
98409
98410 2000-09-25  Jim Meyering  <meyering@lucent.com>
98411
98412         * lib/md5.h (rol): Define (from GnuPG).
98413
98414         * lib/sha.c: Give credit (GnuPG) where due.
98415         (M): Use rol rather than open-coding it.
98416         Add a FIXME comment.
98417
98418 2000-09-21  Jim Meyering  <meyering@lucent.com>
98419
98420         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
98421         Reported by Michael Stone.
98422
98423 2000-09-20  Jim Meyering  <meyering@lucent.com>
98424
98425         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
98426         (noinst_HEADERS): Add sha.h.
98427         Based on code from Scott G. Miller and from GnuPG.
98428
98429 2000-09-18  Jim Meyering  <meyering@lucent.com>
98430
98431         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
98432         LIBS. Otherwise, everyone ends up linking with -lelf for some
98433         configurations.
98434         Reported by Mike Stone.
98435
98436 2000-09-15  Jim Meyering  <meyering@lucent.com>
98437
98438         * lib/regex.c: Update from libc.
98439
98440 2000-09-10  Jim Meyering  <meyering@lucent.com>
98441
98442         * lib/getopt.c (_getopt_internal): Update from glibc.
98443
98444 2000-09-09  Jim Meyering  <meyering@lucent.com>
98445
98446         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
98447         think it should be used as a general replacement for isascii.
98448         * lib/fnmatch.c: Likewise.
98449         * lib/mbswidth.c: Likewise
98450         * lib/regex.c: Likewise.
98451
98452         Don't use atoi.
98453         * lib/userspec.c: Include sys/param.h and limits.h.
98454         Include xstrtol.h.
98455         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
98456         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
98457         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
98458         UID, GID.  Check range.
98459
98460 2000-09-06  Jim Meyering  <meyering@lucent.com>
98461
98462         * lib/getopt.c (_getopt_internal): Update from glibc.
98463
98464 2000-08-30  Jim Meyering  <meyering@lucent.com>
98465
98466         * lib/strftime.c: Merge in changes from GNU libc.
98467
98468 2000-08-26  Jim Meyering  <meyering@lucent.com>
98469
98470         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
98471         * m4/fpending.m4: New file.
98472
98473 2000-08-26  Jim Meyering  <meyering@lucent.com>
98474
98475         * lib/closeout.c: Include "__fpending.h".
98476         (close_stdout_status): Return right away if there's nothing to flush.
98477
98478         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
98479         * lib/__fpending.c: New file.
98480         * lib/__fpending.h: New file.
98481
98482 2000-08-20  Jim Meyering  <meyering@lucent.com>
98483
98484         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
98485         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
98486         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
98487
98488 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
98489
98490         Improve fileutils installation on systems where running
98491         programs (like install) can't be unlinked.
98492         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
98493         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
98494
98495 2000-08-07  Paul Eggert  <eggert@twinsun.com>
98496
98497         Standardize on "memory exhausted" instead of "Memory exhausted"
98498         or "virtual memory exhausted".
98499         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
98500         "virtual memory exhausted".
98501         * lib/same.c (same_name): Invoke xalloc_die instead of printing
98502         our own message.
98503         * lib/userspec.c (parse_user_spec): Likewise.
98504         * lib/bumpalloc.h: comment fix
98505         * lib/same.c, userspec.c: Include xalloc.h.
98506
98507         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
98508         not char *const and pointing to a constant array.
98509         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
98510         (xrealloc): Comment fix.
98511
98512         * lib/userspec.c (parse_user_spec):
98513         Don't translate a message until just before returning,
98514         to avoid unnecessary translation.
98515
98516 2000-08-07  Jim Meyering  <meyering@lucent.com>
98517
98518         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
98519         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
98520         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
98521         getgroups.c, gethostname.c, getopt.h, group-member.c,
98522         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
98523         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
98524         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
98525         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
98526         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
98527         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
98528         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
98529         yesno.c: Back out Copyright date changes for each file with no change
98530         this year.  This eases coordination with other programs using the same
98531         source code modules.  From Paul Eggert.
98532
98533 2000-08-06  Paul Eggert  <eggert@twinsun.com>
98534
98535         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
98536         not char, for compatibility with glibc 2.1.3 strftime.c.
98537
98538 2000-08-03  Greg McGary  <greg@mcgary.org>
98539
98540         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
98541         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
98542         (EXTEND_BUFFER): Use them.
98543
98544 2000-08-01  Jim Meyering  <meyering@lucent.com>
98545
98546         * lib/dirname.c (ISSLASH): Define.
98547         (BACKSLASH_IS_PATH_SEPARATOR): Define.
98548         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
98549         both `\' and `/' may be use as path separators.
98550         Based on a patch from Prashant TR.
98551
98552 2000-07-31  Paul Eggert  <eggert@twinsun.com>
98553
98554         * lib/quotearg.c (quotearg_n_options): Don't make the initial
98555         slot vector a constant, since it might get modified.
98556
98557 2000-07-31  Jim Meyering  <meyering@lucent.com>
98558
98559         * lib/xmalloc.c: Use `virtual memory exhausted', not
98560         `Memory exhausted'.
98561         * lib/obstack.c (print_and_abort): Likewise.
98562
98563 2000-07-30  Paul Eggert  <eggert@twinsun.com>
98564
98565         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
98566         buffer, so that the caller can always quote one small
98567         component of a "memory exhausted" message in slot 0.
98568         From a suggestion by Jim Meyering.
98569
98570 2000-07-30  Jim Meyering  <meyering@lucent.com>
98571
98572         * lib/makepath.c (make_path): Quote the other instance, too.
98573
98574         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
98575         (STATIC_BUF_SIZE): Define.
98576         (quotearg_n_options): Use only statically allocated storage when
98577         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
98578         than STATIC_BUF_SIZE.
98579
98580 2000-07-29  Jim Meyering  <meyering@lucent.com>
98581
98582         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
98583         * lib/dirname.c (dir_name): Likewise.
98584
98585         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
98586         `/'.
98587
98588         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
98589         (dir_name): Assert that there are no trailing slashes.
98590
98591 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
98592
98593         * lib/mbswidth.h (mbswidth): Add a flags argument.
98594         (mbswidth): New declaration.
98595         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
98596         * lib/mbswidth.c (mbswidth): Add a flags argument.
98597         (mbsnwidth): New function.
98598
98599 2000-07-24  Jim Meyering  <meyering@lucent.com>
98600
98601         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
98602
98603 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98604
98605         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
98606
98607 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98608
98609         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
98610         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
98611         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
98612         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
98613         invoke multibyte primitives.
98614
98615 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98616
98617         * lib/quotearg.c:
98618         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
98619         so that mbstate_t is always defined.
98620
98621         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
98622         be 1 in at least one GCC installation, and this configuration
98623         error is likely to be common.  Ignoring MB_LEN_MAX hurts
98624         performance on hosts that have mbrtowc but have only unibyte
98625         locales, but I assume these hosts are rare.
98626
98627 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98628
98629         * lib/mbswidth.c (_XOPEN_SOURCE):
98630         Don't define; this causes problems on Solaris 7.
98631         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
98632
98633 2000-07-23  Jim Meyering  <meyering@lucent.com>
98634
98635         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
98636         too: getgrgid, getpwuid, getuid.
98637
98638 2000-07-23  Jim Meyering  <meyering@lucent.com>
98639
98640         * lib/basename.c (base_name): Add an assertion.
98641
98642 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
98643
98644         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
98645         shadow its mbsinit function.
98646
98647 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
98648
98649         * lib/mbswidth.h: New file.
98650         * lib/mbswidth.c: New file.
98651         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
98652         (noinst_HEADERS): Add mbswidth.h.
98653
98654 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
98655
98656         * lib/config.charset: Add support for FreeBSD. Improve support for
98657         HP-UX and IRIX 6.
98658
98659 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
98660
98661         * m4/mbswidth.m4: New file.
98662         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
98663
98664 2000-07-15  Jim Meyering  <meyering@lucent.com>
98665
98666         * lib/makepath.c: Include quote.h.
98667         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
98668         corresponding argument in a `quote (...)' call.
98669         Give better diagnostics.
98670
98671         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
98672         (noinst_HEADERS): Add quote.h.
98673
98674         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
98675         from tar's src/misc.c.
98676         * lib/quote.h: New file.  Prototypes for same.
98677
98678 2000-07-14  Paul Eggert  <eggert@twinsun.com>
98679
98680         From a suggestion by Bruno Haible.
98681         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
98682         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
98683         to decide whether to define the BeOS workaround macro;
98684         this adjusts to the change to AC_MBSTATE_T.
98685
98686 2000-07-14  Jim Meyering  <meyering@lucent.com>
98687
98688         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
98689         jm_AC_TYPE_UINTMAX_T.
98690
98691 2000-07-13  Paul Eggert  <eggert@twinsun.com>
98692
98693         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
98694
98695         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
98696         quotearg_buffer_restyled): Add support for
98697         clocale_quoting_style.  Undo previous change to
98698         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
98699         and "{RIGHT QUOTATION MARK}" msgids.
98700
98701 2000-07-10  Paul Eggert  <eggert@twinsun.com>
98702
98703         From a suggestion by Bruno Haible.
98704         * m4/mbstate_t.m4 (AC_MBSTATE_T):
98705         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
98706         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
98707         and mbstate_t, to a single-part test that simply defines mbstate_t.
98708         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
98709         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
98710
98711 2000-07-10  Jim Meyering  <meyering@lucent.com>
98712
98713         * m4/strerror_r.m4: Mirror the correction made in autoconf.
98714
98715         * m4/gnu-source.m4: Output to confdefs.h directly.
98716         Suggestion from Akim Demaille.
98717
98718 2000-07-09  Paul Eggert  <eggert@twinsun.com>
98719
98720         The old behavior of quoting `like this' doesn't look good with
98721         newer, ISO-style fonts.  See:
98722         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
98723
98724         Instead, quote "like this" by default.  Let the translator
98725         tailor the locale-specific quoting behavior by providing
98726         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
98727
98728         * lib/quotearg.c (N_): New macro.
98729         (gettext_default): New function.
98730         (quotearg_buffer_restyled): Use
98731         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
98732         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
98733
98734 2000-07-09  Jim Meyering  <meyering@lucent.com>
98735
98736         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
98737         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
98738
98739         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
98740         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
98741
98742 2000-07-09  Jim Meyering  <meyering@lucent.com>
98743
98744         * lib/Most files: Update copyright dates to include 2000.
98745
98746 2000-07-08  Jim Meyering  <meyering@lucent.com>
98747
98748         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
98749         if not defined.
98750         (xgethostname): Remove now-unnecessary #ifdef.
98751         Move declaration of `err' into loop where it's used.
98752
98753 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98754         and Bruno Haible  <haible@clisp.cons.org>
98755
98756         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
98757         only if the test for an object-type mbstate_t fails.  This
98758         prevents us from mistakenly reporting that mbstate_t is a
98759         system object type after we "#define mbstate_t int" to work
98760         around its lack.
98761
98762 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98763         and Bruno Haible  <haible@clisp.cons.org>
98764
98765         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
98766
98767 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98768
98769         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
98770         to strerror_r.
98771         Include <ctype.h> for use of isalpha.
98772
98773 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98774
98775         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
98776         by allocating a larger buffer. Test the gethostname return value for
98777         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
98778         returns an error and ENAMETOOLONG isn't defined.
98779
98780 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98781
98782         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
98783         dimension.
98784
98785 2000-07-04  Jim Meyering  <meyering@lucent.com>
98786
98787         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
98788         of the deprecated AC_CHECKING.
98789
98790 2000-07-04  Jim Meyering  <meyering@lucent.com>
98791
98792         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
98793         Reported by Bruno Haible.
98794
98795 2000-07-04  Jim Meyering  <meyering@lucent.com>
98796
98797         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
98798         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
98799         lacks mbrtowc.
98800
98801 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98802
98803         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
98804         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
98805
98806 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98807         and Bruno Haible  <haible@clisp.cons.org>
98808
98809         * lib/quotearg.c (mbrtowc):
98810         Assign to *pwc, and return 1 only if result is nonzero.
98811         (iswprint): Use ISPRINT when substituting our own mbrtowc.
98812
98813 2000-07-03  Jim Meyering  <meyering@lucent.com>
98814
98815         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
98816
98817 2000-07-03  Jim Meyering  <meyering@lucent.com>
98818
98819         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
98820         This is necessary to get a definition of e.g., UTMP_FILE on
98821         HP-UX 10.20.
98822         From Bob Proulx.
98823
98824 2000-07-02  Jim Meyering  <meyering@lucent.com>
98825
98826         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
98827
98828         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
98829         AC_LIBOBJ(function_name).
98830         * m4/chown.m4: Likewise.
98831         * m4/fnmatch.m4: Likewise.
98832         * m4/ftruncate.m4: Likewise.
98833         * m4/getgroups.m4: Likewise.
98834         * m4/getline.m4: Likewise.
98835         * m4/group-member.m4: Likewise.
98836         * m4/jm-macros.m4: Likewise.
98837         * m4/lstat.m4: Likewise.
98838         * m4/malloc.m4: Likewise.
98839         * m4/memcmp.m4: Likewise.
98840         * m4/nanosleep.m4: Likewise.
98841         * m4/putenv.m4: Likewise.
98842         * m4/realloc.m4: Likewise.
98843         * m4/regex.m4: Likewise.
98844         * m4/stat.m4: Likewise.
98845         * m4/strftime.m4: Likewise.
98846
98847 2000-07-02  Jim Meyering  <meyering@lucent.com>
98848
98849         * lib/quotearg.c (mbstate_t): Don't define here.
98850
98851 2000-07-02  Jim Meyering  <meyering@lucent.com>
98852
98853         * lib/nanosleep.c (SIGCONT): Define if not already defined.
98854
98855 2000-07-01  Jim Meyering  <meyering@lucent.com>
98856
98857         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
98858
98859 2000-07-01  Jim Meyering  <meyering@lucent.com>
98860
98861         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
98862         problem.
98863
98864 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98865
98866         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
98867         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
98868
98869 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98870
98871         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
98872         per change in ../m4/ls-mntd-fs.m4.
98873         (read_filesystem_list): Ignore symbolic links.
98874
98875 2000-06-29  Jim Meyering  <meyering@lucent.com>
98876
98877         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
98878         for declaration of strcmp.
98879
98880         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
98881
98882         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
98883         Avoid warning by casting result to `char *' to remove `const'.
98884
98885 2000-06-28  Jim Meyering  <meyering@lucent.com>
98886
98887         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
98888         included by quotearg.c, for which we perform this test.  From
98889         Bruno Haible.
98890
98891 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98892
98893         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
98894         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
98895         <utmpx.h> exists, put readutmp.o into LIBOBJS.
98896
98897 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98898
98899         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
98900
98901 2000-06-26  Paul Eggert  <eggert@twinsun.com>
98902
98903         savedir now sets errno on failure and invokes xmalloc to get memory.
98904         Fix a couple of other minor bugs while we're at it.
98905
98906         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
98907         (NAMLEN): Remove macro.
98908         (malloc, realloc): Remove decls.
98909         (stpcpy): Likewise.
98910         ("xalloc.h"): Include.
98911         (NAME_SIZE_DEFAULT): New macro.
98912         (savedir): Use xmalloc / xrealloc to allocate memory.
98913         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
98914         Skip "" directory entries.
98915         Use strlen to calculate directory entry length, since the old method
98916         is rarely used these days and isn't worth supporting.
98917         Don't use a pointer after freeing it.
98918         Check for integer overflow when calculating allocation size.
98919         Use memcpy to copy entries, instead of stpcpy.
98920         Set errno properly when returning NULL.
98921         Check for readdir error.
98922
98923 2000-06-26  Jim Meyering  <meyering@lucent.com>
98924
98925         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
98926
98927 2000-06-25  Jim Meyering  <meyering@lucent.com>
98928
98929         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
98930         Linux header bug when _XOPEN_SOURCE is defined to 500.
98931
98932 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98933
98934         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
98935         deficiency.
98936
98937 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98938
98939         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
98940         Include xalloc.h.
98941         Don't include <stdlib.h>.  Don't declare malloc, realloc.
98942
98943 2000-06-24  Jim Meyering  <meyering@lucent.com>
98944
98945         * m4/strerror_r.m4: Revive this file -- to try out an experimental
98946         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
98947         for which strerror does return char*, but which lacks a conveniently
98948         accessible declaration of the function.  If the compile-test says
98949         strerror_r doesn't work, then resort to a `run'-test that works on
98950         BeOS and segfaults on DEC Unix.
98951
98952 2000-06-24  Jim Meyering  <meyering@lucent.com>
98953
98954         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
98955
98956 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98957
98958         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
98959         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
98960
98961 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98962
98963         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
98964         (mbrtowc, mbstate_t): Define substitutes if
98965         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
98966         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
98967         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
98968
98969 2000-06-23  Jim Meyering  <meyering@lucent.com>
98970
98971         * m4/afs.m4: Add missing AC_MSG_RESULT.
98972         Reported by Bruno Haible.
98973
98974         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
98975         Suggestion from Bruno Haible.
98976
98977 2000-06-23  Jim Meyering  <meyering@lucent.com>
98978
98979         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
98980
98981 2000-06-21  Jim Meyering  <meyering@lucent.com>
98982
98983         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
98984
98985 2000-06-21  Jim Meyering  <meyering@lucent.com>
98986
98987         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
98988         (noinst_HEADERS): Add getstr.h.
98989
98990         * lib/getline.c (getstr): Move into a separate file.
98991         * lib/getstr.c (getstr): New file, extracted from getline.c, with
98992         the following changes: new parameter, delim2; both delim[12]
98993         parameters have type `int', not `char'.  The latter would lose
98994         with 8-bit delimiters.
98995         * lib/getstr.h: New file.
98996
98997 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98998
98999         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
99000         than 1024, return a memory chunk of least possible size, instead
99001         of size PATH_MAX + 2. In the loop, increment the size proportionally.
99002         Use free/xmalloc instead of xrealloc to avoid copying for very long
99003         paths.
99004
99005 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
99006
99007         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
99008         the empty string.
99009
99010 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
99011
99012         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
99013         address, not strdup.  Include <stdlib.h> and don't declare free().
99014
99015 2000-06-19  Jim Meyering  <meyering@lucent.com>
99016
99017         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
99018
99019 2000-06-18  Jim Meyering  <meyering@lucent.com>
99020
99021         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
99022
99023         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
99024         `checking whether...' message to be consistent with that of the
99025         lstat test.
99026
99027 2000-06-18  Jim Meyering  <meyering@lucent.com>
99028
99029         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
99030         Besides, these days every porting target provides a mkdir function.
99031
99032         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
99033         needed. (this snippet comes from src/system.h).
99034
99035 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
99036
99037         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
99038
99039 2000-06-15  Paul Eggert  <eggert@twinsun.com>
99040
99041         * lib/human.c (adjust_value): New function.
99042         (human_readable_inexact): Apply rounding style even when
99043         printing approximate values.
99044
99045 2000-06-14  Paul Eggert  <eggert@twinsun.com>
99046
99047         * lib/human.c (human_readable_inexact): Allow an input block
99048         size that is not a multiple of the output block size, and vice versa.
99049         Reported by Piergiorgio Sartor.
99050
99051 2000-06-14  Paul Eggert  <eggert@twinsun.com>
99052
99053         * lib/getdate.y (get_date): Apply relative times after time
99054         zone indicator, not before.  Reported by Todd A. Jacobs.
99055
99056 2000-06-13  Jim Meyering  <meyering@lucent.com>
99057
99058         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
99059
99060         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
99061
99062 2000-06-12  Paul Eggert  <eggert@twinsun.com>
99063
99064         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
99065
99066 2000-06-12  Jim Meyering  <meyering@lucent.com>
99067
99068         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
99069         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
99070         optional argument.
99071         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
99072         the optional argument, `lib'.
99073
99074 2000-06-08  Jim Meyering  <meyering@lucent.com>
99075
99076         * m4/largefile.m4: Remove file (now that it's part of autoconf).
99077
99078 2000-06-04  Paul Eggert  <eggert@twinsun.com>
99079
99080         Rewrite largefile configuration so that we don't need to run
99081         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
99082         AC_CANONICAL_HOST in configure.in -- jmm]
99083
99084         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
99085         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
99086         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
99087         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
99088         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
99089         All uses changed.
99090         Instead of inspecting the output of getconf, try to compile the
99091         test program without and with the macro definition.
99092         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
99093         for getconf.  Instead, check for the needed flags by compiling
99094         test programs.
99095
99096 2000-06-04  Paul Eggert  <eggert@twinsun.com>
99097
99098         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
99099
99100 2000-06-04  Jim Meyering  <meyering@lucent.com>
99101
99102         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
99103         SunOS 4.1.4 for which gid_t is an unsigned type.
99104
99105 2000-06-03  Jim Meyering  <meyering@lucent.com>
99106
99107         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
99108         now that autoconf requires that.
99109
99110         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
99111         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
99112         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
99113
99114 2000-06-03  Jim Meyering  <meyering@lucent.com>
99115
99116         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
99117
99118 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
99119
99120         * m4/glibc21.m4: New file.
99121         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
99122
99123 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
99124
99125         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
99126         newer, don't install charset.alias.
99127         * lib/config.charset: Change the Linux/glibc rules so they become empty
99128         on glibc-2.1 or newer.
99129
99130 2000-06-02  Jim Meyering  <meyering@lucent.com>
99131
99132         * lib/mountlist.c: Back out last change.  Instead, do this...
99133         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
99134         me_dummy member using the same `ignore'-testing code.
99135         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
99136         fs_type strings.
99137         From Mark D. Roth.
99138
99139 2000-05-29  Jim Meyering  <meyering@lucent.com>
99140
99141         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
99142         mounts with the `ignore' attribute.  Based on a patch from
99143         Mark D. Roth.
99144
99145 2000-05-28  Jim Meyering  <meyering@lucent.com>
99146
99147         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
99148         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
99149         * m4/stat.m4: Likewise.
99150         * m4/lstat.m4: Likewise.
99151         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
99152
99153         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
99154         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
99155
99156 2000-05-26  Jim Meyering  <meyering@lucent.com>
99157
99158         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
99159
99160 2000-05-24  Jim Meyering  <meyering@lucent.com>
99161
99162         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
99163         autoconf requires that.
99164         * m4/lib-check.m4: Likewise.
99165         * m4/jm-macros.m4: Likewise.
99166         * m4/strftime.m4: Likewise.
99167
99168         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
99169         AC_CHECK_DECLS, now that autoconf requires that.
99170
99171 2000-05-22  Jim Meyering  <meyering@lucent.com>
99172
99173         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
99174         * m4/lstat.m4: Likewise.
99175
99176 2000-05-22  Jim Meyering  <meyering@lucent.com>
99177
99178         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
99179
99180 2000-05-20  Jim Meyering  <meyering@lucent.com>
99181
99182         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
99183         (jm_PREREQ): Use it.
99184
99185 2000-05-18  Jim Meyering  <meyering@lucent.com>
99186
99187         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
99188         back, too, since it may have been modified by allocate_entry.
99189         (hash_delete): Rewrite to use neither the assignment operator
99190         nor the comma operator in an if-expression.
99191
99192 2000-05-15  Paul Eggert  <eggert@twinsun.com>
99193
99194         * lib/closeout.c:
99195         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
99196         Remove; no longer needed.
99197         "quotearg.h": Add include.
99198         (file_name): Do not bother to explicitly initialize to NULL; it's less
99199         efficient on some hosts.
99200         (close_stdout_status): Remove test as to whether stdout was already
99201         closed; it breaks for the case "echo x | sort >&-".
99202         Quote file name colons.
99203         Do not assume that _("write error") lacks format strings.
99204
99205 2000-05-15  Jim Meyering  <meyering@lucent.com>
99206
99207         * lib/version-etc.c (version_etc_copyright): Update the copyright
99208         string used in all --version output.
99209
99210 2000-05-14  Jim Meyering  <meyering@lucent.com>
99211
99212         * lib/closeout.c (close_stdout_set_file_name): New function.
99213         (close_stdout_status): Use new file-scoped global.
99214         Return right away if fstat says the stdout file descriptor is invalid.
99215         * lib/closeout.h (close_stdout_set_file_name): Declare.
99216
99217 2000-05-10  Jim Meyering  <meyering@lucent.com>
99218
99219         * lib/closeout.c [default_exit_status]: New file-scoped variable.
99220         (close_stdout_set_status): New function.
99221         * lib/closeout.h (close_stdout_set_status): Declare.
99222
99223 2000-05-09  Jim Meyering  <meyering@lucent.com>
99224
99225         * m4/gettext.m4: Rename this...
99226         * m4/libintl.m4: ...to this.
99227
99228 2000-05-08  Jim Meyering  <meyering@lucent.com>
99229
99230         * lib/long-options.c: Don't include closeout.h.
99231         (parse_long_options): Don't call close_stdout for --version.
99232
99233 2000-05-06  Paul Eggert  <eggert@twinsun.com>
99234
99235         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
99236         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
99237         2.1.3 bug.  This avoids a clash when files like regex.c define
99238         _GNU_SOURCE.
99239
99240 2000-05-06  Jim Meyering  <meyering@lucent.com>
99241
99242         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
99243         (AC_REPLACE_FUNCS): Add strnlen.
99244
99245         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
99246         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
99247
99248         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
99249         AC_SEARCH_LIBS call for nanosleep.
99250         (LIB_NANOSLEEP): Set and AC_SUBST.
99251
99252 2000-05-06  Jim Meyering  <meyering@lucent.com>
99253
99254         * lib/strnlen.c: Undefine __strnlen and strnlen.
99255         [!weak_alias]: Define __strnlen to strnlen.
99256
99257         * lib/atexit.c: New file, from libiberty.
99258
99259 2000-05-06  Jim Meyering  <meyering@lucent.com>
99260
99261         * lib/closeout.c (close_stdout_status): Also check for errors on the
99262         stderr stream.
99263
99264 2000-05-05  Jim Meyering  <meyering@lucent.com>
99265
99266         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
99267         AC_SEARCH_LIBS call for clock_gettime.
99268         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
99269
99270         * m4/search-libs.m4: Update from autoconf.
99271
99272         su doesn't work on Solaris 2.6.
99273         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
99274         <shadow.h>.  Reported by Dragos Harabor.
99275
99276 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
99277
99278         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
99279         memcpy instead of xmalloc, xrealloc, path_concat.
99280         (locale_charset): Treat empty environment variables as absent.
99281         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
99282
99283 2000-05-04  Jim Meyering  <meyering@lucent.com>
99284
99285         * lib/getopt.c: Update from glibc.
99286         * lib/obstack.c: Likewise.
99287         * lib/obstack.h: Likewise.
99288         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
99289         file
99290
99291         * lib/regex.h: Likewise.
99292         * lib/strndup.c: Likewise.
99293         * lib/strnlen.c: New file, from glibc.
99294
99295 2000-05-03  Jim Meyering  <meyering@lucent.com>
99296
99297         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
99298
99299 2000-05-02  Paul Eggert  <eggert@twinsun.com>
99300
99301         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
99302         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
99303         compile-time test, rather than inspecting host and OS, to
99304         decide whether to define _LARGEFILE_SOURCE.
99305
99306 2000-05-01  Jim Meyering  <meyering@lucent.com>
99307
99308         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
99309
99310         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
99311         Based on a patch from Bruno Haible.
99312
99313 2000-05-01  Jim Meyering  <meyering@lucent.com>
99314
99315         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
99316
99317 2000-04-29  Jim Meyering  <meyering@lucent.com>
99318
99319         * lib/path-concat.c: Declare strdup only if it's not defined.
99320         * lib/canon-host.c: Likewise.
99321
99322 2000-04-28  Jim Meyering  <meyering@lucent.com>
99323
99324         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
99325         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
99326         is included first, then limits.h is included by locale.h by libintl.h.
99327         From John David Anglin.
99328
99329 2000-04-25  Jim Meyering  <meyering@lucent.com>
99330
99331         * lib/makepath.c (S_IRWXUGO): Define.
99332         (make_path): Always perform explicit chmod if MODE specifies any
99333         of the `special' permission bits.  Prompted by a bug report against
99334         install from Mate Wierdl and Joost van Baal.
99335
99336 2000-04-18  Jim Meyering  <meyering@lucent.com>
99337
99338         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
99339         (jm_PREREQ): Use it.
99340
99341 2000-04-18  Jim Meyering  <meyering@lucent.com>
99342
99343         * lib/README: New file.
99344
99345         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
99346         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
99347
99348 2000-04-17  Jim Meyering  <meyering@lucent.com>
99349
99350         Get it right :-)
99351         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
99352         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
99353         Suggestion from Akim Demaille.
99354
99355 2000-04-17  Jim Meyering  <meyering@lucent.com>
99356
99357         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
99358         the definition of it to rpl_strftime also defined-away the system's
99359         declaration.
99360
99361 2000-04-15  Jim Meyering  <meyering@lucent.com>
99362
99363         Use `C' to denote so-called `contiguous' files, the same way
99364         that tar does.
99365         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
99366         (ftypelet): Use S_ISCTG.
99367         From Michael Deutschmann.
99368
99369 2000-04-14  Jim Meyering  <meyering@lucent.com>
99370
99371         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
99372         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
99373         clobbered.
99374
99375 2000-04-14  Jim Meyering  <meyering@lucent.com>
99376
99377         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
99378
99379 2000-04-13  Jim Meyering  <meyering@lucent.com>
99380
99381         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
99382         AH_VERBATIM to insert required #ifndef into config.h.in.
99383         Suggestion from Akim Demaille.
99384
99385 2000-04-12  Jim Meyering  <meyering@lucent.com>
99386
99387         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
99388         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
99389         Christian Krackowizer.
99390
99391         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
99392         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
99393         (AC_SYS_LARGEFILE): Require.
99394         (AM_C_PROTOTYPES): Require.
99395
99396 2000-04-08  Jim Meyering  <meyering@lucent.com>
99397
99398         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
99399         names don't conflict.  Reported by Eli Zaretskii.
99400
99401 2000-04-07  Jim Meyering  <meyering@lucent.com>
99402
99403         * lib/putenv.c: Move inclusion of errno.h so it follows that of
99404         sys/types.h, to work around system header problems on AIX 3.2.5.
99405         From Bruno Haible.
99406
99407 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
99408
99409         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
99410         bug.  Deal with the different error behavior of Irix iconv.
99411
99412 2000-04-05  Paul Eggert  <eggert@twinsun.com>
99413
99414         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
99415         IRIX if the installer said otherwise.
99416
99417 2000-04-05  Jim Meyering  <meyering@lucent.com>
99418
99419         Portability tweaks required for ultrix4.3.
99420         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
99421         (jm_CHECK_DECLS): Add getutent to the list of functions.
99422         (_jm_DECL_HEADERS): Add utmpx.h.
99423         From John David Anglin.
99424
99425         * m4/strftime.m4: Back out the 2000-04-02 change.
99426         Instead of that change, simply undefine putenv in the test program.
99427
99428 2000-04-05  Jim Meyering  <meyering@lucent.com>
99429
99430         Portability tweaks required for ultrix4.3.
99431         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
99432         getutent.
99433         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
99434         * lib/canon-host.c: Declare strdup.
99435         * lib/path-concat.c: Likewise.
99436         From John David Anglin.
99437
99438 2000-04-04  Jim Meyering  <meyering@lucent.com>
99439
99440         Be more DOS 8.3-friendly.
99441         * lib/ref-add.sin: Renamed from ref-add.sed.in.
99442         * lib/ref-del.sin: Renamed from ref-del.sed.in.
99443         * lib/Makefile.am: Reflect renaming.
99444         Reported by Eli Zaretskii.
99445
99446         Use a temporary file name that won't clash with `charset.alias'
99447         in the DOS 8.3 name space.
99448         * lib/Makefile.am (charset_tmp): Define.
99449         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
99450         (uninstall-local): Likewise.
99451         Reported by Eli Zaretskii.
99452
99453 2000-04-03  Jim Meyering  <meyering@lucent.com>
99454
99455         * m4/gettext.m4: Fix typo in comment.
99456
99457         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
99458         textutils/configure.in).  Suggestion from Paul Eggert.
99459         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
99460
99461 2000-04-02  Paul Eggert  <eggert@twinsun.com>
99462
99463         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
99464         variable in the shell rather than using putenv, which isn't
99465         portable.  This avoids the configure-time inter-test dependency
99466         on the potentially-renamed putenv function.
99467
99468 2000-03-30  Paul Eggert  <eggert@twinsun.com>
99469
99470         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
99471         before checking struct stat.st_blksize, so that
99472         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
99473
99474 2000-03-29  Paul Eggert  <eggert@twinsun.com>
99475
99476         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
99477         since strftime.c uses HAVE_STRFTIME to decide whether to use
99478         the underlying strftime.
99479
99480 2000-03-29  Paul Eggert  <eggert@twinsun.com>
99481
99482         * lib/time/strftime.c (my_strftime): Make sure we call the system
99483         strftime, not ourselves, when invoking the underlying strftime.
99484
99485 2000-03-24  Jim Meyering  <meyering@lucent.com>
99486
99487         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
99488         (charset_alias): Define.
99489         (install-exec-local): Factor out common code.
99490         (uninstall-local): Split lines longer than 80.
99491         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
99492         (SUFFIXES): Define.
99493         (.sed.in.sed): New rule.  Don't redirect directly to $@.
99494         (CLEANFILES): Add ref-add.sed and ref-del.sed.
99495
99496 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
99497
99498         * lib/config.charset: Output a line containing "Packages using this
99499         file".
99500         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
99501         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
99502         ref-del.sed): New rules.
99503
99504 2000-03-17  Jim Meyering  <meyering@lucent.com>
99505
99506         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
99507         Otherwise, include <strings.h>
99508
99509 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
99510
99511         * lib/unicodeio.c (utf8_wctomb): New function.
99512         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
99513         format instead of in UCS-4 with platform dependent endianness.
99514
99515 2000-03-10  Jim Meyering  <meyering@lucent.com>
99516
99517         * m4/lib-check.m4: Look for getspnam in -lgen, too.
99518         From Marco Franzen.
99519
99520 2000-03-07  Paul Eggert  <eggert@twinsun.com>
99521
99522         * lib/savedir.c (savedir): Work even if directory size is
99523         negative; this can happen with some screwy NFS configurations.
99524
99525 2000-03-06  Jim Meyering  <meyering@lucent.com>
99526
99527         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
99528         if it's NULL (because we ran out of memory).  From Bruno Haible.
99529
99530 2000-03-05  Jim Meyering  <meyering@lucent.com>
99531
99532         * lib/localcharset.c ("path-concat.h"): Include.
99533         (get_charset_aliases): Use path_concat instead of ANSI string
99534         concatenation.
99535
99536         * lib/unicodeio.h (PARAMS): Define.
99537         Use it to guard prototype.
99538
99539 2000-03-04  Jim Meyering  <meyering@lucent.com>
99540
99541         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
99542         for lib/localcharset.c.
99543
99544 2000-03-04  Jim Meyering  <meyering@lucent.com>
99545
99546         * lib/Makefile.am (install-exec-local): Create $(libdir) before
99547         installing into it.
99548         (uninstall-local): Uncomment this rule so `make distcheck' works
99549         once again.
99550
99551         * lib/unicodeio.c (<errno.h>): Include it.
99552         (errno): Declare if not defined.
99553
99554         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
99555
99556         * lib/config.charset: New version, incorporating remarks from a linux
99557         i18n mailing list.  From Bruno Haible.
99558
99559 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
99560
99561         * m4/codeset.m4: New file.
99562         * m4/iconv.m4: New file.
99563         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
99564
99565 2000-03-03  Jim Meyering  <meyering@lucent.com>
99566
99567         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
99568
99569 2000-03-02  Jim Meyering  <meyering@lucent.com>
99570
99571         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
99572         the messages come out on separate lines.
99573
99574         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
99575         rather than jm_CHECK_DECLARATIONS.
99576         * m4/decl.m4: Remove now-unused file.
99577
99578         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
99579         geteuid.
99580
99581 2000-03-02  Jim Meyering  <meyering@lucent.com>
99582
99583         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
99584
99585 2000-03-01  Jim Meyering  <meyering@lucent.com>
99586
99587         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
99588         * lib/unicodeio.c: Likewise.
99589
99590 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
99591
99592         * lib/config.charset: New file.
99593         * lib/localcharset.c: New file.
99594         * lib/unicodeio.h, lib/unicodeio.c: New files.
99595         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
99596         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
99597         (noinst_HEADERS): Add unicodeio.h.
99598         (all-local, install-exec-local, charset.alias): New targets.
99599
99600 2000-02-28  Paul Eggert  <eggert@twinsun.com>
99601
99602         * lib/quotearg.c (ALERT_CHAR): New macro.
99603         (quotearg_buffer_restyled): Use it.
99604
99605 2000-02-27  Jim Meyering  <meyering@lucent.com>
99606
99607         * m4/check-decl.m4: Add getenv to the list.
99608
99609 2000-02-27  Jim Meyering  <meyering@lucent.com>
99610
99611         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
99612         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
99613
99614         * lib/backupfile.c: Guard inclusion of stdlib.h with
99615         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
99616         Declare malloc if needed.
99617
99618         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
99619         `#ifndef HAVE_DECL..'
99620         now that autoconf always defines the HAVE_DECL_ symbols.
99621         * lib/human.c: Likewise.
99622         * lib/same.c: Likewise.
99623         * lib/strtoumax.c: Likewise.
99624
99625         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
99626         declaration check was not run.
99627         * lib/hash.c: Likewise.
99628         * lib/human.c: Likewise.
99629         * lib/same.c: Likewise.
99630         * lib/strtoumax.c: Likewise.
99631
99632         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
99633         `.', then first look up the entire `.'-containing string as a login
99634         name.
99635
99636 2000-02-23  Jim Meyering  <meyering@lucent.com>
99637
99638         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
99639         in place of my hack.
99640
99641 2000-02-18  Paul Eggert  <eggert@twinsun.com>
99642
99643         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
99644         (textint): New typedef.
99645         (parser_control): Member year changed from int to textint.
99646         All uses changed.
99647         (YYSTYPE): Removed; replaced by %union with int and textint members.
99648         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
99649         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
99650         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
99651         (tSNUMBER, tUNUMBER): Now of type <textintval>.
99652         (date, number, to_year): Use width of number in digits, not its value,
99653         to determine whether it's a 2-digit year, or a 2-digit time.
99654         (yylex): Store number of digits of numeric tokens.
99655         Reported by John Kendall.
99656
99657         (parser_control): Changed from struct parser_control to typedef (for
99658         consistency).  All uses changed.
99659
99660         (tID): Removed; not used.
99661         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
99662
99663 2000-02-14  Paul Eggert  <eggert@twinsun.com>
99664
99665         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
99666         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
99667
99668 2000-02-12  Jim Meyering  <meyering@lucent.com>
99669
99670         * lib/userspec.c (ISDIGIT): Define it.
99671         (isdigit): Remove definition.
99672         (is_number): Use ISDIGIT, not isdigit.
99673         <libintl.h>: Include.
99674         (_ and N_): Define.
99675         (parse_user_spec): Mark translatable strings.
99676
99677 2000-02-10  Jim Meyering  <meyering@lucent.com>
99678
99679         With these changes, nanosleep.[ch] are finally enough like the other
99680         lib/* replacement files to compile on a few more losing systems.
99681
99682         * lib/nanosleep.h: Don't include config.h.
99683         Remove prototype from declaration of nanosleep.
99684         (PARAMS): Remove now-unneeded definition.
99685         * lib/nanosleep.c: #undef nanosleep.
99686         (rpl_nanosleep): Rename from nanosleep.
99687
99688 2000-02-10  Jim Meyering  <meyering@lucent.com>
99689
99690         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
99691         gnu_nanosleep to rpl_nanosleep.
99692
99693 2000-02-09  Jim Meyering  <meyering@lucent.com>
99694
99695         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
99696         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
99697
99698 2000-02-08  Akim Demaille  <akim@epita.fr>
99699
99700         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
99701         `[' and `]' and remove uses of `changequote'.
99702         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
99703         (AC_SYS_LARGEFILE): Likewise.
99704         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
99705         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
99706         of changequote.
99707         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
99708         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
99709         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
99710         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
99711
99712 2000-02-05  Jim Meyering  <meyering@lucent.com>
99713
99714         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
99715         Remove explicit use of AC_HEADER_TIME.  It is required by
99716         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
99717         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
99718         in autoconf whereby the expansion of the latter ended up preceding
99719         the expansion of its prerequisite, AC_HEADER_TIME.
99720         Reported by Volker Borchert.
99721
99722 2000-02-03  Jim Meyering  <meyering@lucent.com>
99723
99724         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
99725
99726 2000-02-03  Jim Meyering  <meyering@lucent.com>
99727
99728         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
99729         rather than with `#if HAVE_UTMPNAME'.
99730
99731 2000-02-02  Jim Meyering  <meyering@lucent.com>
99732
99733         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
99734         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
99735         Reported by Eli Zaretskii.
99736
99737 2000-02-01  Jim Meyering  <meyering@lucent.com>
99738
99739         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
99740
99741 2000-01-31  Jim Meyering  <meyering@lucent.com>
99742
99743         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
99744         functions.  Add the time.h and sys/time.h headers along with the
99745         AC_REQUIRE'ment of AC_HEADER_TIME.
99746
99747 2000-01-31  Jim Meyering  <meyering@lucent.com>
99748
99749         * lib/nanosleep.h (nanosleep): Guard declaration with
99750         `#if ! HAVE_DECL_NANOSLEEP'.
99751         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
99752         the declaration in that vendor's sys/timers.h.
99753         Reported by Christian Krackowizer.
99754
99755         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
99756         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
99757         (ISPRINT): Likewise.
99758         Reported by Tom Tromey.
99759
99760 2000-01-30  Jim Meyering  <meyering@lucent.com>
99761
99762         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
99763
99764         * m4/prereq.m4 (utmp_includes): Define.
99765         Check for ut_user and ut_name members in both struct utmpx
99766         and struct utmp.
99767
99768 2000-01-30  Jim Meyering  <meyering@lucent.com>
99769
99770         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
99771         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
99772         header files where only utmpx.ut_user is declared.
99773
99774         * lib/readutmp.h (UT_USER): Define.
99775
99776 2000-01-29  Jim Meyering  <meyering@lucent.com>
99777
99778         * m4/lib-check.m4: New file containing library-related checks from
99779         fileutils and sh-utils (textutils had none).
99780
99781 2000-01-28  Jim Meyering  <meyering@lucent.com>
99782
99783         * m4/perl.m4: Change format of warning message to look more like that
99784         from the missing script.  Suggestion from François Pinard.
99785
99786 2000-01-25  Jim Meyering  <meyering@lucent.com>
99787
99788         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
99789         well as time.h in the compile check.
99790         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
99791         Fix typo in cross-compiling case: s/yes/no/.
99792
99793 2000-01-23  Jim Meyering  <meyering@lucent.com>
99794
99795         * m4/jm-macros.m4: Move df-related tests here from
99796         fileutils/configure.in
99797
99798         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
99799         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
99800
99801         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
99802         s/space/ac_fsusage_space/.
99803         (jm_FILE_SYSTEM_USAGE): Take two parameters.
99804
99805         * m4/ftruncate.m4: New file (derived from part of
99806         fileutils/configure.in).
99807         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
99808         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
99809
99810         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
99811         AC_SUBST these here, rather than just in sh-util/configure.in, so
99812         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
99813         all the same.
99814         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
99815         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
99816         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
99817         (AC_SUBST(POW_LIBM)): Likewise.
99818         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
99819
99820 2000-01-23  Jim Meyering  <meyering@lucent.com>
99821
99822         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
99823         obstack.c.
99824
99825 2000-01-22  Jim Meyering  <meyering@lucent.com>
99826
99827         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
99828
99829         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
99830
99831         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
99832         configure.in
99833         (AC_CHECK_HEADERS): Likewise for sh-utils.
99834         (AC_CHECK_HEADERS): Likewise for textutils.
99835         Merge the three lists of headers.
99836
99837         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
99838         from fileutils' configure.in.
99839
99840         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
99841         code. Moved tests into their own function (_jm_DECL_HEADERS) in
99842         check-decl.m4.
99843
99844         * m4/check-decl.m4: Use #if rather than #ifdef.
99845         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
99846         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
99847         (_jm_DECL_HEADERS): Define new function.
99848         (jm_CHECK_DECLARATIONS): Require it.
99849
99850 2000-01-22  Jim Meyering  <meyering@lucent.com>
99851
99852         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
99853         [! HAVE_DECL_STRTOULL]: Declare strtoull.
99854         Required for some AIX systems.  Reported by Christian Krackowizer.
99855         [TESTING] (main): New function.
99856
99857         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
99858         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
99859         letters.
99860
99861         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
99862         iswprint.
99863
99864         * lib/strverscmp.c (ISDIGIT): Define.
99865         (strverscmp): Use ISDIGIT, not isdigit.
99866
99867 2000-01-19  Jim Meyering  <meyering@lucent.com>
99868
99869         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
99870         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
99871         defines `struct timespec' in <sys/time.h>
99872
99873         * m4/c-bs-a.m4: Remove uses of changequote altogether.
99874         Thanks to Akim for explaining.
99875
99876 2000-01-17  Paul Eggert  <eggert@twinsun.com>
99877
99878         * lib/nanosleep.c (nanosleep):
99879         Don't use SA_INTERRUPT to decide whether to call sigaction, as
99880         POSIX.1 doesn't require SA_INTERRUPT and some systems
99881         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
99882         it's been part of POSIX.1 since day 1 (in 1988).
99883
99884 2000-01-17  Jim Meyering  <meyering@lucent.com>
99885
99886         * lib/interlock: Remove unused file.  Reported by François Pinard.
99887
99888 2000-01-16  Paul Eggert  <eggert@twinsun.com>
99889
99890         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
99891         alert, backslash, formfeed, and vertical tab unnecessarily in
99892         shell quoting style.
99893
99894 2000-01-16  Jim Meyering  <meyering@lucent.com>
99895
99896         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
99897         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
99898         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
99899         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
99900
99901 2000-01-16  Jim Meyering  <meyering@lucent.com>
99902
99903         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
99904         because the latter didn't work.
99905
99906 2000-01-15  Jim Meyering  <meyering@lucent.com>
99907
99908         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
99909         (AC_REPLACE_FUNCS): Add memcpy and memset.
99910         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
99911         Add strpbrk.
99912         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
99913
99914 2000-01-12  Jim Meyering  <meyering@lucent.com>
99915
99916         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
99917         (jm_PREREQ): Use it.
99918         (jm_PREREQ_READUTMP): New macro.
99919         (jm_PREREQ): Use it.
99920
99921 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99922
99923         Quote multibyte characters correctly.
99924         * m4/c-bs-a.m4: New file.
99925         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
99926         (jm_PREREQ): Use it.
99927
99928 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99929
99930         * m4/uintmax_t.m4: Port to autoconf 2.13.
99931
99932 2000-01-08  Jim Meyering  <meyering@ascend.com>
99933
99934         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
99935         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
99936
99937 2000-01-04  Jim Meyering  <meyering@ascend.com>
99938
99939         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
99940         jm_STRUCT_DIRENT_D_TYPE.
99941         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
99942         jm_STRUCT_DIRENT_D_INO.
99943         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
99944         jm_STRUCT_UTIMBUF.
99945         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
99946         renamings.
99947         * m4/utime.m4: Likewise.
99948
99949         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
99950         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
99951
99952 2000-01-03  Paul Eggert  <eggert@twinsun.com>
99953
99954         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
99955         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
99956
99957 2000-01-02  Jim Meyering  <meyering@ascend.com>
99958
99959         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
99960         remember if this is necessary.
99961
99962 1999-12-26  Jim Meyering  <meyering@ascend.com>
99963
99964         * m4/jm-macros.m4: Use it here.
99965         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
99966
99967 1999-12-23  Jim Meyering  <meyering@ascend.com>
99968
99969         * m4/jm-macros.m4: Check for clock_gettime (moved from
99970         fileutils/configure.in)
99971         Check for gettimeofday.
99972
99973 1999-12-20  Jim Meyering  <meyering@ascend.com>
99974
99975         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
99976         autoconf-2.14a-1999-12-20.
99977
99978 1999-12-19  Jim Meyering  <meyering@ascend.com>
99979
99980         * m4/lstat-slash.m4: New file.
99981         * m4/jm-macros.m4: Use the new macro:
99982         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
99983
99984 1999-12-07  Jim Meyering  <meyering@ascend.com>
99985
99986         * m4/perl.m4: Require that File::Compare be available, too.
99987         Too many systems seem to lack it.
99988
99989         * m4/strftime.m4: Add checks for most of the cpp macros tested in
99990         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
99991
99992 1999-11-18  Paul Eggert  <eggert@twinsun.com>
99993
99994         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
99995         problem with the QNX 4.25 shell, which doesn't propagate exit
99996         status of failed commands inside shell assignments.
99997
99998 1999-11-17  Jim Meyering  <meyering@ascend.com>
99999
100000         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
100001
100002 1999-11-07  Jim Meyering  <meyering@ascend.com>
100003
100004         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
100005
100006 1999-11-06  Jim Meyering  <meyering@ascend.com>
100007
100008         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
100009         * m4/jm-macros.m4 (jm_MACROS): Use it here.
100010
100011 1999-11-05  Jim Meyering  <meyering@ascend.com>
100012
100013         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
100014         configure.in of textutils, fileutils, and sh-utils into this one
100015         (shared between those packages) file.
100016         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
100017         AC_STRUCT_ST_BLKSIZE.
100018
100019 1999-11-03  Jim Meyering  <meyering@ascend.com>
100020
100021         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
100022         of AC_CHECK_TYPE checks includes unistd.h.
100023         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
100024         Suggestion from Akim Demaille.
100025
100026 1999-10-30  Jim Meyering  <meyering@ascend.com>
100027
100028         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
100029         m4-quoted string.
100030         * m4/ls-mntd-fs.m4: Likewise.
100031         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
100032         * m4/jm-winsz1.m4: Likewise.
100033
100034         * m4/const.m4: Remove file, since the fix made it into the experimental
100035         version of autoconf.
100036         * m4/mktime.m4: Likewise.
100037
100038         * m4/check-type.m4: Remove file, now that the latest version of
100039         AC_CHECK_TYPE takes a third arg to specify additional #includes.
100040
100041         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
100042         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
100043         AC_CHECK_TYPE.
100044
100045 1999-10-04  Jim Meyering  <meyering@ascend.com>
100046
100047         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
100048
100049 1999-09-22  Paul Eggert  <eggert@twinsun.com>
100050
100051         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
100052         2.95.1 bug with HP-UX 10.20.
100053
100054 1999-09-17  Jim Meyering  <meyering@ascend.com>
100055
100056         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
100057         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
100058         due to missing strdup (against sh-utils-2.0).
100059
100060 1999-08-29  Jim Meyering  <meyering@ascend.com>
100061
100062         * m4/jm-macros.m4: Require jm_BISON.
100063         * m4/bison.m4: New file.
100064
100065 1999-08-17  Paul Eggert  <eggert@twinsun.com>
100066
100067         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
100068         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
100069
100070 1999-08-05  Jim Meyering  <meyering@ascend.com>
100071
100072         * m4/getline.m4: Rename test file from conftestdata to conftest.data
100073         to avoid conflicts with `conftest' on 8+3 filesystems.
100074         Suggestion from Eli Zaretskii.
100075
100076 1999-08-04  Jim Meyering  <meyering@ascend.com>
100077
100078         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
100079         fileutils and sh-utils (textutils's getline test was inadequate).
100080         (AM_FUNC_GETLINE): Run this test.
100081         (AC_CHECK_FUNCS): Check for getdelim.
100082         Reported by Bob Proulx.
100083
100084 1999-08-02  Jim Meyering  <meyering@ascend.com>
100085
100086         * m4/jm-macros.m4: Add a comment.
100087
100088 1999-08-01  Paul Eggert  <eggert@twinsun.com>
100089
100090         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
100091         <inttypes.h> defines strtoumax as a macro (and not as a
100092         function).
100093
100094 1999-08-01  Paul Eggert  <eggert@twinsun.com>
100095
100096         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
100097         that we can shift, multiply and divide unsigned long long
100098         values; Ultrix cc can't do it.
100099
100100 1999-08-01  Paul Eggert  <eggert@twinsun.com>
100101
100102         * m4/mktime.m4: New file, which is a preview of what should appear
100103         in the next public autoconf release.
100104
100105 1999-08-01  Paul Eggert  <eggert@twinsun.com>
100106
100107         * m4/lfs.m4: Remove this file.
100108         * m4/largefile.m4: New file.  It contains the old contents of
100109         lfs.m4, except that all names with prefix AC_LFS have been
100110         changed to use the prefix AC_SYS_LARGEFILE instead, to be
100111         compatible with future autoconf versions.  Also, some minor m4
100112         quoting problems have been fixed.
100113
100114 1999-08-01  Paul Eggert  <eggert@twinsun.com>
100115
100116         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
100117         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
100118         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
100119         and simplify the shell code.
100120
100121 1999-08-01  Jim Meyering  <meyering@ascend.com>
100122
100123         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
100124         m4.
100125
100126 1999-07-20  Jim Meyering  <meyering@ascend.com>
100127
100128         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
100129
100130 1999-07-15  Jim Meyering  <meyering@ascend.com>
100131
100132         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
100133
100134 1999-05-22  Jim Meyering  <meyering@ascend.com>
100135
100136         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
100137
100138 1999-05-20  Jim Meyering  <meyering@ascend.com>
100139
100140         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
100141         Add a colon after each `then' in case $4 is empty.
100142
100143 1999-05-16  Jim Meyering  <meyering@ascend.com>
100144
100145         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
100146
100147 1999-05-10  Jim Meyering  <meyering@ascend.com>
100148
100149         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
100150
100151         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
100152         AC_FUNC_MKTIME.
100153
100154 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
100155
100156         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
100157
100158 1999-05-04  Paul Eggert  <eggert@twinsun.com>
100159
100160         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
100161         not CPPFLAGS, so that linking works correctly in IRIX.
100162
100163 1999-04-30  Paul Eggert  <eggert@twinsun.com>
100164
100165         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
100166
100167 1999-04-20  Paul Eggert  <eggert@twinsun.com>
100168
100169         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
100170         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
100171         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
100172         jm_AC_TYPE_UNSIGNED_LONG_LONG.
100173         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
100174
100175         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
100176
100177 1999-04-20  Jim Meyering  <meyering@ascend.com>
100178
100179         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
100180         AC_REPLACE xstroull if necessary.  From Paul Eggert.
100181         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
100182
100183 1999-04-18  Jim Meyering  <meyering@ascend.com>
100184
100185         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
100186         * m4/jm-macros.m4: Use it.
100187
100188 1999-04-06  Jim Meyering  <meyering@ascend.com>
100189
100190         * m4/strftime.m4: Remove test for %f.
100191
100192 1999-03-29  Jim Meyering  <meyering@ascend.com>
100193
100194         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
100195         superset of the AC_TYPE_* checks in the textutils, fileutils,
100196         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
100197         AC_TYPE_PID_T.
100198
100199 1999-03-28  Jim Meyering  <meyering@ascend.com>
100200
100201         * m4/jm-macros.m4: Define GNU_PACKAGE here.
100202         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
100203         replaced e.g., in the *.sh files of the sh-utils.
100204
100205 1999-03-20  Jim Meyering  <meyering@ascend.com>
100206
100207         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
100208         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
100209         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
100210
100211 1999-03-19  Jim Meyering  <meyering@ascend.com>
100212
100213         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
100214
100215 1999-03-12  Jim Meyering  <meyering@ascend.com>
100216
100217         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
100218
100219 1999-03-07  Jim Meyering  <meyering@ascend.com>
100220
100221         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
100222         declared.
100223
100224 1999-02-17  Jim Meyering  <meyering@ascend.com>
100225
100226         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
100227         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
100228
100229 1999-02-07  Jim Meyering  <meyering@ascend.com>
100230
100231         * m4/group-member.m4: New file -- extracted from sh-utils'
100232         configure.in.
100233
100234         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
100235         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
100236
100237 1999-02-06  Jim Meyering  <meyering@ascend.com>
100238
100239         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
100240         * m4/fnmatch.m4: Likewise.
100241         * m4/getgroups.m4: Likewise.
100242         * m4/lstat.m4: Likewise.
100243         * m4/malloc.m4: Likewise.
100244         * m4/putenv.m4: Likewise.
100245         * m4/realloc.m4: Likewise.
100246         * m4/regex.m4: Likewise.
100247         * m4/stat.m4: Likewise.
100248         * m4/strftime.m4: Likewise.
100249         Suggestion from Alain Magloire.
100250
100251         * m4/chown.m4: Use `.$ac_objext', not `.o'.
100252         * m4/fnmatch.m4: Likewise.
100253         * m4/getgroups.m4: Likewise.
100254         * m4/getline.m4: Likewise.
100255         * m4/lstat.m4: Likewise.
100256         * m4/malloc.m4: Likewise.
100257         * m4/memcmp.m4: Likewise.
100258         * m4/putenv.m4: Likewise.
100259         * m4/realloc.m4: Likewise.
100260         * m4/regex.m4: Likewise.
100261         * m4/stat.m4: Likewise.
100262         * m4/strftime.m4: Likewise.
100263         Suggestion from Alain Magloire.
100264
100265         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
100266         an argument.
100267
100268         * m4/regex.m4: Add a run-time Test for proper operation of
100269         re_compile_pattern.
100270
100271 1999-01-31  Jim Meyering  <meyering@ascend.com>
100272
100273         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
100274
100275 1999-01-30  Jim Meyering  <meyering@ascend.com>
100276
100277         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
100278
100279         * m4/jm-mktime.m4: Make this a wrapper around the official
100280         AM_FUNC_MKTIME rather than my private copy, now that the official one
100281         is up to date.
100282         * m4/mktime.m4: Remove file.
100283
100284         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
100285         * m4/uptime.m4: Likewise.
100286         * m4/uintmax_t.m4: Likewise.
100287
100288 1999-01-28  Jim Meyering  <meyering@ascend.com>
100289
100290         * m4/jm-macros.m4: Use jm_AFS.
100291         * m4/afs.m4: New file (from fileutils' configure.in).
100292
100293         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
100294         * m4/chown.m4: Likewise.
100295         * m4/d-ino.m4: Likewise.
100296         * m4/d-type.m4: Likewise.
100297         * m4/fnmatch.m4: Likewise.
100298         * m4/getgroups.m4: Likewise.
100299         * m4/gettext.m4: Likewise.
100300         * m4/jm-mktime.m4: Likewise.
100301         * m4/jm-winsz2.m4: Likewise.
100302         * m4/lcmessage.m4: Likewise.
100303         * m4/ls-mntd-fs.m4: Likewise.
100304         * m4/malloc.m4: Likewise.
100305         * m4/memcmp.m4: Likewise.
100306         * m4/putenv.m4: Likewise.
100307         * m4/realloc.m4: Likewise.
100308         * m4/st_mtim.m4: Likewise.
100309         * m4/strftime.m4: Likewise.
100310
100311 1999-01-16  Jim Meyering  <meyering@ascend.com>
100312
100313         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
100314         (ARGMATCH_DIE_DECL): Define.
100315
100316 1999-01-12  Jim Meyering  <meyering@ascend.com>
100317
100318         * m4/Makefile.am.in: Rewrite to avoid using fmt.
100319         Reported by Lars Hecking.
100320
100321 1999-01-10  Jim Meyering  <meyering@ascend.com>
100322
100323         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
100324         gross kludge.
100325         * m4/inttypes_h.m4: Likewise.
100326         * m4/lstat.m4: Likewise.
100327         * m4/malloc.m4: Likewise.
100328         * m4/readdir.m4: Likewise.
100329         * m4/realloc.m4: Likewise.
100330         * m4/st_dm_mode.m4: Likewise.
100331         * m4/stat.m4: Likewise.
100332         * m4/utimbuf.m4: Likewise.
100333         * m4/utimes.m4: Likewise.
100334
100335         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
100336         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
100337         comments in config.h.in are meaningful.
100338
100339         * m4/jm-macros.m4: Require autoconf-2.13 here.
100340
100341         * m4/regex.m4: By default, don't use the included regex.c on systems
100342         with glibc 2.  Suggestion from Uli Drepper.
100343
100344 1999-01-02  Jim Meyering  <meyering@ascend.com>
100345
100346         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
100347
100348 1998-12-18  Jim Meyering  <meyering@ascend.com>
100349
100350         * m4/Makefile.am.in (Makefile.am): Simplify rule.
100351         Based on a suggestion from Lars Hecking.
100352
100353 1998-11-16  Paul Eggert  <eggert@twinsun.com>
100354
100355         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
100356
100357 1998-11-16  Jim Meyering  <meyering@ascend.com>
100358
100359         * m4/lfs.m4: Double-quote the `uname...` expression.
100360
100361 1998-11-14  Jim Meyering  <meyering@ascend.com>
100362
100363         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
100364         * m4/stat.m4: Likewise.
100365
100366 1998-11-03  Jim Meyering  <meyering@ascend.com>
100367
100368         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
100369         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
100370
100371 1998-10-18  Jim Meyering  <meyering@ascend.com>
100372
100373         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
100374
100375 1998-10-17  Jim Meyering  <meyering@ascend.com>
100376
100377         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
100378         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
100379         calls for those previously hard-coded headers.  Instead, take a new
100380         parameter.
100381         (jm_CHECK_DECLARATIONS): Reflect interface change.
100382         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
100383         (jm_CHECK_DECL_LOCALTIME_R): New macro.
100384
100385         * m4/mktime.m4: Test for spring-forward gap before long-running test.
100386
100387 1998-10-14  Jim Meyering  <meyering@ascend.com>
100388
100389         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
100390         instead of "TZ=America/Vancouver".  From Paul Eggert.
100391
100392 1998-10-11  Jim Meyering  <meyering@ascend.com>
100393
100394         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
100395         This adds a test for a recently added compatibility fix for mktime.c.
100396         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
100397
100398 1998-09-27  Jim Meyering  <meyering@ascend.com>
100399
100400         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
100401
100402         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
100403         ../configure.in, including a change from Gordon Matzigkeit to allow
100404         cross-compiling for the Hurd.
100405
100406         * m4/glibc.m4: New file/macro to test for the GNU C Library
100407         versions 1 and 2.  From Gordon Matzigkeit.
100408         Indent.
100409
100410 1998-09-21  Jim Meyering  <meyering@ascend.com>
100411
100412         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
100413
100414 1998-08-18  Paul Eggert  <eggert@twinsun.com>
100415
100416         Port nanosecond-resolution times to UnixWare 2.1.2 and
100417         pedantic Solaris 2.6.
100418
100419         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
100420         AC_STRUCT_ST_MTIM.
100421         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
100422         Generate name of ns member, instead of just 1 or undef.
100423         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
100424
100425 1998-08-15  Jim Meyering  <meyering@ascend.com>
100426
100427         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
100428         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
100429         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
100430         instead of jm_TYPE_SSIZE_T.
100431
100432 1998-08-12  Jim Meyering  <meyering@ascend.com>
100433
100434         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
100435
100436 1998-08-02  Jim Meyering  <meyering@ascend.com>
100437
100438         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
100439         in acconfig.h manually.
100440
100441 1998-07-31  Paul Eggert  <eggert@twinsun.com>
100442
100443         * m4/st_mtim.m4: New file.
100444
100445 1998-07-28  Jim Meyering  <meyering@ascend.com>
100446
100447         * m4/utimes.m4: Undef stat.
100448
100449 1998-07-25  Jim Meyering  <meyering@ascend.com>
100450
100451         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
100452         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
100453
100454 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
100455
100456         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
100457         uid and gid actually remain unchanged.
100458
100459 1998-07-07  Jim Meyering  <meyering@ascend.com>
100460
100461         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
100462
100463 1998-07-04  Jim Meyering  <meyering@ascend.com>
100464
100465         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
100466         to prove that this macro can be used in packages without regex.c.
100467
100468 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
100469
100470         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
100471         is to be used.
100472
100473 1998-07-03  Jim Meyering  <meyering@ascend.com>
100474
100475         * m4/gettext.m4: Add -lintl if it's found to be necessary.
100476
100477         * m4/gettext.m4: New file -- from gettext-0.10.35.
100478         * m4/lcmessage.m4: Likewise.
100479         * m4/progtest.m4: Likewise.
100480
100481         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
100482         * m4/jm-macros.m4: Require the new macro.
100483
100484 1998-06-29  Jim Meyering  <meyering@ascend.com>
100485
100486         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
100487         for the definition of NGROUPS (used in a system header included
100488         by sys/mount.h).
100489
100490 1998-06-28  Jim Meyering  <meyering@ascend.com>
100491
100492         * m4/ls-mntd-fs.m4: New file.
100493         * m4/fstypename.m4: New file.
100494
100495         * m4/jm-macros.m4: Require the new macro.
100496         * m4/jm-glibc-io.m4: New file.
100497
100498 1998-05-19  Jim Meyering  <meyering@ascend.com>
100499
100500         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
100501         * m4/lchown.m4: New file.
100502
100503         * m4/Makefile.am.in: New file.
100504         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
100505
100506 1998-05-14  Jim Meyering  <meyering@ascend.com>
100507
100508         * m4/Makefile.am (EXTRA_DIST): Add them.
100509         * m4/jm-macros.m4: New file.
100510         * m4/utimbuf.m4: New file.
100511
100512 1998-05-12  Jim Meyering  <meyering@ascend.com>
100513
100514         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
100515
100516 1998-05-11  Jim Meyering  <meyering@ascend.com>
100517
100518         * m4/isc-posix.m4: New file.
100519
100520 1998-05-10  Jim Meyering  <meyering@ascend.com>
100521
100522         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
100523
100524 1998-05-09  Jim Meyering  <meyering@ascend.com>
100525
100526         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
100527         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
100528         with automake.
100529
100530         * m4/ssize_t.m4: New file.
100531         * m4/mktime.m4: Remove file -- the new automake has this now.
100532
100533 1998-04-26  Jim Meyering  <meyering@ascend.com>
100534
100535         * m4/assert.m4: New file.
100536         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
100537
100538 1998-04-05  Jim Meyering  <meyering@ascend.com>
100539
100540         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
100541         (jm_PREREQ): Use it here.
100542
100543 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
100544
100545         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
100546         in acconfig.h.
100547
100548 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
100549
100550         * m4/prereq.m4: New file.
100551         * m4/error.m4: New file.
100552         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
100553
100554 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
100555
100556         * m4/getline.m4: Don't set am_cv_func_working_getline before the
100557         cache-check for the same variable -- that defeated the purpose of
100558         the test; the test program was never run.  This was a problem only
100559         on systems with losing getline functions -- HP-UX 10.20 is one.
100560         Reported by Bjorn Helgaas.
100561
100562 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
100563
100564         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
100565
100566 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
100567
100568         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
100569
100570         * m4/const.m4: New file.  Use an initializer in this declaration
100571         typedef int charset[2]; const charset x;
100572         Reported by Bob Glickstein.
100573
100574 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
100575
100576         * m4/chown.m4: Fix reversed types on -1 args to chown.
100577         From Kaveh Ghazi.
100578
100579 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
100580
100581         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
100582         Add lseek and memchr.
100583
100584         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
100585         T.E.Dickey <dickey@clark.net> said that some older preprocessors
100586         have a 20-character limit on names.
100587
100588 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
100589
100590         * m4/inttypes_h.m4: New file.
100591         * m4/uintmax_t.m4: New file.
100592         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
100593
100594
100595         -----
100596
100597         Local Variables:
100598         coding: utf-8
100599         End:
100600
100601         Copyright (C) 1997-2013 Free Software Foundation, Inc.
100602
100603         Copying and distribution of this file, with or without
100604         modification, are permitted provided the copyright notice
100605         and this notice are preserved.